Eines de seguretat

El Firewall (iptables)
Justificació

Hem implementat el tallafocs iptables per controlar el tràfic de xarxa a nivell de capa 3 (Xarxa) i capa 4 (Transport). L’objectiu és aplicar polítiques de seguretat bàsiques per filtrar paquets no desitjats basant-nos en l’origen, destí o protocol, protegint així els serveis del servidor contra accessos des de clients no autoritzats.

Per demostrar el funcionament del firewall, s’ha aplicat una regla estricte per bloquejar el protocol ICMP (ping) provinent exclusivament de la IP del client.

sudo iptables -A INPUT -p icmp -s [IP_DEL_TEU_CLIENT] -j DROP

Abans de la regla

Despres de la regla:

Com es pot veure al fer ping en el client, es queda congelat

#
sudo iptables -L -v

Per fer que el client torni a tindre ping, en el servidor poses exactament aquest comanda y es torna un altre vegada el ping

sudo iptables -D INPUT -p icmp -s 10.10.2.8 -j DROP
Justificació Tècnica

Hem implementat Fail2ban per protegir l’accés per SSH al servidor central de la infraestructura contra atacs de força bruta.

Aquesta eina monitoritza de forma constant els registres interns del sistema (logs) en temps real. En el moment en què detecta un patró de comportament sospitós (com ara múltiples intents d’inici de sessió fallits en un curt període de temps des d’una mateixa adreça IP), actua de manera automatitzada interactuant amb el cortafuegos (iptables) per aplicar una regla de bloqueig dinàmic (REJECT o DROP) sobre la IP atacant. Amb aquesta configuració, mitiguem el risc que un usuari malintencionat aconsegueixi desxifrar credencials mitjançant atacs de diccionari o força bruta.

Instal·lació del servei

S’ha procedit a actualitzar els repositoris de paquets de la distribució i a instal·lar el paquet principal de l’eina juntament amb la llibreria de Python necessària al servidor:

sudo apt update && sudo apt install fail2ban python3-systemd -y

Per mantenir les bones pràctiques de l’administració de sistemes i evitar modificar el fitxer base original (jail.conf), s’ha creat una còpia de treball personalitzada anomenada jail.local

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

S’ha editat el fitxer /etc/fail2ban/jail.local per activar i personalitzar els paràmetres de bloqueig específics del servei Secure Shell ([sshd]). El bloc s’ha configurat eliminant línies redundants i definint les següents directives

Una vegada estiguis dins del archiu si fas ctrl+w y poses [sshd], t’envia just on tens que posar el bloc de configuració
(te que se un [sshd] que no tingui #)

#Per editar el fitxer
sudo nano /etc/fail2ban/jail.local

#lo que tens que posar abaix de [sshd]

enabled = true
backend = systemd
maxretry = 3
bantime = 600
port    = ssh
logpath = %(sshd_log)s

S’apliquen els canvis reiniciant el dimoni i comprovant que el seu estat passa a estar actiu sense errors de sintaxi

sudo systemctl restart fail2ban
sudo systemctl status fail2ban
Estat del servei actiu al Servidor

Vaig fer que el client fes un “atac”, intentnt conectanse per ssh, pero a la que falla 3 vegades s’el bloqueja  no pot tornar a fet un altre intent

Com es veu abaix li posa “Connection refused”

Es comprova mitjançant l’eina de control del servidor que la IP del client ha estat detectada automàticament i introduïda a la llista de restriccions de la presó de SSH

sudo fail2ban-client status sshd

Leave a Comment