1. PfSense: 3-leg firewall
Contingut
Enunciat
El nostre firewall serà un PfSense amb 3 interfícies:
- WAN: connectada via xarxa pont (172.16.19.0/24, que serà automàtica DHCP)
- LAN: interna (192.168.1.0/24)
- DMZ: interna per la DMZ (192.168.0.0/24)
L'esquema de xarxa, de manera gràfica, serà semblant a aquest:
Situació inicial
Partirem de la base que els 4 hosts seran 3 màquines virtuals i el host Fedora:
- Fedora: serà el host que estarà a la zona WAN.
- PfSense VM: serà la màquina virtual que tindrà 3 interfícies virtuals:
- adaptador-pont: corresponent a la zona WAN
- xarxa interna m11-lan: corresponent a la zona LAN
- xarxa interna m11-dmz: corresponent a la zona DMZ
- CentOS VM: tindrà una interfície de xarxa interna m11-dmz. Hi instal·larem serveis web i SSH per a comprovar la correcta aplicació de les regles.
- Ubuntu VM: tindrà una interfície de xarxa interna m11-lan. Serà la màquina des d'on configurarem el PfSense via web.
Procediment
Configuració interfícies PfSense
Engegarem les 3 màquines virtuals: pfSense, Ubuntu Desktop i CentOS. Per defecte, pfSense accepta configuració via web des de la interfície LAN; per tant, la configuració des de la web es faran des de l'Ubuntu desktop. El Firewall també configura per defecte les interfícies LAN i WAN de manera automàtica, mentre que la 3a interfície l'hem de configurar nosaltres manualment després d'haver fet la instal·lació utilitzant la consola:
Triarem l'opció 1 per a configurar les interfícies:
Escollirem les interfícies corresponents a cada zona, verificarem els canvis i acceptarem
Ara tenim la interfície OPT1 engegada però sense configurar.
Escollirem la opció 2 per a configurar-ne la IP d'acord amb l'enunciat
Una vegada fet, se'ns mostrarà un missatge informatiu amb la nova adreça assignada
En aquest punt tenim les targetes de xarxa del pfSense configurades.
Configuració de les regles del tallafoc
La gestió del Firewall es farà des de la WebGUI, accessible des de la zona LAN; on nosaltres hi tenim l'Ubuntu Desktop virtual
Podem començar canviant el nom de la interfície OPT1 per un nom més adequat per a identificar-lo. Farem clic al seu nom, del panell de la dreta:
I dins la configuració, editarem la Description per dir-li que la volem anomenar DMZ
Una vegada fet aquest canvi podem passar a crear les regles per a la zona LAN. Ho farem des de Firewall →Rules al panell superior
Zona LAN
Escollirem la interfície que volem modificar les regles; en aquest cas la LAN. Veurem com ja hi ha unes regles predefinides.
Si ens fixem amb les regles, veiem com les predefinides ja permeten qualsevol comunicació que s'origini a la LAN cap a qualsevol xarxa destí. Aquest comportament el podem comprovar si fem un ping al servidor de la DMZ (192.168.0.2) i fem un ping a qualsevol altra adreça d'Internet (e.g. 185.107.107.253):
Zona WAN
En aquesta zona haurem de prohibir les connexions WAN →LAN però deixar passar les comunicacions entre WAN →DMZ; de manera que la DMZ sigui accessible des d'Internet mentre que la xarxa interna quedi protegida.
Afegirem doncs, dues regles:
La llista de regles quedarà així:
Prova ping WAN →DMZ
Haurem d'afegir primer una ruta estàtica al host Fedora per tal que envïi cap a la interfície WAN del PfSense els paquets destinats a la xarxa 192.168.1.0/24 i 192.168.0.0/24 (LAN i DMZ del PfSense, respectivament)
ip route add 192.168.1.0/24 via 192.168.7.53 ip route add 192.168.0.0/24 via 192.168.7.53
Aleshores els pings entre Fedora i CentOS de la DMZ seran possibles:
[guillem@guillemasix29 ~]$ ping 192.168.0.2 -c 3 PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data. 64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=0.208 ms 64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.432 ms 64 bytes from 192.168.0.2: icmp_seq=3 ttl=64 time=0.476 ms --- 192.168.0.2 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 86ms
Prova ping WAN →LAN
Ping directe entre Fedora i Ubuntu Desktop de la LAN es bloquejaran:
[guillem@guillemasix29 ~]$ ping 192.168.1.2 -c 3 PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data. --- 192.168.1.2 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 31ms
Zona DMZ
En aquesta zona hem de permetre la comunicació cap a l'exterior però bloquejar l'accés a la LAN. Per a implementar-ho, podem fer-ho de dues maneres diferents:
- Creant dues regles: una per a bloquejar l'accés DMZ →LAN i una per a permetre l'accés DMZ →any (en aquest ordre)
- Aprofitant el paràmetre Gateway que PfSense ens ofereix: de manera que permetrem el trànsit de la DMZ cap a la Gateway de la WAN; de manera que el trànsit DMZ →LAN no es contempli en cap regla i, per tant, es bloquegi.
En ambdós casos aconseguim el mateix efecte; encara que sigui més senzilla la segona opció (regla única), potser queda més explícita la prohibició DMZ →LAN si implementem la primera opció.