Nella lezione precedente abbiamo visto che le ACL standard filtrano esclusivamente in base all’IP sorgente: un controllo utile ma grossolano. Le ACL estese aggiungono quattro dimensioni di filtraggio, consentendo una politica di sicurezza molto più granulare:
🔵
IP SORGENTE
da quale host o rete proviene
🟣
IP DESTINAZIONE
verso quale host o rete è diretto
🟡
PROTOCOLLO
TCP, UDP, ICMP, IP
🟤
PORTA
eq, gt, lt, range, neq
Questa granularità permette policy molto precise: “permettere solo al reparto Marketing di raggiungere il server web interno sulla porta 443, bloccando qualsiasi altra comunicazione”.
ip — qualsiasi protocollo IP (include TCP, UDP, ICMP)
tcp — Transmission Control Protocol
udp — User Datagram Protocol
icmp — Internet Control Message Protocol
Operatori di porta
eq 80 — uguale a 80
gt 1023 — maggiore di 1023
lt 1024 — minore di 1024
neq 23 — diverso da 23
range 20 21 — da 20 a 21 inclusi
Porte TCP/UDP notevoli — da memorizzare
20/21 — FTP
22 — SSH
23 — Telnet ❌
25 — SMTP
53 — DNS
67/68 — DHCP
80 — HTTP
110 — POP3
143 — IMAP
443 — HTTPS
3389 — RDP
8080 — HTTP alt.
Inbound vs Outbound — direzione del filtraggio
Quando si applica un’ACL a un’interfaccia router occorre specificare la direzione del traffico da filtrare rispetto all’interfaccia stessa. I termini inbound e outbound si riferiscono sempre al punto di vista del router, non della rete.
INBOUND (in)
Il filtro agisce sui pacchetti che entrano nell’interfaccia del router, prima che il router effettui il routing. I pacchetti non autorizzati vengono scartati immediatamente, risparmiando risorse.
interface GigabitEthernet0/0
ip access-group 100 in
✅ Più efficiente — scarta prima del routing
OUTBOUND (out)
Il filtro agisce sui pacchetti che escono dall’interfaccia del router, dopo che il routing è già avvenuto. Utile per controllare cosa viene inoltrato verso una rete specifica.
interface GigabitEthernet0/1
ip access-group 100 out
⚠️ Meno efficiente — il routing è già avvenuto
Regola di posizionamento per le ACL estese
Le ACL estese, potendo specificare sia IP sorgente che destinazione, vanno applicate il più vicino possibile alla sorgente del traffico. In questo modo i pacchetti indesiderati vengono eliminati prima di occupare banda sulla rete, a differenza delle ACL standard che vanno vicino alla destinazione.
Confronto operativo inbound vs outbound
Caratteristica
Inbound
Outbound
Punto di controllo
All’ingresso interfaccia
All’uscita interfaccia
Routing effettuato?
❌ Non ancora
✅ Già effettuato
Efficienza
Maggiore
Minore
Uso ideale
Bloccare traffico alla sorgente
Controllare ciò che esce verso una rete specifica
ACL estese — preferenza
✅ Preferita
Solo se inbound non è pratico
⚠️ Un’ACL non è bidirezionale
Applicare un’ACL in su un’interfaccia non filtra automaticamente il traffico di risposta che esce dalla stessa interfaccia. Per gestire correttamente le risposte TCP occorre usare la keyword established oppure un firewall stateful. Questo è il limite più importante delle ACL su router Cisco.
La keyword established — gestire le risposte TCP
La keyword established è uno degli strumenti più potenti e fraintesi delle ACL estese. Permette di distinguere una risposta TCP da una nuova connessione TCP, senza mantenere una vera state table come farebbe un firewall stateful.
Come funziona TCP — il three-way handshake
Client 192.168.1.10
SYN
→
nessun flag ACK — connessione nuova
←
SYN-ACK
flag ACK attivo — è una risposta
ACK
→
flag ACK attivo — è una risposta
Server esterno
Osservazione chiave: solo il primo pacchetto SYN non ha il flag ACK. Tutti i pacchetti successivi di una connessione TCP esistente — risposte, dati, chiusura — hanno il flag ACK attivo.
Cosa fa established
La keyword established corrisponde a un pacchetto TCP solo se ha il flag ACK o RST attivo. Questo equivale a dire: “questo pacchetto fa parte di una connessione già iniziata”. Poiché il primo SYN non ha il flag ACK, una regola con establishednon permette mai nuove connessioni in ingresso.
Scenario — permettere agli host interni di navigare su HTTP, bloccare connessioni in ingresso
! ACL 110 — applicata INBOUND sull'interfaccia verso Internet (traffico da Internet)! Permette le RISPOSTE alle connessioni HTTP avviate dall'interno
access-list 110 permit tcp any 192.168.1.0 0.0.0.255 eq 80 established! Permette le RISPOSTE alle connessioni HTTPS avviate dall'interno
access-list 110 permit tcp any 192.168.1.0 0.0.0.255 eq 443 established! Nega tutto il resto (connessioni in ingresso non richieste)
access-list 110 deny ip any any
interface Serial0/0/0 ! interfaccia verso Internet
ip access-group 110 in
SYN-ACK da server web
✅ PERMIT
Ha il flag ACK → corrisponde a established → risposta legittima
SYN da attaccante esterno
❌ DENY
Non ha il flag ACK → non corrisponde a established → bloccato
📌 established ≠ firewall stateful
established è una soluzione approssimata: controlla solo il flag ACK, non mantiene una vera tabella di stato. Un attaccante esperto può costruire un pacchetto con flag ACK senza che esista una connessione reale (attacco ACK scan) e bypassare questo controllo. Per una protezione completa serve un firewall stateful — ma per molti scenari pratici, established è sufficiente e molto usato nella realtà.
Obiettivo: consentire accesso HTTP/HTTPS al server 192.168.2.10, bloccare tutto il resto
ip access-list extended PROTEGGI-WEB! Permette HTTP dall'esterno verso il server webpermit tcp any host 192.168.2.10 eq 80! Permette HTTPS dall'esterno verso il server webpermit tcp any host 192.168.2.10 eq 443! Permette i ping ICMP per diagnosticapermit icmp any any echo-reply
! Blocca tutto il restodeny ip any any
interface Serial0/0/0 ! interfaccia WAN verso Internet
ip access-group PROTEGGI-WEB in
L’ACL viene applicata inbound sull’interfaccia WAN: il traffico esterno verso il server sulla porta 80/443 passa, tutto il resto — incluse connessioni SSH, RDP, o Telnet verso qualsiasi host — viene scartato.
Scenario 2 — Bloccare Telnet, permettere SSH
Obiettivo: nessun accesso Telnet (porta 23) verso la LAN, SSH (porta 22) solo dal reparto IT
ip access-list extended POLICY-ACCESSO! Nega Telnet verso qualsiasi host della LANdeny tcp any 192.168.1.0 0.0.0.255 eq 23! Permette SSH solo dal reparto IT (192.168.10.0/24)permit tcp 192.168.10.0 0.0.0.255 192.168.1.0 0.0.0.255 eq 22! Permette tutto il traffico IP rimanentepermit ip any any
interface GigabitEthernet0/0
ip access-group POLICY-ACCESSO in
Scenario 3 — DMZ con server web pubblico e server interno
Questo è il caso più completo, che ricorda la topologia del Lab A di questo modulo. Abbiamo un server web in DMZ (192.168.2.10) raggiungibile da Internet e un server interno (192.168.1.2) che non deve mai essere accessibile dall’esterno. I PC della LAN devono poter navigare su Google.
ACL sull’interfaccia WAN — filtraggio traffico in ingresso da Internet
! Permette traffico HTTP verso il server web in DMZ
access-list 100 permit tcp any host 192.168.2.10 eq 80
! Permette le RISPOSTE alle navigazioni dei client LAN verso Google e altri siti
access-list 100 permit tcp any eq 80 192.168.1.0 0.0.0.255 established
access-list 100 permit tcp any eq 443 192.168.1.0 0.0.0.255 established! Permette risposte echo ICMP
access-list 100 permit icmp any any echo-reply
! Nega TUTTO il traffico non autorizzato verso la LAN e la DMZ
access-list 100 deny ip any any
interface Serial2/0 ! interfaccia verso Internet
ip access-group 100 in
Analisi delle regole
→ Regola 1: il server web in DMZ è accessibile dall’esterno sulla porta 80 — scopo pubblico
→ Regola 2-3:established consente le risposte ai siti visitati dai client LAN, bloccando connessioni non richieste
→ Regola 4: i ping di risposta (echo-reply) sono permessi per la diagnostica — i ping in uscita (echo) erano già stati bloccati
→ Regola 5: deny implicito esplicito — buona pratica per la leggibilità e per attivare il logging
Scenario 4 — Accesso FTP solo per utenti autorizzati
Obiettivo: solo la subnet 10.0.10.0/24 può accedere al server FTP 192.168.1.50
ip access-list extended ACCESSO-FTP! FTP richiede due porte: 21 (controllo) e 20 (dati) oppure passive mode (porte alte)permit tcp 10.0.10.0 0.0.0.255 host 192.168.1.50 eq 21permit tcp 10.0.10.0 0.0.0.255 host 192.168.1.50 eq 20permit tcp 10.0.10.0 0.0.0.255 host 192.168.1.50 range 1024 65535! Permette il restante traffico IPpermit ip any any
interface GigabitEthernet0/0
ip access-group ACCESSO-FTP in
Errori comuni e best practice
Errori da evitare nelle ACL estese
1
Dimenticare il permit ip any any finale
Il deny implicito finale blocca tutto ciò che non corrisponde alle regole esplicite. Se non prevedi una regola di permit generale, tutto il traffico non specificato viene bloccato.
2
Applicare l’ACL estesa vicino alla destinazione invece che alla sorgente
Il traffico percorre inutilmente tutta la rete prima di essere scartato. L’ACL estesa va sull’interfaccia più vicina alla sorgente, in direzione inbound.
3
Usare ip quando si vuole filtrare una porta specifica
ip come protocollo include tutto (TCP, UDP, ICMP) e non supporta il filtro per porta. Per specificare porte occorre usare tcp o udp esplicitamente.
4
Dimenticare le porte del traffico di ritorno senza usare established
Se blocchi tutto il traffico in ingresso senza permettere le risposte con established, i client interni non riceveranno mai le risposte ai loro HTTP GET, rendendo inutilizzabile la navigazione.
📌 Riepilogo — Punti chiave
Le ACL estese filtrano per IP sorgente, IP destinazione, protocollo e porta — controllo molto più granulare delle ACL standard
Inbound agisce prima del routing (più efficiente); outbound agisce dopo. Le ACL estese si applicano preferibilmente inbound vicino alla sorgente
La keyword established permette i pacchetti TCP con flag ACK o RST — distingue le risposte alle connessioni esistenti dai nuovi SYN in ingresso
Per filtrare porte serve usare tcp o udp come protocollo — il protocollo ip non supporta il filtro per porta
Le ACL con nome sono preferibili a quelle numeriche: il nome è descrittivo e permettono la modifica di singole ACE senza riscrivere l’intera lista
Questo sito Web utilizza i cookie per migliorare la tua esperienza.Supponiamo che tu stia bene con questo, ma puoi rinunciare se lo desideri.
Read More
I cookie sono piccoli file di testo che possono essere utilizzati dai siti Web per rendere più efficiente l'esperienza dell'utente.La legge afferma che possiamo archiviare i cookie sul tuo dispositivo se sono rigorosamente necessari per il funzionamento di questo sito.Per tutti gli altri tipi di cookie, abbiamo bisogno del tuo permesso.Questo sito utilizza diversi tipi di cookie.Alcuni cookie sono collocati da servizi di terze parti che appaiono nelle nostre pagine.
I cookie necessari aiutano a rendere utilizzabile un sito Web consentendo funzioni di base come la navigazione di pagina e l\'accesso alle aree sicure del sito Web.Il sito Web non può funzionare correttamente senza questi cookie.
I cookie di marketing vengono utilizzati per tenere traccia dei visitatori sui siti Web.L\'intenzione è quella di visualizzare annunci pertinenti e coinvolgenti per il singolo utente e quindi più preziosi per gli editori e gli inserzionisti di terze parti.
I cookie di analisi aiutano i proprietari di siti Web a capire come i visitatori interagiscono con i siti Web raccogliendo e segnalando informazioni in modo anonimo.
I cookie di preferenza consentono a un sito Web di ricordare le informazioni che cambiano il modo in cui il sito Web si comporta o sembra, come la tua lingua preferita o la regione in cui ti trovi.
I cookie non classificati sono cookie che stiamo classificando, insieme ai fornitori di singoli cookie.
Cookie Settings
Gestisci Consenso
Per fornire le migliori esperienze, utilizziamo tecnologie come i cookie per memorizzare e/o accedere alle informazioni del dispositivo. Il consenso a queste tecnologie ci permetterà di elaborare dati come il comportamento di navigazione o ID unici su questo sito. Non acconsentire o ritirare il consenso può influire negativamente su alcune caratteristiche e funzioni.
Funzionale
Sempre attivo
L'archiviazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire l'uso di un servizio specifico esplicitamente richiesto dall'abbonato o dall'utente, o al solo scopo di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
L'archiviazione tecnica o l'accesso sono necessari per lo scopo legittimo di memorizzare le preferenze che non sono richieste dall'abbonato o dall'utente.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici.L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici anonimi. Senza un mandato di comparizione, una conformità volontaria da parte del vostro Fornitore di Servizi Internet, o ulteriori registrazioni da parte di terzi, le informazioni memorizzate o recuperate per questo scopo da sole non possono di solito essere utilizzate per l'identificazione.
Marketing
L'archiviazione tecnica o l'accesso sono necessari per creare profili di utenti per inviare pubblicità, o per tracciare l'utente su un sito web o su diversi siti web per scopi di marketing simili.