Documente Academic
Documente Profesional
Documente Cultură
Concetti e definizioni
Introduzione ai firewall
Prof. Ing Claudio Cilli
cilli@di.uniroma1.it
Il modello ISO-OSI
Application
Presentation Applicativi
Session
Transport
Network
Trasporto
Datalink
Physical
2
Il modello ISO-OSI
Application
Application APPLICAZIONE
Presentation REDIRECTOR
Session NETBEUI TCP/I OSI TP4 XNS
P
Transport
Network
PROTOCOL MANAGER
Datalink Network Device Interface Specification (NDIS)
5
TCP/IP
6
Il protocollo IP
7
Header di un pacchetto IP
0 4 8 16 19 24 31
Destination IP Address
Options Padding
8
Header di un pacchetto IP
9
Header di un pacchetto IP
10
Header di un pacchetto IP
11
Indirizzi IP
12
Classi di indirizzi IP
• Classe A
– Concepiti per poche reti di dimensioni molto
grandi
– Massimo 128 reti di classe A
– 16,777,214 indirizzi
– Il primo campo è compreso tra 0 e 127
01 78 31
13
Classi di indirizzi IP
■ Classe B
• Concepiti per un numero medio di reti di dimensioni
medio grandi
• 14 bit riservati alla parte rete (16,384)
• 65,534 indirizzi
• Il primo campo è compreso tra 128 e 191
012 15 16 31
14
Classi di indirizzi IP
■ Classe C
• Concepiti per un numero molto elevato di reti di
dimensioni piccole
• 21 bit riservati alla parte rete (2,097,152)
• 254 indirizzi
• Il primo campo è compreso tra 192 e 223
0123 23 24 31
15
Classi di indirizzi IP
■ Classe D
• Applicazioni multicast secondo RCF 1112
• Il primo campo è compreso tra 224 e 239
012 34 31
■ Classe E
• Riservati per usi futuri
• Il primo campo è compreso tra 240 e 255
012 345 31
1 1 1 1 0 Riservati
16
Netmask
1 0 Network Host
17
Netmask
18
Netmask e routing
• La netmask viene messa in AND bit a bit con gli indirizzi IP per estrarre la
parte network e subnet. Tramite questo procedimento è possibile
verificare se due indirizzi appartengono alla stessa subnet. Es. netmask =
255.255.254.0, IP1 = 128.155.4.77, IP2 = 128.155.5.75. Netmask AND IP1
= 128.155.4.0, Netmask AND IP2 = 128.155.4.0
• Il protocollo ICMP (Internet Control Message Protocol) è il meccanismo a
basso livello con cui un host viene informato sul miglior percorso (route)
che un pacchetto deve seguire per giungere a destinazione, eventuali
problemi, o la necessità di terminare una connessione a causa di problemi
sulla rete
• Il comando Ping utilizza pacchetti echo_request per determinare se un
host è attivo; riceve pacchetti echo_reply in risposta. I pacchetti ICMP
redirect sono usati dai router per cambiare la routing table di un host in
modo da migliorare la trasmissione di pacchetti verso una determinata
destinazione
19
Routing
20
I protocolli ARP e RARP
• I pacchetti IP sono di solito inviati su una rete Ethernet, che utilizza indirizzi a 48bit
• L’Address Resolution Protocol (ARP) e il Reverse Address Resolution Protocol
(RARP) vengono utilizzati per mappare un indirizzo IP nel corrispondente Ethernet
(corrispondenza tra i livelli 3 e 2 OSI)
• I protocolli ARP e RARP sono descritti in RFC 826
• ARP viene usato tutte le volte che una stazione in LAN deve inviare un messaggio
ad un nodo della stessa LAN di cui conosce unicamente l’indirizzo di livello 3
• ARP lavora inviando un pacchetto Ethernet broadcast contenete l’indirizzo IP
desiderato. L’host di destinazione risponde inviando un pacchetto contenete il
proprio indirizzo. Per aumentare l’efficienza i nodi mantengono una cache locale
con le risposte ricevute alle richieste ARP
• RARP viene utilizzato dalle stazioni non dotate di memoria di massa (diskless) per
scoprire il loro indirizzo IP in fase di bootstrap
21
Il protocollo TCP
22
Il protocollo TCP
23
Header di un pacchetto TCP
0 4 8 16 24 31
Sequence number
Acknowledge Number
Options Padding
24
Header di un pacchetto TCP
25
Header di un pacchetto TCP
26
Alcune “Well Known Ports”
Nome Port Number Descrizione
ftp-data 20/tcp File transfer
(default data)
ftp 21/tcp File transfer
(control)
telnet 23/tcp Telnet
smtp 25/tcp Simple Mail
Transfer
finger 79/tcp Finger
www-http 80/tcp World Wide Web
HTTP
http-proxy 8080/tcp HTTP Proxy
auth 113/tcp Authentication
Service
nntp 119/tcp Network News
Transfer Protocol
27
Il protocollo UDP
28
Header di un pacchetto UDP
0 16 31
Data
29
Servizi
30
Servizi
■ TELNET
• Telnet è un protocollo che fornisce un accesso al computer remoto
in semplice emulazione di terminale. La password e gli altri dati
transitano in rete durante la sessione. Per questo è consigliabile
l’utilizzo della One Time Password (OTP) e della crittografia
■ SMTP
• Il Simple Mail Transfer Protocol (SMTP) viene utilizzato per
trasferire file di testo ASCII di 7-bit. Il suo impiego più comune è
per la posta elettronica (E-mail), il cui programma unix (sendmail)
in passato era affetto da molti bug. Il Multipurpose Internet Mail
Extension (MIME) arricchisce il protocollo con l’inclusione, tra
l’altro, del tipo di messaggio trasmesso nel mail header, in modo
che possa venire utilizzato un programma di visualizzazione
esterno (es.: GIF viewer, interprete PostScript, ecc.)
31
Servizi
■ HTTP
• L’HyperText Transfer Protocol (HTTP) viene utilizzato il
trasferimento rapido di documenti ipertestuali in rete. Viene
principalmente impiegato per trasferire documenti formattati in
HTML (Hypertext Markup Language), ma è stato progettato per
supportare altri protocolli, tra cui FTP. La codifica MIME è anche
supportata. L’impiego principale è nel World Wide Web (WWW)
■ NNTP
• Il Network News Transfer Protocol (NNTP) serve per il
trasferimento delle netnews. Network news è un sistema di gruppi
di discussione a livello mondiale dove ognuno può scrivere
messaggi e leggere tutti quelli presenti. E’ organizzato in molti
(oltre 2500) gruppi di discussione, alcuni moderati, che
abbracciano i più svariati argomenti: computer, scienza, politica,
ecc.
32
Servizi
■ DNS
• Il Domain Name Server (DNS) consiste in un sistema di database
distribuiti utilizzato per realizzare la corrispondenza (map) tra nomi
di host e indirizzi IP e viceversa. Ogni sistema in Internet utilizza il
DNS per ottenere le informazioni di indirizzamento per un
determinato host
■ NIS
• Il Network Information System (NIS) viene utilizzato per distribuire
i database di configurazione di rete dal server centrale ai suoi
client. Viene utilizzato per l’amministrazione dei computer di una
rete da un sistema centrale
33
Servizi
■ NFS
• Il Network File System (NFS), originariamente sviluppato dalla
Sun Microsystems, consente la condivisione trasparente per
l’utente di file e directory in una rete. Un sistema può montare un
disco di un’altra stazione ed utilizzarlo come se fosse un’unità
locale
■ X.11
• L’X.11 Windowing System utilizza la rete per le comunicazioni tra
le applicazioni e il display, così che l’applicazione può essere
eseguita su un sistema, e i suoi risultati visualizzati su un altro. Le
applicazioni client si connettono al display server per accedere al
video, tastiera, mouse, ecc. Ogni programma che accede al
display server può registrare tutte le attività effettuate dalla
tastiera, comprese le password
34
Servizi
■ Comandi-R
• I comandi “r” si riferiscono ad alcuni del sistema unix versione
Berkeley: rlogin, rsh, rexec, rwho, rcp. Rlogin per effettuare un login
remoto da un sistema verso un altro; rsh e rexec per l’esecuzione
remota di comandi, rwho per verificare quali utenti siano connessi ad
un elaboratore remoto, e rcp per la copia di file da/verso un sistema
remoto. A seconda della configurazione, questi comandi possono
essere utilizzati senza richiede la password; inoltre parte della
configurazione è mantenuta dagli utenti
■ Finger
• Il protocollo Finger serve per ottenere informazioni su un particolare
utente o sugli utenti collegati alla rete. Fornisce in genere
informazioni quali: l'ultima volta che l’account è stato usato e da dove
è avvenuta l’ultima connessione di un determinato utente
35
Antri servizi
■ BOOTP
• Il Boot Protocol (BOOTP) è un protocollo per il bootstrap via rete
di stazioni diskless
■ ISODE
• L’ISO Development Environment (ISODE) è un ambiente di
sviluppo per applicativi OSI su reti TCP/IP
■ SNMP
• Il Simple Network Management Protocol (SNMP) è un protocollo
per la gestione degli apparati, basato su UDP/IP. SNMP è stato
progettato per inviare dati sullo stato della rete provenienti dagli
apparati ad un centro di gestione che li interpreti in modo
opportuno. Con SNMP è anche possibile modificare alcuni
parametri degli apparati di rete
36
Altri servizi
■ NIR
• I Network Information Retrieval (NIR) sono servizi di tipo ipertestuale,
distribuiti, che permettono di accedere ad un’ampia quantità di
informazioni in modo semplice ignorando dove l’informazione si trovi. Tra
questi ricordiamo WAIS, Gopher, WWW, netfind e X.500. Quest’ultimo è
un applicativo nato nel mondo OSI, ma portato in quello Internet tramite
ISODE
■ Servizi Multicast
• Sono gli ultimi ad essere stati sviluppati nel mondo Internet. Si tratta di
servizi di audio e video conferenza basati su TCP/IP che affrontano
problematiche nuove, quali quelle della multimedialità su rete. Tra questi
ricordiamo Internet Radio Talk, IETF TV e Multimedia, Multiprotocol
World. Nell’ambito di Internet è stata definita una sottorete logica per
fornire servizi di video e audio conferenza detta MBONE (Multicast
backBONE)
37
Il concetto di Firewall
38
Cosa il firewall non può fare
39
Panoramica sulle configurazioni
40
Configurazioni di firewall
Sistema di
trasmissione INTERNET
Firewall
41
Configurazioni di firewall
Sistema stand-alone
Internet
42
Configurazioni di firewall
• Sistema stand-alone
– Talvolta non è necessario connettere la rete interna a Internet. I servizi
Internet possono essere raggiunti dalle singole stazioni di lavoro con
collegamenti diretti a un particolare sistema connesso ad Internet e
non alla rete interna
– I vari utenti possono così usufruire dei servizi Internet senza esporre i
dati presenti sulla rete interna ad attacchi provenienti dall’esterno
– L’unità stand-alone può fornire i servizi FTP e Web. Gli utenti interni
hanno bisogno di accedere direttamente all’unità stand-alone.
Eventualmente una connessione diretta a Internet può essere stabilita
solo per i servizi di posta elettronica
– Questo sistema si comporta come un firewall, ma non protegge
realmente una rete dall’altra
43
Configurazioni di firewall
Screening router
ACL
Internet
44
Configurazioni di firewall
• Screening router
– E’ un router in grado di filtrare i pacchetti in transito sulla base di
regole definite dall’utente. Poiché la maggior parte delle reti è dotata
di router e questi dispongono in genere di capacità di filtraggio, lo
screening router è il più economico sistema firewall
– Il router esamina le regole di filtro per determinare se un pacchetto
deve essere eliminato o meno in base ai suoi indirizzi di provenienza
e destinazione
– La definizione delle regole, dette Access Control List (ACL) è
un’attività complessa e che può causare errori. E’ inoltre necessario
conoscere perfettamente i protocolli TCP e UDP. Le regole sono
inoltre difficili da scrivere e mantenere
– Gli screening router sono in genere parte di un sistema firewall, e non
costituiscono la sola linea di difesa
45
Configurazioni di firewall
Dual-homed gateway
Internet
46
Configurazioni di firewall
■ Dual-homed gateway
• Un dual-homed gateway è un sistema con due interfacce (schede)
di rete: una si collega alla rete interna e l’altra a Internet. Gli utenti
di entrambe le reti
• I vari utenti possono così usufruire dei servizi Internet senza
esporre i dati presenti sulla rete interna ad attacchi provenienti
dall’esterno
• L’unità stand-alone può fornire i servizi FTP e Web. Gli utenti
interni hanno bisogno di accedere direttamente all’unità stand-
alone. Eventualmente una connessione diretta a Internet può
essere stabilita solo per i servizi di posta elettronica
• Questo sistema si comporta come un firewall, ma non protegge
realmente una rete dall’altra
47
Configurazioni di firewall
ACL
Bastion host
unico sistema
che può comunicare con il router
Internet
48
Configurazioni di firewall
49
Configurazioni di firewall
ACL1 ACL2
Bastion host
Internet
50
Configurazioni di firewall
51
Firewall software
• Wrapper program
– Un programma wrapper è un servizio di front-end: si “avvolge” (wrap)
sul servizio desiderato per proteggerlo
– Quando quel servizio è richiesto, il programma wrapper intercetta la
richiesta, verifica i diritti di accesso, e alla fine passa la richiesta al
servizio
– Un programma wrapper è di tipi general-purpose, completamente
invisibile, e non richiede modifiche ai programmi server o client
• Packet filtering
– Un packet filter svolge le stesse funzioni di uno screening router, ma
ciò è ottenuto via software dal sistema operativo
– E’ più lento di un filtro hardware, ma è di gran lunga più economico
– Talvolta è in grado di crittografare i dati in transito tra le due reti
52
Firewall software
53