Video 22 - DMZ con Router/firewall e ACL
Zona demilitarizzata con router di frontiera: Inside, Outside e DMZ, ACL estese, NAT e port-forwarding per server web pubblico protetto.
2. Di cosa parla questo video
In questo tutorial ti guiderò nella realizzazione di una rete LAN con DMZ (zona demilitarizzata). Le regole di controllo accessi saranno configurate nel router di frontiera per isolare Inside, DMZ e Outside garantendo sicurezza perimetrale e pubblicazione di servizi pubblici.
Implementiamo il modello a 3 zone: Inside LAN 192.168.1.0/26 rete aziendale privata, DMZ 192.168.2.0/26 con server web 192.168.2.10 accessibile da Internet, Outside 203.0.113.0/30 simulazione Internet. Il router di frontiera R1 fa da firewall con ACL Estese 100-101 (Outside→DMZ solo 80/443, Inside→DMZ full, DMZ→Inside deny), NAT statico/port-forwarding ip nat inside source static tcp 192.168.2.10 80 203.0.113.2 80 per pubblicare web, PAT overload per Inside verso Outside. Test con browser da Outside su 203.0.113.2:80 → DMZ, e ping Inside→DMZ OK ma DMZ→Inside KO.
La DMZ è la prima vera architettura di sicurezza che vediamo. Nel video al minuto 14 mostro l'errore che compromette tutto: mettete il server web in Inside invece che in DMZ e poi aprite ACL da Outside verso Inside. Così esponete tutta la LAN aziendale. Il server pubblico deve stare in DMZ isolata con ACL deny verso Inside. Al minuto 22 mostro il port-forwarding: senza ip nat inside source static tcp, da Outside non raggiungete mai 192.168.2.10 perché è privato. E al minuto 27 mostro il classico: ACL Outside→DMZ in senza permit established di ritorno, così il SYN-ACK non torna e la pagina non carica.
3. Obiettivi di apprendimento
- ✅ Realizzare una rete LAN con DMZ e accessi controllati
- ✅ Simulare la rete in Packet Tracer con 3 zone di sicurezza
- ✅ Implementare le ACL Estese nel Router di frontiera con NAT/PAT
Alla fine configurerai router a 3 interfacce (G0/0 Inside, G0/1 DMZ, S0/0/0 Outside), ACL estese per isolare DMZ (Outside→DMZ solo 80/443, Inside→DMZ permit, DMZ→Inside deny), NAT statico e PAT overload, ip nat inside/outside, verificherai con show access-lists, show ip nat translations, browser da Outside verso IP pubblico che natti in DMZ, e comprenderai il principio di zona demilitarizzata.
4. Perché la DMZ - Inside, Outside, DMZ
Senza DMZ, server pubblico in LAN interna = rischio:
| Senza DMZ (Video 21) | Con DMZ Router (questo video) |
|---|---|
| Server web in Inside 192.168.1.10 | Server web in DMZ 192.168.2.10 isolato |
| ACL da Outside verso Inside → buco sicurezza | ACL da Outside verso DMZ solo 80/443 → sicuro |
| Compromesso server = compromessa LAN | Compromesso DMZ ≠ compromessa Inside (deny DMZ→Inside) |
| Nessun NAT statico necessario | NAT statico + port-forwarding per pubblicare servizio |
| 1 ACL per filtrare | 3 zone, 3 ACL: Inside, DMZ, Outside + NAT/PAT |
| Modello flat | Modello perimetrale enterprise |
Se vi chiedono "Cos'è la DMZ e come la realizzi su router?", rispondete: "DMZ è zona demilitarizzata tra Inside privata e Outside Internet per ospitare server pubblici. Su router di frontiera creo 3 interfacce: Inside 192.168.1.0/26, DMZ 192.168.2.0/26, Outside 203.0.113.0/30. Configuro ACL estese: Outside→DMZ permit 80/443 only, Inside→DMZ permit, DMZ→Inside deny, Inside→Outside PAT. NAT statico ip nat inside source static tcp DMZ 80 public 80 per pubblicare web. Così server compromesso non accede a Inside". È architettura da security base.
5. Concetti chiave - 3 zone, ACL estese, NAT, PAT, port-forwarding
Cuore del video, minuto 8-22:
6. Lab in Packet Tracer - LAN con DMZ su router
Nel video (minuto 4-32):
- Topologia: R1 frontiera: G0/0 192.168.1.1/26 Inside LAN1 + PC 192.168.1.2, G0/1 192.168.2.1/26 DMZ + server web 192.168.2.10, S0/0/0 203.0.113.2/30 Outside verso R2 ISP 203.0.113.1/30 + PC Outside 203.0.113.10 simulazione Internet
- NAT/PAT: ip nat inside su G0/0 e G0/1, ip nat outside su S0/0/0, access-list 1 permit 192.168.1.0 0.0.0.63 + ip nat inside source list 1 interface s0/0/0 overload (PAT Inside→Outside), ip nat inside source static tcp 192.168.2.10 80 203.0.113.2 80 + 443 (pubblicazione web DMZ)
- ACL Outside→DMZ (100): permit tcp any host 192.168.2.10 eq 80, permit tcp any host 192.168.2.10 eq 443, deny ip any any → applica ip access-group 100 in su S0/0/0
- ACL DMZ→Inside (101): deny ip 192.168.2.0 0.0.0.63 192.168.1.0 0.0.0.63 → permit ip 192.168.2.0 0.0.0.63 any (DMZ può uscire) → applica ip access-group 101 in su G0/1
- ACL Inside→DMZ (102): permit ip 192.168.1.0 0.0.0.63 host 192.168.2.10 (gestione), applica out su G0/1 o in su G0/0
- Verifica: PC Outside browser http://203.0.113.2 → pagina web DMZ OK (NAT), ping Outside→DMZ 80 OK ma 22 KO, PC Inside ping DMZ OK, browser DMZ OK, PC DMZ ping Inside KO (isolamento), show ip nat translations mostra static e PAT, show access-lists hit
3 interfacce: Inside inside, DMZ inside, Outside outside. PAT per Inside: list 1 + overload su Outside. Statico per DMZ: static tcp DMZ 80 public 80. ACL: Outside→DMZ permit 80/443 only log, DMZ→Inside deny LAN, Inside→DMZ permit. Test: Outside browser public IP → DMZ OK, Outside ping DMZ KO (se deny icmp), Inside ping DMZ OK, DMZ ping Inside KO = isolamento riuscito. Nel video al minuto 29 mostro translations e hit count.
7. Errori comuni da evitare
- Server pubblico in Inside: metti web server 192.168.1.10 in Inside e apri ACL Outside→Inside eq 80 → buco sicurezza, tutta LAN esposta. Server pubblico sempre in DMZ 192.168.2.10.
- NAT statico dimenticato: ACL Outside→DMZ permit ma nessun ip nat static → Outside non raggiunge IP privato 192.168.2.10, timeout. Serve port-forwarding static tcp.
- ip nat inside/outside invertito: metti ip nat outside su G0/1 DMZ → NAT non traduce, translations vuote. Inside su G0/0 e G0/1, Outside su S0/0/0.
- ACL DMZ→Inside mancante: lasci DMZ→Inside permit any → se server DMZ compromesso, attacca Inside. Sempre deny DMZ→Inside LAN.
- PAT senza overload: ip nat inside source list 1 interface s0/0/0 senza overload → solo un host Inside alla volta naviga. Sempre overload per PAT.
- ACL ordine errato: deny ip any any prima di permit 80 → web bloccato, Outside non apre pagina. Permit 80/443 in alto, deny any alla fine con log.
- Dimenticare DNS per DMZ: permetti 80 ma non 53 → Outside browser con nome fallisce se DNS in DMZ. Aggiungi permit udp eq 53 se DNS in DMZ.
DMZ non isolata da Inside e NAT statico su Inside invece che DMZ. Sintomo: PC Outside accede a server Inside 192.168.1.10, oppure DMZ pinga Inside e ruba dati, show ip nat translations mostra Inside local invece di DMZ. Soluzione: sposta server in DMZ 192.168.2.10, ACL DMZ_TO_INSIDE deny Inside LAN, NAT static solo per DMZ, verifica con ping DMZ→Inside KO (isolamento) e Outside browser su public IP OK. Nel video al minuto 27 mostro compromissione simulata.
8. Approfondimento: DMZ router vs ASA 5506
Dopo router, prossimo video ASA firewall dedicato:
| DMZ su Router (questo video) | DMZ su ASA 5506 (prossimo) |
|---|---|
| ACL stateless + NAT/PAT manuale | Stateful firewall + inspection, security level |
| 3 interfacce G0/0, G0/1, S0/0/0 | Interfacce Inside, DMZ, Outside con security-level 100,50,0 |
| Costo basso, didattico CCNA | Enterprise, throughput firewall, VPN integrata |
| ip nat inside source static tcp | object NAT + access-list + nat (Inside,DMZ) |
| No state, ritorno manuale | Stateful: ritorno automatico se permesso in uscita |
| OK lab | Produzione, DMZ reale |
Prossimo video: DMZ con firewall ASA 5506, ACL, NAT/PAT e security level.
📚 Compito per casa
Crea rete: R1 frontiera G0/0 192.168.1.1/26 Inside LAN PC 192.168.1.2, G0/1 192.168.2.1/26 DMZ server web 192.168.2.10, S0/0/0 203.0.113.2/30 Outside verso ISP 203.0.113.1/30 PC Outside 203.0.113.10. Configura ip nat inside su G0/0 e G0/1, ip nat outside su S0/0/0, PAT overload per Inside list 1, NAT static tcp 192.168.2.10 80 → 203.0.113.2 80 e 443. ACL OUTSIDE_TO_DMZ permit tcp any host 192.168.2.10 eq 80/443 deny any log su S0/0/0 in, ACL DMZ_TO_INSIDE deny 192.168.2.0 0.0.0.63 to 192.168.1.0 0.0.0.63 su G0/1 in. Verifica show ip nat translations, show access-lists, Outside browser http://203.0.113.2 OK, Inside→DMZ OK, DMZ→Inside KO, Outside ping DMZ KO (solo 80/443). Screenshot translations + access-lists + browser Outside. Mandamelo prima di ASA 5506.