Diferència entre revisions de la pàgina «ASIX/M11/UF2/PT1»
m (Guillem ha mogut M11/UF2/PT1 a ASIX/M11/UF2/PT1 sense deixar una redirecció: Crear subnivell ASIX) |
|||
(Hi ha 34 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 8: | Línia 8: | ||
L'esquema de xarxa, de manera gràfica, serà semblant a aquest: | L'esquema de xarxa, de manera gràfica, serà semblant a aquest: | ||
{{imatge|M11UF2PT11.jpg}} | {{imatge|M11UF2PT11.jpg}} | ||
+ | |||
+ | ==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== | ==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: | |
− | + | {{imatge|M11UF2PT12.png}} | |
− | + | ||
− | : | + | Triarem l'opció 1 per a configurar les interfícies: |
− | : | + | {{imatge|M11UF2PT13.png}} |
− | *''' | + | |
− | *''' | + | Escollirem les interfícies corresponents a cada zona, verificarem els canvis i acceptarem |
+ | {{imatge|M11UF2PT14.png}} | ||
+ | |||
+ | Ara tenim la interfície ''OPT1'' engegada però sense configurar. | ||
+ | {{imatge|M11UF2PT15.png}} | ||
+ | |||
+ | Escollirem la opció 2 per a configurar-ne la IP d'acord amb l'enunciat | ||
+ | {{imatge|M11UF2PT16.png}} | ||
+ | |||
+ | Una vegada fet, se'ns mostrarà un missatge informatiu amb la nova adreça assignada | ||
+ | {{imatge|M11UF2PT17.png}} | ||
+ | |||
+ | En aquest punt tenim les targetes de xarxa del pfSense configurades. | ||
+ | {{imatge|M11UF2PT18.png}} | ||
+ | |||
+ | ===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 | ||
+ | {{imatge|M11UF2PT19.png}} | ||
+ | |||
+ | 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: | ||
+ | {{imatge|M11UF2PT110.png}} | ||
+ | |||
+ | I dins la configuració, editarem la ''Description'' per dir-li que la volem anomenar '''DMZ''' | ||
+ | {{imatge|M11UF2PT111.png}} | ||
+ | |||
+ | Una vegada fet aquest canvi podem passar a crear les regles per a la zona LAN. Ho farem des de ''Firewall''{{fletxadreta}}''Rules'' al panell superior | ||
+ | {{imatge|M11UF2PT112.png}} | ||
+ | |||
+ | ====Zona LAN==== | ||
+ | Escollirem la interfície que volem modificar les regles; en aquest cas la LAN. Veurem com ja hi ha unes regles predefinides. | ||
+ | {{imatge|M11UF2PT113.png}} | ||
+ | |||
+ | 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): | ||
+ | {{imatge|M11UF2PT114.png}} | ||
+ | |||
+ | ====Zona WAN==== | ||
+ | En aquesta zona haurem de prohibir les connexions ''WAN''{{fletxadreta}}''LAN'' però deixar passar les comunicacions entre ''WAN''{{fletxadreta}}''DMZ''; de manera que la DMZ sigui accessible des d'Internet mentre que la xarxa interna quedi protegida. | ||
+ | |||
+ | Afegirem doncs, dues regles: | ||
+ | {{imatge|M11UF2PT116.png||thumb|La primera per a '''permetre''' el trànsit amb origen qualsevol adreça amb destí xarxa DMZ com a conjunt}} | ||
+ | {{imatge|M11UF2PT115.png||thumb|La segona '''prohibirà''' el trànsit entre qualsevol adreça i la LAN}} | ||
+ | |||
+ | La llista de regles quedarà així: | ||
+ | {{imatge|M11UF2PT117.png}} | ||
+ | |||
+ | =====Prova ping WAN{{fletxadreta}}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) | ||
+ | <source> | ||
+ | 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 | ||
+ | </source> | ||
+ | |||
+ | Aleshores els pings entre Fedora i CentOS de la DMZ seran possibles: | ||
+ | <source> | ||
+ | [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 | ||
+ | </source> | ||
+ | |||
+ | =====Prova ping WAN{{fletxadreta}}LAN===== | ||
+ | Ping directe entre Fedora i Ubuntu Desktop de la LAN es bloquejaran: | ||
+ | <source> | ||
+ | [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 | ||
+ | </source> | ||
+ | |||
+ | ====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{{fletxadreta}}LAN i una per a permetre l'accés DMZ{{fletxadreta}}''any'' (en aquest ordre) | ||
+ | {{imatge|M11UF2PT118.png|Resultat final de les regles a la zona DMZ per a la primera solució}} | ||
+ | |||
+ | *'''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{{fletxadreta}}LAN no es contempli en cap regla i, per tant, es bloquegi. | ||
+ | {{imatge|M11UF2PT119.png|Resultat final de les regles a la zona DMZ per a la segona solució}} | ||
+ | |||
+ | 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{{fletxadreta}}LAN si implementem la primera opció i no cal accedir a opcions avançades per a definir la passarel·la cap on permetrem l'accés. | ||
+ | |||
+ | =====Prova ping===== | ||
+ | *'''Solució 1''' | ||
+ | {{imatge|M11UF2PT120.png||thumb|'''Permès''' des de CentOS cap a 185.107.107.253 mentre que es ''bloqueja'' quan es va cap a Ubuntu Desktop (LAN)}} | ||
+ | |||
+ | *'''Solució 2''' | ||
+ | Si ens hi fixem, veiem una diferència amb l'altra opció: el paquet ICMP destinat a la LAN no queda bloquejat pel firewall sinó que acaba morint per TTL ja que s'envia a través de la gateway de la WAN i, per tant, el host on s'envia aquest paquet no es trobarà mai perquè es tracta d'una adreça privada. | ||
+ | {{imatge|M11UF2PT121.png||thumb|Podem veure com canvia el comportament del paquet ICMP}} | ||
+ | |||
+ | ==Prova de funcionament== | ||
+ | Per a fer un test de funcionament més extens instal·larem un servidor web al CentOS de la DMZ i a l'Ubuntu Desktop. | ||
+ | |||
+ | ===Accés al web de la DMZ des de WAN=== | ||
+ | {{imatge|M11UF2PT122.png}} | ||
+ | |||
+ | ===Accés al web de la DMZ des de LAN=== | ||
+ | {{imatge|M11UF2PT122.png}} | ||
+ | |||
+ | ===Accés al web de la LAN des de WAN=== | ||
+ | {{imatge|M11UF2PT123.png||thumb|Al fallar per TTL del paquet, queda molt temps intentant connectar fins que el navegador fa saltar un ''timeout'' perquè no rep resposta}} | ||
+ | |||
+ | ===Accés al web de la LAN des de DMZ=== | ||
+ | {{imatge|M11UF2PT124.png||thumb|Utilitzo <code>curl</code> per provar. Com és d'esperar la xarxa 192.168.1.0/24 no es troba a través de la WAN Gateway i la comanda falla}} |
Revisió de 11:31, 15 abr 2020
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ó i no cal accedir a opcions avançades per a definir la passarel·la cap on permetrem l'accés.
Prova ping
- Solució 1
- Solució 2
Si ens hi fixem, veiem una diferència amb l'altra opció: el paquet ICMP destinat a la LAN no queda bloquejat pel firewall sinó que acaba morint per TTL ja que s'envia a través de la gateway de la WAN i, per tant, el host on s'envia aquest paquet no es trobarà mai perquè es tracta d'una adreça privada.
Prova de funcionament
Per a fer un test de funcionament més extens instal·larem un servidor web al CentOS de la DMZ i a l'Ubuntu Desktop.
Accés al web de la DMZ des de WAN
Accés al web de la DMZ des de LAN
Accés al web de la LAN des de WAN
Accés al web de la LAN des de DMZ