Firewall Architecture
Firewall Architecture
Gianni Bianchini
[email protected]
Master in Economia digitale & E-business ` Centro per lo studio dei sistemi complessi - Universita di Siena Giugno 2004
(C) 2004 Gianni Bianchini Sono consentite la copia integrale e la redistribuzione in forma non modicata di questo documento a condizione che questa nota di copyright sia riprodotta.
A RCHITETTURE
FIREWALL
Sommario
Motivazioni. Servizi internet, tipologie di attacco, approcci alla sicurezza Progetto di un rewall per una rete aziendale Architetture tipiche Host bastione Filtraggio e proxying Filtraggio del trafco di rete Indirizzamento delle reti private Filtraggio a livello applicazione e trasporto Filtraggio stateless e stateful Trafco TCP, UDP, ICMP, casi tipici Attacchi Il paradigma netlter (kernel Linux) Esempio applicativo
A RCHITETTURE
FIREWALL
Motivazioni
Molte problematiche di sicurezza dei sistemi informatici ed in particolare delle ` reti nascono dalla necessita di proteggere Dati Privacy ` Integrita ` Disponibilita Risorse ` Integrita hardware e software Tempo di calcolo / memoria Reputazione ` Furto di identita (es. accesso a chiavi private) Catena di attacchi (mascheramento provenienza originaria) Presenza materiale indesiderato in archivi pubblici Web site defacement
A RCHITETTURE
FIREWALL
A RCHITETTURE
FIREWALL
` ` Alibi per lattivita di auditing/correzione di vulnerabilita Inefcace sul lungo termine Sicurezza logica e full disclosure Il funzionamento del sistema, gli algoritmi impiegati e le soluzioni di protezione sono perfettamente note ` La sicurezza e demandata alla segretezza delle informazioni di accesso (password, chiavi) ` Eventuali vulnerabilita vengono rese pubbliche ` Implica continue veriche di afdabilita degli algoritmi e correzione dei problemi anche on-site
A RCHITETTURE
FIREWALL
A RCHITETTURE
FIREWALL
A RCHITETTURE
FIREWALL
A RCHITETTURE
FIREWALL
A RCHITETTURE
FIREWALL
A RCHITETTURE
FIREWALL
10
A RCHITETTURE
FIREWALL
11
A RCHITETTURE
FIREWALL
12
Filtraggio sulla base dellinformazione contenuta nel singolo pacchetto Indirizzo IP sorgente Indirizzo IP destinazione Tipo di protocollo di trasporto (TCP, UDP, ICMP, ...) Porta TCP/UDP sorgente Porta TCP/UDP destinazione Tipo di messaggio ICMP Esempio: blocco connessioni entranti tranne quelle sulla porta 25/TCP dellhost mail-server e su 80/TCP dellhost www-server
A RCHITETTURE
FIREWALL
13
Lavora a livello applicazione Funge da tramite fra client e server inoltrando le richieste e presentando le risposte Filtra le richieste in accordo con la policy di sicurezza Effettua funzioni di caching
A RCHITETTURE
FIREWALL
14
Architetture
A RCHITETTURE
FIREWALL
15
No routing (trafco IP diretto non consentito) Accesso solo mediante application gateway (HTTP, SMTP, ...) Accesso mediante login esplicito sul dhh Necessaria particolare attenzione agli account Non adeguata a fornire servizi pubblicamente disponibili Possibile compromissione diretta di host sulla rete interna
A RCHITETTURE
FIREWALL
16
Router ltrante + host bastione nella rete interna Servizi pubblicamente accessibili Connessioni dallesterno permesse verso il solo bastione per i protocolli ammessi Accesso esterno Accesso diretto coi protocolli consentiti via packet ltering Accesso indiretto mediante proxy sul bastione
A RCHITETTURE
FIREWALL
17
Debolezze La compromissione del bastione implica la compromissione della rete interna (single point of failure) Necessarie forti misure di sicurezza host level La compromissione del router implica la compromissione della rete interna Vantaggi Congurazione del router meno prona ad errori rispetto a quella del dual-homed host
A RCHITETTURE
FIREWALL
18
Rete perimetrale (DMZ, DeMilitarized Zone) ` Lintrusione sugli host bastione NON da accesso diretto alla rete interna (multiple points of failure) ` Possibilita strati multipli Strati piu esterni: risorse piu vulnerabili e/o meno critiche ` ` Strati piu interni: risorse maggiormente critiche `
A RCHITETTURE
FIREWALL
19
DMZ ` Impossibilita di intercettare il trafco sulla rete interna Possibile intercettazione del trafco Internet - rete interna e rete interna bastione Bastione Fornisce i servizi esterni (HTTP, SMTP, ...) ` Puo agire da proxy per connessioni uscenti (altrimenti possibili attraverso packet forwarding)
A RCHITETTURE
FIREWALL
20
Router interno Protezione dellaccesso alla rete interna dallesterno *e* dalla DMZ Importante. Ridurre al minimo il livello di ducia della rete interna nei confronti del bastione ` No possibilita di connessione ai servizi interni ` No possibilita di uso di risorse interne (es. le system condivisi) Router esterno Protezione della DMZ e ltraggio ridondante dellaccesso alla rete interna Prevenzione IP spoong
A RCHITETTURE
FIREWALL
21
A RCHITETTURE
FIREWALL
22
A RCHITETTURE
FIREWALL
23
` Espone la rete interna se il bastione e compromesso Le regole di ltraggio del router possono venir modicate
A RCHITETTURE
FIREWALL
24
Host bastione
Congurazione tesa alla minimizzazione del danno in caso di compromissione Locazione sica: prevenire intercettazione di informazioni riservate Rete perimetrale (DMZ) Rete interna dietro ethernet switch ` Necessita di misure a livello host sui client della rete interna per limitare il trust nei confroni del bh
A RCHITETTURE
FIREWALL
25
Con accesso diretto (routing + packet ltering) Servizi sicuri, es. accesso interattivo SSH Via proxy HTTP, FTP, SMTP Accesso non sicuro alla rete interna (es. FTP, TELNET): evitare o usare misure addizionali (es. one-time passwords sul proxy) Evitare account utente sul bastione
A RCHITETTURE
FIREWALL
26
A RCHITETTURE
FIREWALL
27
Packet ltering
Incapsulamento dati
A RCHITETTURE
FIREWALL
28
Packet ltering
IP: anatomia di un pacchetto
Confronto delle informazioni contenute nellheader con regole assegnate Esempio: non inoltrare le connessioni dalla rete 192.168.0.0/16 DENY FWD src=192.168.0.0/16 dest=any
A RCHITETTURE
FIREWALL
29
Packet ltering
IP: frammentazione
I frammenti sono riassemblati a livello dellhost destinazione Campo header presente solo nel primo frammento I frammenti successivi al primo non vengono di solito ltrati ` Possibilita di fuga di informazioni non formattate
A RCHITETTURE
FIREWALL
30
A RCHITETTURE
FIREWALL
31
Packet ltering
TCP (Transmission Control Protocol) Connection-oriented, bidirezionale, stream ` ` Reliable, controllo di integrita e sequenzialita Usato dai servizi HTTP, FTP, SMTP, NNTP ed altri Necessita lo stabilirsi di una connessione ` Ogni servizio e identicato da una porta (port) Three-way handshake Filtraggio sulla base di porta (sorgente/destinazione), ag SYN e ACK Esempio: inoltrare solo connessioni da dovunque ad un server HTTP www (80/TCP) ALLOW FWD source=any dest=www proto=tcp dport=80 DENY FWD source=any dest=any proto=tcp flags=SYN
A RCHITETTURE
FIREWALL
32
Packet ltering
UDP (User Datagram Protocol) Non connection-oriented ` Nessun controllo di integrita Basso overhead Usato da DNS, NFS, NetBIOS Servizi identicati da porte Nel pacchetto non esistono informazioni sullo stato della connessione (non esiste connessione) ` Possibilita di ltraggio stateful, test di coerenza con trafco UDP precedente Esempio: permettere solo connessioni al server DNS dnsserv (53/UDP) ALLOW FWD source=any dest=dnsserv proto=UDP dport=53 ALLOW FWD source=any dest=any proto=UDP state=RELATED DENY FWD source=any dest=any proto=UDP
A RCHITETTURE
FIREWALL
33
Packet ltering
ICMP (Internet Control Message Protocol) Echo request (type 8) Echo reply (type 0) Time exceeded (type 11) Destination unreachable (type 3) Redirect (type 5) ... Filtraggio sul valore del campo type, anche stateful Esempio: accettare solo Echo request, Echo reply, Time exceeded, Destination unreachable ALLOW ALLOW ALLOW ALLOW DENY FWD FWD FWD FWD FWD src=any src=any src=any src=any src=any dest=any dest=any dest=any dest=any dest=any proto=ICMP proto=ICMP proto=ICMP proto=ICMP proto=ICMP type=8 type=11 type=3 state=RELATED
A RCHITETTURE
FIREWALL
34
A RCHITETTURE
FIREWALL
35
Input chain
Output chain
Processi locali
A RCHITETTURE
FIREWALL
36
A RCHITETTURE
FIREWALL
37
A RCHITETTURE
FIREWALL
38
A RCHITETTURE
FIREWALL
39
Esempio
A RCHITETTURE
FIREWALL
40
Esempio
Internet eth0 62.144.12.25 Router eth1 10.0.0.1 Intranet 192.168.0.1 eth2 192.168.0.2 DMZ Bastione
Speciche: Accesso al solo servizio HTTP sul bastione da internet e dalla intranet Connessioni uscenti libere dalla intranet a internet ` Il bastione non puo creare connessioni alla intranet ` N.B. Necessita di source e destination NAT
A RCHITETTURE
FIREWALL
41
Esempio
Impostazione policy di FORWARD iptables -P FORWARD DROP Anti-spoong iptables -A iptables -A iptables -A iptables -A
-s -s -s -s
10.0.0.0/8 -i eth0 -j DROP 10.0.0.0/8 -i eth2 -j DROP 192.168.0.0/16 -i eth0 -j DROP 192.168.0.0/16 -i eth1 -j DROP
Il trafco dalla intranet verso internet deve essere inoltrato (e mascherato) iptables -A FORWARD -s 10.0.0.0/8 -d ! 192.168.0.0/16 -j ACCEPT iptables -A FORWARD -d 10.0.0.0/8 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j SNAT --to 62.144.12.25
A RCHITETTURE
FIREWALL
42
Esempio
DMZ iptables -t nat -A PREROUTING -i eth0 -d 62.144.12.25 -p tcp --dport 80 -j DNAT --to 192.168.0.2:80 iptables -A FORWARD -d 192.168.0.2 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -s 192.168.0.2 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.0.2 -o eth0 -j SNAT --to 62.144.12.25
A RCHITETTURE
FIREWALL
43
Bibliograa
D. Brent Chapman, E. D. Zwicky, Building internet rewalls, OReilly, 1999 Anonymous, Maximum security, SAMS, 1999 W. R. Stevens, TCP/IP Illustrated, Addison Wesley, 1994 R. Russell - Packet ltering HOWTO - http://www.netfilter.org Vari, Firewalls FAQ, http://www.faqs.org/faqs/firewalls-faq Vari, Internet Firewalls - Resources, http://www.cerias.purdue.edu/coast/firewalls/fw-body.html S. Piccardi, GaPiL, Guida alla Programmazione in Linux, http://gapil.firenze.linux.it