index...
TRANSCRIPT
![Page 1: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/1.jpg)
Sicurezza nelle Reti
Prof. Claudio A. Ardagna, Dr. Marco Anisetti, Dr. Valerio Bellandi, Dott. Fulvio Frati
http://homes.di.unimi.it/anisetti/index.html
Università degli Studi di Milano
![Page 2: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/2.jpg)
Firewall
Lo scopo principale di un firewall è di controllare
l’accesso da e per una rete protetta
Il controllo è effettuato obbligando le connessioni a
passare attraverso il firewall, dove vengono esaminate
e valutate
Un firewall può essere un router o anche un PC,
posizionati topologicamente per proteggere host o
sottoreti
2
![Page 3: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/3.jpg)
Personal firewall (1)
Identifica protezione orientata al singolo host
Un firewall è un filtro software che serve a proteggersi da
accessi indesiderati provenienti dall’esterno della rete
internet
3
![Page 4: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/4.jpg)
Personal Firewall (2)
Windows dispone di un personal firewall.
E’ possibile installare anche altri personal firewall come ad
esempio Comodo o ZoneAllarm, Kerio...
In ogni caso bisognerà indicare la firewall cosa far passare
e cosa bloccare.
4
![Page 5: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/5.jpg)
Firewall di Windows (1)
Selezionare la scheda di rete da proteggere. Ogni scheda
è un ingresso verso il nostro pc.
5
![Page 6: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/6.jpg)
Firewall di Windows (2)
Nella finestra che si apre selezionate il tab “Avanzate”
6
![Page 7: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/7.jpg)
Firewall di Windows (3)
Il firewall deve essere abilitato (se non è in uso un firewall
di terze parti)
7
![Page 8: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/8.jpg)
Firewall di Windows (4)
Con la tab avanzate è possibile indicare a quali schede
associare la protezione via firewall
8
![Page 9: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/9.jpg)
Firewall di Windows (5)
Con la tab eccezioni si abilitano le applicazioni ad
attraversare o meno il firewall
9
![Page 10: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/10.jpg)
Ripasso reti
Concetti di base
Pacchetti e ISO/OSI
Livelli applicativi
10
![Page 11: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/11.jpg)
Tre principi inderogabili dei firewall
FW deve essere l’unico punto di contatto della rete interna con quella esterna
Solo il traffico “autorizzato” può attraversare il FW
Il FW deve essere un sistema altamente sicuro esso stesso
D.Cheswick
S.Bellovin
11
![Page 12: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/12.jpg)
Controlli del Firewall e ISO/OSI
12
Physical
Datalink
Network
Transport
Application
IP header TCP/UDP header Data payload
application gateway
circuit gateway
packet filter
![Page 13: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/13.jpg)
Firewall di rete
Il firewall può essere una macchina dedicata che filtra
tutto il traffico da e per una rete locale
internet
13
![Page 14: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/14.jpg)
Senza protezione perimetrale
internet
LAN
ftp
telnet
ssh
14
![Page 15: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/15.jpg)
ssh
telnet
Con protezione perimetrale
internet
LAN
ftp
15
![Page 16: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/16.jpg)
Considerazioni architetturali
Spesso alcuni PC della nostra rete forniscono servizi
pubblici che devono essere raggiungibili dall’esterno.
Se utilizzassi un firewall come indicato in precedenza
questo comporterebbe la teorica raggiungibilità di
qualsiasi pc della rete.
Per ovviare a questo problema si usa suddividere
ulteriormente la rete protetta da firewall in due zone
16
![Page 17: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/17.jpg)
DMZ e rete pubblica
Una rete pubblica è quel tratto di rete visibile da tutto il "mondo". In questa rete possono essere situati un web server, un mail server, ecc...
La rete pubblica in gergo tecnico viene anche chiamata DMZ (De-Militarized Zone, Zona De-Militarizzata): è un tratto di rete in cui il firewall permette l'accesso a tutti.
La rete privata è una rete i cui computer possono accedere a internet ma non vengono visti dal "mondo".
17
![Page 18: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/18.jpg)
Perimetro della rete
Rete
DMZ
BORDER
router
internet
ISP
router
Firewall
WEB server
MAIL server
FTP DNS
Rete internaPerimetro della rete
aziendale
18
![Page 19: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/19.jpg)
Separazione in zone di sicurezza
Sul firewall dovranno essere installate tre interfacce di
rete:
una che servirà per il collegamento internet
una per la rete privata o rete interna
una per la DMZ
Questa architettura si chiama anche Three-legged
architecture.
19
![Page 20: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/20.jpg)
Zone di sicurezza
Rete
DMZ
BORDER
router
internet
Firewall
Rete DMZ
Rete
INTERNA
comunicazione comunicazione
20
![Page 21: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/21.jpg)
Protezione di rete Tutto il traffico fra la rete locale ed Internet deve essere
filtrato dal firewall
Solo il traffico autorizzato deve attraversare il firewall
Si deve comunque permettere che i servizi di rete ritenuti necessari siano mantenuti
Il firewall deve essere, per quanto possibile, immune da problemi di sicurezza sull’host
In fase di configurazione di un firewall, per prima cosa si deve decidere la politica di default per i servizi di rete default deny: tutti servizi non esplicitamente permessi sono negati default allow: tutti i servizi non esplicitamente negati sono permessi
21
![Page 22: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/22.jpg)
Effetti di un firewall
per ogni sottorete protetta da un firewall si possono definire politiche di accesso
solo i componenti esterni al firewall sono direttamente accedibili (senza protezione)
gestione delle connessioni tra le diverse interfacce del firewall. Ad esempio, si consentono connessioni da Internet alla Rete DMZ, ma non da Internet verso la Rete Interna
realizza una separazione in zone aventi diverso grado di sicurezza nella architettura di rete
22
![Page 23: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/23.jpg)
I primi firewall
23
Basati su ‘Unix-based gateway(Mogul, 1989) ULTRIX (Ranum, 1992)
Gatekeeper proxy applicativo: raccoglie le richieste applicative dall'interno e le manda verso l'esterno
Gate filtra il traffico
![Page 24: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/24.jpg)
Firewall Cisco
24
![Page 25: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/25.jpg)
Livelli di implementazione
Un firewall può essere implementato come
Static packet filtering (stateless filter)
Stateful filtering
Proxy server
application gateway
circuit-level gateway
25
![Page 26: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/26.jpg)
Packet Filtering
![Page 27: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/27.jpg)
Static Packet filter (1)
Controllo del traffico basato unicamente sulle informazioni contenute negli header dei singoli pacchetti
I valori dei parametri degli header dei pacchetti vengono confrontati con le regole definite in un una ACL (Access Control List) e ammessi o scartati secondo il risultato del confronto
Ogni pacchetto viene quindi esaminato singolarmente, indipendentemente dai pacchetti precedentemente ricevuti e da quelli successivi
27
![Page 28: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/28.jpg)
Static Packet filter (2)
Sul firewall si configura un filtro sui datagrammi IP da
trasferire attraverso le varie interfacce
Il filtro scarta i datagrammi sulla base di
tipo di servizio a cui il datagramma è destinato (porta
TCP/UDP oppure campo PROTOCOL)
indirizzo IP sorgente o destinazione
indirizzo MAC sorgente o destinazione
interfaccia di provenienza o destinazione
28
Physical
Datalink
Network
Transport
Application
![Page 29: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/29.jpg)
Static Packet filter SPF (2)
È la prima e più semplice tecnologia adottata per i sistemi di firewall
Nei sistemi odierni è stata superata dalla tecnologia di tipo stateful ma continua a essere usata nei sistemi di fascia bassa e nei router per la sua semplicità e per le ottime performance.
E’ fondamentale per comprendere il meccanismo di filtraggio.
29
![Page 30: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/30.jpg)
Static Packet filter SPF (3)
indipendente dalle applicazioni
ottima scalabilità
controlli poco precisi: più facile da “fregare” (es. IP spoofing)
ottime prestazioni
basso costo (disponibile su router e molti SO)
arduo supportare servizi con porte allocate dinamicamente (es. FTP)
30
![Page 31: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/31.jpg)
Applicazioni di SPF
Spesso, per alcuni servizi, si impone che le comunicazioni
vengano regolate in modo tale che: dalla rete interna si
possa raggiungere l’esterno ma non il contrario.
Es. ssh, ping…
31
![Page 32: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/32.jpg)
SPF: connessioni TCP
Una connessione TCP passa attraverso il 3-way
Handshake (scambio di pacchetti bidirezionale)
Attraverso i FLAG dell’header TCP possiamo
supportare la politica di sicurezza analizzata. (SYN-
SYN/ACK- ACK)
internet
SYN
Rete
INTERNA
32
![Page 33: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/33.jpg)
SPF: protocolli connectioneless
I protocolli connectionless (UDP, ICMP) possono essere
sia unidirezionali che bidirezionali, in funzione delle
diverse applicazioni.
PING (ICMP): bidirezionale
Source Quench (ICMP): unidirezionale
DNS Query (UDP): bidirezionale
33
![Page 34: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/34.jpg)
SPF: Efficacia
Spoofing: controllo degli indirizzi IP sorgente
Tentate Connessioni: controllo degli indirizzi IP, delle porte di destinazione e dei flag TCP
Traffico ICMP: tipo e codice messaggi ICMP
Source Routing: impedisce traffico con l’opzione di Source Routing attiva
Spesso la funzionalità di SPF viene svolta dal BorderRouter (dispositivo fisico) invece che da un componente specificatamente dedicato alla funzione di firewall.
34
![Page 35: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/35.jpg)
SPF: riflessioni
Utile se configurato su un router come primo livello di
protezione perimetrale
Protegge solo da tecniche di attacco non sofisticate
Utile per valutare il funzionamento dei protocolli
applicativi
35
![Page 36: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/36.jpg)
Packet filtering stateful
Un packet filter può essere stateful o stateless ma
praticamente tutte le implementazioni di packet filters
stateful offrono anche un qualche tipo di protocol
inspection per cui sono dei multilayer stateful firewall
36
![Page 37: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/37.jpg)
Protocol inspection
La stateful inspection è quel processo per cui ogni singola connessione autorizzata viene registrata dal firewall in una apposita tabella (la cosiddetta connection o state table) Oltre all'ip sorgente e di destinazione, solitamente vengono registrati
tanti altri dati, quali il protocollo, le porte, i flag, i sequence number, ecc.
In questo modo, è difficile per un hacker potersi inserire in una connessione stabilita (il cosiddetto session hijacking).
In pratica, ogni volta che un pacchetto arriva al firewall, viene verificato se esso fa parte di una connessione precedentemente stabilita in caso affermativo, esso viene lasciato passare senza ulteriori
controlli sulle catene del firewall stesso, altrimenti subisce la sorte di un normale pacchetto in ingresso
37
![Page 38: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/38.jpg)
Packet filtering: Considerazioni
Comunque anche con la migliore configurazione il packet
filter non verifica il contenuto dei pacchetti per cui non
può bloccare virus ed ha problemi con protocolli che
negoziano le porte, come ad esempio FTP attivo
38
![Page 39: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/39.jpg)
Servizi su internet
Porte e servizi
principali
39
![Page 40: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/40.jpg)
Access Control List (ACL)
Le ACL definiscono le regole per il filtraggio statico dei pacchetti in transito.
Semantica ACCEPT/DENY
Criterio TOP-DOWN di filtraggio: la prima regola che viene verificata produce la decisione sul
pacchetto
il test del pacchetto continua fino a che una regola corrisponde alle caratteristiche del pacchetto oppure fino a che la lista di regole termina
di norma esiste una regola di DEFAULT
40
![Page 41: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/41.jpg)
Access Control List (ACL)
Le ACL permettono di scegliere tra due strategie:
Default Permit
Default Deny
Usate nei router CISCO
Packet filtering che applica le ACL lavora al Network layer
della pila OSI, oppure al livello Internet layer della pila
TCP/IP.
41
![Page 42: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/42.jpg)
Perché usare le ACL
Limitare il traffico indesiderato migliorando le performance della rete
Le ACL permettono il controllo del flusso del traffico restringendo la delivery degli update per il routing
Possono essere usato in aggiunta ad altre tecniche di controllo della sicurezza.
Controllano il tipo di traffico che viene rigirato o bloccato dal router.
Possibilità di controllare a quale area un client accede.
42
![Page 43: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/43.jpg)
Tipi di ACL
Secondo gli standard Cisco si hanno:
STANDARD ACL
Numerate tra 0 e 99.
Filtrano solo gli indirizzi IP sorgente
EXTENDED ACL
Numerate tra 100 e 199
Filtrano indirizzi IP sorgente, destinatario,protocollo, porte UDP e TCP e tipo/codice messaggi ICMP
43
![Page 44: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/44.jpg)
Standard ACL
Access-list numero azione sorgente [wild card] | any
Numero: da 0 a 99 per ACL Standard
Azione: permit oppure deny
Sorgente: indirizzo IP sorgente
Wild Card: vedi la prossima diapositiva
Any: qualunque valore
Esempio:
Access-list 20 permit 192.168.1.0 0.0.0.255
44
![Page 45: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/45.jpg)
Wild Card
Determina la parte dell’indirizzo IP da verificare e quella da ignorare
È simile alla netmask ma ha una semantica dei valori invertita: valore binario 1: bit dell’indirizzo IP che non deve essere
verificato valore binario 0: bit dell’indirizzo IP che deve essere
verificato
Access-list 20 permit 192.168.1.0 0.0.0.255
11111111Vengono usate anche in Enhanced Interior Gateway Protocol (EIGRP) e OSPF.
45
![Page 46: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/46.jpg)
ACL: esempi
Access-list 17 permit host 192.168.1.100
Access-list 17 deny 192.168.1.0 0.0.0.255
Access-list 17 permit any
Keyword host: si usa quando si indica un indirizzo IP unico
analogo alla wild card 0.0.0.0
Regola di default: permit any oppure deny any
i router Cisco, se non specificato nulla nell’ACL, implicitamente applicano deny any
46
![Page 47: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/47.jpg)
Ingress vs. Egress firewall
ingress firewall collegamenti incoming tipicamente verso servizi offerti all'esterno talvolta come parte di una comunicazione attivata
dall'interno
egress firewall collegamenti outgoing controllo dell'attività del personale
distinzione facile per servizi orientati al canale (es. applicazioni TCP), difficile per servizi basati su datagrammi (es. ICMP, applicazioni UDP)
47
![Page 48: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/48.jpg)
Filtraggio
48
Packet filter
Forwarding
engine
filtro
filtro
filtro
filtro
Incoming
packets
outgoing
packets
![Page 49: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/49.jpg)
Ingress ACL
Access-list 14 deny 10.0.0.0 0.255.255.255
Access-list 14 deny 127.0.0.0 0.255.255.25
Access-list 14 deny 172.16.0.0 0.15.255.255
Access-list 14 deny 192.168.0.0 0.0.255.255
Access-list 14 deny <la propria rete interna> <wild card>
Access-list 17 permit any
Queste ACL bloccano ogni traffico con sorgente IP di rete locale (come definito in RFC 1918 )
49
![Page 50: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/50.jpg)
DDoS con indirizzi locali
Esistono casi di siti web personali vittime di attacchi di
distributed denial of service (DDoS) lanciati interamente
usando indirizzi inclusi in RFC 1918, ovvero indirizzi di
rete locale.
Se l’ ISP (Internet Service Provide) avesse bloccato in
ingress gli indirizzi, l’attacco non sarebbe mai avvenuto.
50
![Page 51: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/51.jpg)
RFC 2827
Definisce come dovrebbero essere impostati gli ingress and egress filtering a seconda della rete assegnata all’organizzazione.
Se si ha a disposizione192.0.2.0/24 questi sono gli ip che dovrebbero essere usati dalla rete
Ogni pacchetto che abbandona la rete dovrebbe avere una sorgente all’interno del range 192.0.2.0/24.
Ogni pacchetto entrante non dovrebbe avere indirizzi in tale range
51
![Page 52: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/52.jpg)
Egress ACL
Access-list 14 permit <la propria rete interna> <wild
card>
Access-list 14 deny any
52
![Page 53: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/53.jpg)
Extended ACL: formato
Access-list numero azione tipo sorgente [wild card] opzioni destinazione [wild card] [log]
Numero: da 100 a 199 per ACL Extended
Azione: permit/deny
Sorgente: indirizzo IP sorgente
Destinazione: indirizzo IP destinazione
Type: IP, UDP o TCP
Opzioni: Porte TCP/UDP, Tipo/Codice ICMP, operatori speciali
Log: opzionale. Scrive un messaggio in un log per ogni pacchetto verificato da una regola
53
![Page 54: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/54.jpg)
Extended ACL
Gli esempi della slide successiva mostrano come un
amministratore possa indicare le porte TCP o UDP
mettendole alla fine della extended ACL.
Si possono usare operatori logici come: equal (eq), not
equal (neq), greater than (gt), and less than (lt).
54
![Page 55: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/55.jpg)
Esempi
Using Port Numbers
acces-list 101 permit tcp 192.168.2.0 0.0.0.255 any eq 23
acces-list 101 permit tcp 192.168.2.0 0.0.0.255 any eq 21
acces-list 101 permit tcp 192.168.2.0 0.0.0.255 any eq 20
Using keywords
acces-list 101 permit tcp 192.168.2.0 0.0.0.255 any eq telnet
acces-list 101 permit tcp 192.168.2.0 0.0.0.255 any eq ftp
acces-list 101 permit tcp 192.168.2.0 0.0.0.255 any eq ftp-data
55
![Page 56: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/56.jpg)
EXTENDED ACL: operatore ESTABLISHED
Permette di filtrare il traffico in ingresso verificando se i
flag RST o ACK sono attivi
In questo modo si permette l’ingresso di tali pacchetti
solo in presenza di una sessione TCP già stabilita, evitando
attività di scanning
56
![Page 57: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/57.jpg)
Esempio di configurazione (1)Restringere l’ Internet access permettendo solo il browsing web. ACL 101 per il
traffico che lascia la rete 192.168.2.0 e ACL 102 per il traffico in entrata.
57
![Page 58: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/58.jpg)
Esempio di configurazione (2)
R1(config)#access-list 101 permit tcp 192.168.2.0
0.0.0.255 any eq 80
R1(config)#access-list 101 permit tcp 192.168.2.0
0.0.0.255 any eq 443
R1(config)#access-list 102 permit tcp 192.168.2.0
0.0.0.255 any eq established
58
![Page 59: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/59.jpg)
Esempio di configurazione (3) ACL 101 permette richieste dalle porte 80 e 443
ACL 102 permette risposte HTTP e HTTPS se la comunicazione è established.
ACL 101 Permette il traffico che arriva da ogni indirizzo della rete 192.168.2.0 di proseguire verso ogni destinazione, a patto che il traffico sia diretto verso una porta 80 (HTTP) o 443 (HTTPS).
La natura della connessioni HTTP richiede anche un traffico che ritorni dal destinatario, in questo caso l’amministratore vuole restringere il traffico alle sole risposte HTTP determinate da una richiesta partita dalla rete. La soluzione più sicura è vietare ogni altro tipo di traffico in ingresso.
ACL 102 ottiene quanto voluto bloccando tutto il traffico in ingresso ad eccezione di quello derivante da una connessione già stabilita dall’interno.
59
![Page 60: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/60.jpg)
ACL e interfacce
Router(config-if)# ip access-group access-list number{in|out}
Access-list-number: Indica il numero della ACL che deve essere legata all’interfaccia.
In|out: Specifica se la ACL va applicata all’interfaccia in entrata o in uscita. Un’ACL in input fa sì che il router applichi prima l’ACL e poi effettui il routing, mentre in output prima il routing e poi l’ACL. Se non è specificato, per default è out.
60
![Page 61: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/61.jpg)
ACL Interface esempio
61
![Page 62: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/62.jpg)
ACL Interface esempio
R1#config t
Enter configuration commands, one per line. End withCNTL/Z.
R1#(config)#interface s0/0/0
R1#(config)#ip access-group 101 out
R1#(config)#ip access-group 102 in
R1#(config)#end
62
![Page 63: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/63.jpg)
ACL Interface esempio
Bloccare FTP (File Transfer Protocol) dalla subnet 192.168.2.0
verso la subnet 192.168.3.0, ma permettere il resto del traffico.
FTP richiede le porte 20 e 21.
Tali porte devono essere specificate es. eq 20 e eq 21 per il
deny FTP.
63
![Page 64: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/64.jpg)
ACL e interface esempi
R1#config t
Enter configuration commands, one per line. End with CNTL/Z.
access-list 103 deny tcp 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255 eq 21
access-list 103 deny tcp 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255 eq 20
access-list 103 permit ip any any
interface fa0/1
ip access-group 103 in
64
![Page 65: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/65.jpg)
Esercizio
negare il traffico FTP
Non-172.16.0.0
E0 E1
S0
172.16.3.0 172.16.4.0
172.16.4.23
65
![Page 66: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/66.jpg)
Soluzione
access-list 101 deny tcp 172.16.4.0 0.0.0.255
172.16.3.0 0.0.0.255 eq 21
access-list 101 permit ip 172.16.4.0 0.0.0.255 any
(access-list 101 deny any any – implicito, non visibile nella
lista)
interface ethernet 0
ip access-group 101 (non specificato è default out)
66
![Page 67: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/67.jpg)
Esercizio
Si vuole negare all'host B l'accesso al Server FTP e allo
stesso tempo negare all'host C qualsiasi accesso alla rete
172.16.3.0.
Host A
Host B
Host C
FTP Server
172.16.3.0172.16.3.52
172.16.3.99
172.16.4.1
172.16.4.0
172.16.4.12
S0S0
E1 E0
Router A Router B
ACL standard
ACL estesa
67
![Page 68: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/68.jpg)
Soluzione
access-list 1 deny host 172.16.4.12
access-list 1 permit any
interface ethernet 1
ip access-group 1
access-list 101 deny tcp host 172.16.4.1 172.16.3.0 0.0.0.255 eq ftp
access-list 101 permit ip 172.16.4.0 0.0.0.255 any
interface ethernet 0
ip access-group 101
68
![Page 69: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/69.jpg)
Formalismo (1)
Una ACL Static Packet Filter è definita da una tabella
come la seguente:
69
Direz. IP
Sorg
IP
Dest
Protoc. Porta
Sorg
Porta
Dest
Flag
ACK
Azione
![Page 70: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/70.jpg)
Formalismo (2) Direzione: Indica la direzione del traffico:
se non ambiguo, IN/OUT
nei restanti casi indicazione delle zone sorgente e destinataria (es. DMZ->Internet), oppure delle interfacce (es. eth0->eth1)
IP Sorgente/Destinatario Valori degli indirizzi (es. 159.149.10.1, 159.149.10.0/24) o uso di variabili
Protocollo TCP, UDP, ICMP, IP
Porta Sorgente/Destinataria Valore o range (es. >1023)
Flag ACK Se il protocollo è TCP, il suo valore può essere 0, 1 o 0/1; ** per altri protocolli
Azione Permit/Deny
70
![Page 71: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/71.jpg)
Variabili
È molto diffuso l'uso di variabili alle quali assegnare valori
di parametri, tipicamente indirizzi IP e sottoreti
Nelle regole di un firewall si utilizzano le variabili
anziché i valori:
si può separare la definizione dei valori dalla definizione della
politica di un firewall
si possono modificare i valori senza editare la politica
stessa
71
![Page 72: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/72.jpg)
Variabili esempio
DMZ := 159.149.70.0/24
Internal := 192.168.20.0/24
Private := 10.0.0.0/8 and ….
External := not (Internal or DMZ or Private)
WebServer := 159.149.70.11 and 159.149.70.12
72
![Page 73: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/73.jpg)
Packet Filtering : Telnet (1)
Vogliamo autorizzare solo connessioni Telnet dall’interno
della rete aziendale verso l’esterno
73
Direz. IP
Sorg
IP
Dest
Protoc. Porta
Sorg
Porta
Dest
Flag
ACK
Azione
OUT Internal Any TCP >1023 23 Permit
IN Any Internal TCP 23 >1023 Permit
Any Any Any Any Any Any ** Deny
![Page 74: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/74.jpg)
Packet Filtering : Telnet (2)
Filtrare il traffico solo sulle Porte Sorgente e Destinazione, può portare a una politica di sicurezza troppo permissiva.
Ad esempio, supponiamo che la seconda regola sia:
IN Any InternalTCP 23 >1023 Permit
Questa regola permette connessioni generate da qualunque host esterno e dirette a qualunque hostinterno aventi porta sorgente 23/tcp e porta destinataria >1023.
74
![Page 75: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/75.jpg)
Packet Filtering : Telnet (3)
I pacchetti provenienti dall’esterno della rete sono solo
risposte del server.
Quindi il flag ACK è sempre settato.
Client Server
SYN
SYN-ACK
ACK
DATA+ACK
3-way
HANDSHAKE
75
![Page 76: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/76.jpg)
Packet Filtering : Telnet (4)
La politica è ancora troppo lasca. Chiunque può ricevere connessioni sulla porta 23/tcp.
Limitiamole ai soli server telnet autorizzati:
--> tlnSrv := 159.149.70.13
Usiamo ACK
1/0 quando IP Sorgente stabilisce la connessione verso l’IP Destinatario
1 quando IP Sorgente (passivo) risponde all’IP Destinatario
76
Direz. IP
Sorg
IP
Dest
Protoc. Porta
Sorg
Porta
Dest
Flag
ACK
Azione
OUT Internal tlnSrv TCP >1023 23 1/0 Permit
IN tlnSrv Internal TCP 23 >1023 1 Permit
Any Any Any Any Any Any ** Deny
![Page 77: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/77.jpg)
Least privilege
Compatibilmente con le specifiche relative alla fornitura
dei servizi, la politica di un firewall deve essere la più
stringente possibile.
Dato un insieme di specifiche, è un errore definire
una politica più lasca dello stretto necessario
77
![Page 78: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/78.jpg)
Esercizio
78
Pensiamo alle regole di filtraggio per SSH
Funziona su TCP porta 22 (a volte si cambia per ragioni di
sicurezza)
Più sicuro di Telnet perchè cripta i messaggi.
Direz. IP
Sorg
IP
Dest
Protoc. Porta
Sorg
Porta
Dest
Flag
ACK
Azione
![Page 79: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/79.jpg)
Soluzione
79
Direz. IP
Sorg
IP
Dest
Protoc. Porta
Sorg
Porta
Dest
Flag
ACK
Azione
OUT Internal tlnSrv TCP >1023 22 1/0 Permit
IN tlnSrv Internal TCP 22 >1023 1 Permit
Any Any Any Any Any Any ** Deny
![Page 80: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/80.jpg)
Filtering con applicazioni semplici Applicazioni come Telnet, SSH, rlogin, etc. sono
semplici da gestire con packet filtering:
• per loro natura implicano ruoli ben definiti: client e server
Il pattern di scambio di messaggi è un semplice request/reply
Altre applicazioni possono avere protocolli più elaborati, ad esempio perché prevedono ruoli client e server multipli o perché basate su pattern di scambio di messaggi più sofisticati.
80
![Page 81: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/81.jpg)
Filtraggi con applicazioni complesse
Sicurezza nelle Reti81
Quando le applicazioni hanno uno scambio a livello di
trasporto più articolato, gestire il firewall diventa
complesso
studiare molto bene i protocolli applicative
verificare debolezze del livello di filtraggio considerate
essere consapevoli di cosa non si riesce a fare con il filtraggio
utilizzato
mantenere una politica di chiusura conservativa
![Page 82: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/82.jpg)
SMTP (Simple mail transfer protocol)
Gestisce lo scambio di messaggi di posta
elettronica
La connessione tra i diversi server di posta
avviene attraverso una connessione TCP
(porta 25)
Ogni utente è identificato dall’indirizzo:
nomeutente@indirizzo_server_email
82
![Page 83: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/83.jpg)
I comandi
I principali comandi SMTP:
HELO: Identifica il client SMTP al server SMTP;
EHLO: E' possibile usare anche questo comando per identificarsi, se il server
supporta le SMTP Service Extensions
MAIL FROM: <indirizzo mittente>: Indicata la mailbox del mittente del messaggio;
RCPT TO: <indirizzo destinatario> : Indica la mailbox del desinatario (Recipient). E'
possibile specificare attraverso molteplici RCPT TO diversi destinatari;
DATA: Indica al server che quanto digitato successivamente saranno i dati del
messaggio di posta;
RSET: Annulla i comandi (Reset) precedentemente inviati nella sessione SMTP
corrente;
VRFY <stringa>: Chiede al server se la stringa di testo immessa rappresenta un
nome utente presente ed in tal caso visualizza l'intero indirizzo;
HELP: Visualizza i comandi disponibili sul server;
NOOP: Non esegue nessuna operazione restituisce solo un messaggio 250 (Ok) se il
server risponde;
QUIT: Termina la sessione SMTP corrente;
83
![Page 84: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/84.jpg)
Le fasi
Una sessione SMTP attraversa almeno sei fasi:
1. Il client SMTP contatta il server sulla porta TCP 25. Se questo è in ascolto e la connessione è
accettata risponde con un messaggio 220 (Ready);
2. Il client chiede di stabilire la sessione SMTP inviando il comando HELO seguito dal FQDN
(Fully Qualified Domani Name). Se il server accetta risponde con un messaggio 250 (Ok);
3. Il client indica il proprio indirizzo tramite il comando MAIL FROM: <indirizzo mittente>. Il
server risponde con 250 (Ok) per ogni destinatario accettato;
4. Il client indica al server i destinatari del messaggio tramite RCPT TO: <indirizzo destinatario> ed
il server risponde per ogni destinatario accettato un codice 250 (Ok);
5. Il client comunica al server l'intenzione di scrivere il corpo del messaggio con DATA. Il server
risponde con un codice 354 e indica come marcare il termine del messaggio. I campi come Date,
Subject, To, Cc, From vanno inseriti tra i dati della mail;
6. Completato il messaggio da scrivere tramite, il server memorizza la mail. A questo punto è
possibile, scrivere un nuovo messaggio oppure inviare il comando QUIT, dopo il quale il server
invia i messaggi e risponde con un codice 221 (Closing) e la connessione TCP viene terminata;
84
![Page 85: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/85.jpg)
I codici di risposta (1)
Il server risponde ad ogni comando con un codice di tre cifre che
ha la seguente interpretazione:
1xx : messaggio informativo
2xx : comando eseguito e terminato con successo
Es:
<<>MAIL FROM: [email protected]
250 [email protected]… Sender ok
3xx: comando eseguito e terminato con successo che richiede di
essere seguito da altri comandi correlati
Es:
<<>DATA
354 Enter mail, end with "." on a line by itself
85
![Page 86: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/86.jpg)
I codici di risposta (2)
4xx: errore temporaneo nell’esecuzione del
comando, ma il dialogo non è compromesso
5xx: errore grave e permanente. Il dialogo è
compromesso e dovrà essere ripreso
dall’inizio
Es:
MAIL TO: [email protected]
501 Syntax error in parameters scanning "to"
86
![Page 87: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/87.jpg)
Cascate di protocolli
Generalmente nella applicazioni distribuite si
usano insiemi di protocolli a cascata
87
ESMTP
(Extended SMTP)
SMTPPOP3
Post office protocol
![Page 88: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/88.jpg)
Packet Filtering : SMTP (1)
Politica: Nella rete aziendale un solo server SMTP è autorizzato a gestire la posta elettronica con l'esterno.
Condizioni: Funzionamento del protocollo SMTP: standard, semplice pattern request/reply
Client interni alla rete non passano per il firewall
Primo tentativo: Se funzionasse come Telnet basterebbe invertire interno con esterno.
Defizione variabili smtpSrv := 159.149.70.23
External := not(159.149.70.0/24)
88
![Page 89: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/89.jpg)
Packet Filtering : SMTP (2)
E’ corretta?
89
Direz. IP
Sorg
IP
Dest
Protoc. Porta
Sorg
Porta
Dest
Flag
ACK
Azione
IN External smtpSrv TCP >1023 25 1/0 Permit
OUT smtpSrv External TCP 25 >1023 1 Permit
Any Any Any Any Any Any ** Deny
![Page 90: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/90.jpg)
Packet Filtering : SMTP (3)
Che funzionalità viene gestita?
Come viene richiesto lo scambio di posta elettronica?
Quale è il client?
Quale è il server?
Quale è il contesto applicativo?
internet
SYN
3-way HANDSHAKE
90
![Page 91: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/91.jpg)
Packet Filtering : SMTP (4)
Le TCP da gestire sono due non una
Scambiare posta elettronica: Un Mail Server riceve e invia posta “da” e “verso” altri Mail Server.
Ricevere posta elettronica: Altri Mail Server si connettono al Mail Server aziendale agendo da client.
Inviare posta elettronica: Il Mail Server aziendale si connette ad altri Mail Server agendo da client.
91
![Page 92: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/92.jpg)
Packet Filtering : SMTP (5)
Nell’esempio considerato non compaiono i client di posta,
intesi come utenti finali con propri mailer
internet
3-way HANDSHAKE RICEZIONE
INVIO3-way HANDSHAKE
client
client
server
server
92
![Page 93: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/93.jpg)
Packet Filtering : SMTP (6)
E’ corretta?
93
Direz. IP
Sorg
IP
Dest
Protoc. Porta
Sorg
Porta
Dest
Flag
ACK
Azione
IN External smtpSrv TCP Any Any 1/0 Permit
OUT smtpSrv External TCP Any Any 1/0 Permit
Any Any Any Any Any Any ** Deny
![Page 94: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/94.jpg)
Packet Filtering : SMTP (6)
Ora è più precisa
94
Direz. IP
Sorg
IP
Dest
Protoc. Porta
Sorg
Porta
Dest
Flag
ACK
Azione
IN External smtpSrv TCP >1023 25 1/0 Permit
OUT smtpSrv External TCP 25 >1023 1 Permit
OUT smtpSrv External TCP >1023 >25 1/0 Permit
IN External smtpSrv TCP 25 >1023 1 Permit
Any Any Any Any Any Any ** Deny
![Page 95: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/95.jpg)
FTP (File Transfer Protocol)
FTP (File Transfer Protocol) è il protocollo generalmente utilizzato
per trasferire dati tra due host.
Il protocollo di trasferimento dati FTP ha come obbiettivo il
trasferimento affidabile ed efficiente dei dati, per questo motivo si
basa TCP. In particolare un FTP Server rimane in attesa di
connessioni sulla porta 21.
FTP utilizza due processi distinti per compiere il proprio compito:
PI (Protocol Interpreter) attraverso cui il client invia i comandi e riceve le
risposte dal server;
DTP (Data Transfer Process) attraverso il quale il client ed il server si
scambiano i dati;
95
![Page 96: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/96.jpg)
FTP
Il Data Transfer Process può essere di due tipi
Active MODE (default)
Passive MODE.
Nella modalità Active Mode il client contatta il server il
quale da inizio alla connessione (sulla porta 20) per
trasmettere i dati con il client.
In Passive MODE è prerogativa del client anche dare il via
alla connessione per il trasferimento dei dati.
96
![Page 97: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/97.jpg)
Le fasi
Le fasi di una sessione FTP sono:
1. Il client contatta il server sulla porta 21 utilizzando il
processo PI;
2. Autenticazione del client;
3. Trasferimento dati tramite il DTP;
4. Termine della sessione TCP;
97
![Page 98: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/98.jpg)
Connessioni FTP
In sostanza ci sono due connessioni TCP per ogni sessione
FTP:
Connessione di controllo: usata dal client per inviare i comandi e
dal server per comunicare i codici di risposta, viene aperta dal client
che si connette al server sulla porta TCP remota 21
Connessione dati: usata per il trasferimento dei file, viene aperta
dal server usando la porta TCP locale 20. Poiché il server non
conosce la porta remota usata dal client per la connessione dati è il
client stesso a comunicargliela attraverso la connessione di controllo
prima dell’apertura della connessione dati
98
![Page 99: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/99.jpg)
Connessioni FTP
21
Comandi
20
Dati
>1023
Es. 1039
>1023
Es. 10381) 3-way HANDSHAKE
2) Porta 1038
3) OK
4) 3-way HANDSHAKE
Comandi/risposte
ACK
Dati
ACK
client Server FTP
99
![Page 100: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/100.jpg)
SPF e FTP
due scelte possibili:
lasciare aperte tutte le porte dinamiche (>1024)
chiudere tutte tutte le porte dinamiche: difficile trade-off tra
sicurezza e supporto a FTP!!
100
![Page 101: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/101.jpg)
SPF: FTP
Può portare ad un serio problema di sicurezza
101
Direz. IP
Sorg
IP
Dest
Protoc. Porta
Sorg
Porta
Dest
Flag
ACK
Azione
OUT Internal External TCP >1023 21 1/0 Permit
IN External Internal TCP 21 >1023 1 Permit
IN External Internal TCP 20 >1023 1/0 Permit
OUT Internal External TCP >1023 20 1 Permit
Any Any Any Any Any Any ** Deny
![Page 102: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/102.jpg)
SPF: FTP
La seconda connessione, relativa al canale dati, viene aperta dal server verso il client:
ftpserver:20 ftpclient:XXXX (N.B: XXXX è la porta definita dinamicamente dal client).
La politica di gestione “connessione da interno a esterno” non è applicabile al caso in oggetto: connessione da esterno a interno
porta di destinazione della connessione non determinata a priori
Rischio
Intrusore:20 Vittima:XXXX
Le porte >1023 sono usate da servizi molto diffusi e da trojan.
102
![Page 103: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/103.jpg)
SPF: FTP Passiva (1)
21
Comandi
20
Dati
>1023
Es. 1039
>1023
Es. 10381) 3-way HANDSHAKE
2) PASV
3) OK XXXX (porta random)
4) 3-way HANDSHAKE
Comandi/risposte
ACK
Dati
ACK
client Server FTP
XXXX
103
![Page 104: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/104.jpg)
SPF: FTP Passiva (2)
La seconda connessione, relativa al canale dati, viene
aperta dal client verso il server:
ftpclient:YYYY ftpserver:XXXX
La politica di gestione “connessioni solo da interno a
esterno” torna ad essere applicabile.
Oggi tutti gli FTP supportano la modalità passiva e la
utilizzano di default (es. Web browser).
104
![Page 105: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/105.jpg)
SPF: FTP Passiva (3)
105
Direz. IP
Sorg
IP
Dest
Protoc. Porta
Sorg
Porta
Dest
Flag
ACK
Azione
OUT Internal External TCP >1023 21 1/0 Permit
IN External Internal TCP 21 >1023 1 Permit
OUT Internal External TCP >1023 >1023 1/0 Permit
IN External Internal TCP >1023 >1023 1 Permit
Any Any Any Any Any Any ** Deny
![Page 106: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/106.jpg)
FTP valutazioni
Con la modalità attiva devo per forza utilizzare uno
packet filtering che si ricordi delle connessioni
dovrei scrivere una regola che consenta il traffico entrante
iniziato dall’esterno con source port sport=20 e destination
port dport> 1023 (pericoloso, utilizzato dai port scanner per
fare il loro lavoro).
106
![Page 107: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/107.jpg)
SPF: RPC
![Page 108: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/108.jpg)
Attacco(1)
Descrizione tecnica del problema
Remote Procedure Call (RPC) è un protocollo che può essere utilizzato da un'applicazione per richiedere un servizio a un programma residente su un altro computer in rete. Microsoft ha riscontrato una vulnerabilità nel componente di RPC che gestisce lo scambio di messaggi tramite TCP/IP.
Questo particolare difetto interessa un'interfaccia DCOM (Distributed Component Object Model - protocollo che consente la comunicazione diretta fra sistemi software attraverso una rete), presente sulla porta TCP/IP 135 (porta utilizzata per stabilire una connessione RPC con un computer remoto).
Il problema è dovuto a modalità errate di gestione dei messaggi con formato non valido.
108
![Page 109: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/109.jpg)
Attacco(2)
Un hacker potrebbe tentare di sfruttare questa vulnerabilità programmando un computer in grado di comunicare attraverso la porta TCP 135 con un server interessato dal problema, in modo da inviare un particolare tipo di messaggio RPC con formato errato.
Alla ricezione di tale messaggio il servizio RPC del computer, affetto dalla vulnerabilità, potrebbe generare un errore tale da consentire l'esecuzione di codice non autorizzato.
La porta TCP 135 è normalmente bloccata, non consentendo in questo modo la possibilità di accessi esterni non autorizzati sulla porta RPC.
109
![Page 110: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/110.jpg)
SPF: RPC
110
Direz. IP
Sorg
IP
Dest
Prot
oc.
Porta
Sorg
Porta
Dest
Flag
ACK
Azione
IN External rpcSrv TCP
UDP
>1023 111(unix)
135(ms)
1/0(tcp)
**(udp)
Permit
OUT rpcSrv External TCP
UDP
111(unix)
135(ms)
>1023 1(tcp)
**(udp)
Permit
IN External rpcSrv TCP
UDP
>1023 any 1/0(tcp)
**(udp)
Permit
OUT rpcSrv External TCP
UDP
any >1023 1(tcp)
**(udp)
Permit
Any Any Any Any Any Any ** Deny
![Page 111: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/111.jpg)
RPC
Problema : Non si conosce a priori la porta che il
server RPC assegnerà al servizio.
Rischio: Intrusore:YYYY ServerRPC-Vittima:XXXX
111
![Page 112: index [homes.di.unimi.it]homes.di.unimi.it/anisetti/Teaching/FirewallStateless-Lezione1-2-3-old.pdfSPF: connessioni TCP Una connessione TCP passa attraverso il 3-way Handshake (scambio](https://reader036.vdocuments.site/reader036/viewer/2022062508/604519e32b66c87335222717/html5/thumbnails/112.jpg)
Protocolli firewall friendly
112
Quelli più semplici tipo ssh e Telnet
Non sono firewall friendly quelli che richiedono regole
complicate
FTP attivo
RPC