Hem configurat un firewall perimetral a la router_2 mitjançant una política de Default DROP, garantint que només el trànsit autoritzat pugui circular.
Per fer-ho, hem definit regles específiques per protegir l'accés SSH al router i hem habilitat el NAT i el Forwarding per donar serveis segurs (DNS, Web, FTP, LDAP i NFS) a tota la xarxa interna de servidors.
Nota: Tota aquesta configuració s'ha fet seguint tant la rúbrica del Repte com el Gem proporcionat pel professorat.
Escenari de Xarxa
Interfície WAN (Xarxa de la Classe):
enp0s8Interfície LAN (Xarxa Interna):
enp0s9Objectiu: Blindar el router i permetre només els serveis essencials per a la resta de servidors (DNS, Web, FTP, LDAP i NFS).
Neteja i Polítiques per Defecte
El primer pas és buidar qualsevol regla prèvia i establir el “cadenat” (DROP). Si un paquet no està a la meva llista d’autoritzats, el firewall el descarta.
Obrirem la terminal a la nostra router i introduirem:
sudo iptables -F && sudo iptables -t nat -F
I netejarem polítiques restrictives
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
Protecció del Router (Chain INPUT)
He configurat aquestes regles per poder gestionar la màquina sense perdre la connexió i permetre que el propi router rebi dades d’Internet.
SSH (Port 22): Permet l’accés a la terminal.
Control d’Estats: Permet que el trànsit de connexions ja establertes pugui tornar.
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Configuració del Routing i NAT
Perquè les màquines internes tinguin sortida a l’exterior, he activat el reenviament de paquets i he emmascarat la IP de la LAN amb l’IP de la WAN.
sudo sysctl -w net.ipv4.ip_forward=1
Activar forwarding al nucli
sudo iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE
Configurar el NAT (Masquerade)
Permisos de Pas (Chain FORWARD)
Perquè les màquines internes tinguin sortida a l’exterior, he activat el reenviament de paquets i he emmascarat la IP de la LAN amb l’IP de la WAN.
Aquesta és la part més important, on he definit exactament què poden fer els servidors interns. L’ordre és prioritari per a l’eficiència.
Regla Mestra: Trànsit Establert
Aquesta regla va la primera perquè gestiona el 99% del trànsit (les dades que ja han estat autoritzades a sortir i ara tornen).
sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Serveis Autoritzats
He obert els ports específics per a cada servei de la xarxa:
DNS (53 UDP): Perquè puguin resoldre noms de domini (google.com).
Web (80/443 TCP): Per a actualitzacions i navegació.
FTP (21 TCP): Per al servidor de fitxers.
LDAP (389 TCP): Per a l’autenticació d’usuaris.
NFS i RPC (2049/111 TCP/UDP): Per al muntatge de directoris compartits.
sudo iptables -A FORWARD -p udp --dport 53 -j ACCEPT
sudo iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
sudo iptables -A FORWARD -p tcp --dport 443 -j ACCEPT
sudo iptables -A FORWARD -p tcp --dport 21 -j ACCEPT
sudo iptables -A FORWARD -p tcp --dport 389 -j ACCEPT
sudo iptables -A FORWARD -p tcp --dport 2049 -j ACCEPT
sudo iptables -A FORWARD -p tcp --dport 111 -j ACCEPT
sudo iptables -A FORWARD -p udp --dport 111 -j ACCEPT
sudo iptables -A FORWARD -p udp --dport 2049 -j ACCEPT
Resultat Final i Validació
Després de realitzar una neteja de regles redundants i duplicades, la configuració ha quedat optimitzada. Aquí tens la prova de funcionament, on podem veure que efectivament el trafic pasa per les regles del firewall.
sudo iptables -L -n -v
Persistència
Finalment, he desat la configuració perquè es mantingui després d’un reinici:
sudo apt install iptables-persistent
sudo netfilter-persistent save