Il firewall di Linux: IPTables 19 Settembre 2005
IPTables Un firewall basato su IPTables consiste di tre diversi oggetti fondamentali. Regole Catene Tabelle
IPTables REGOLE Sono gli oggetti di piu basso livello. Definiscono come devono essere manipolati i pacchetti. E composta da piu parti: 1.La tabella a cui deve essere aggiunta. La default e filter. 2.La catena a cui deve essere aggiunta. Ad esempio puo essere input, output o forward 3.Le istruzioni di filtraggio (o manipolazione) 4.Il target della regola che definisce cosa deva fare il pacchetto che corrisponde alla regola. Ad esempio puo essere accept, drop o log.
IPTables CATENE Le regole viste in precedenza sono organizzate in catene. Quelle che utilizzeremo per realizzare un firewall sono sempre disponibili e sono: 1.Input 2.Output
IPTables TABELLE Le regole viste in precedenza sono organizzate in catene. Quelle che utilizzeremo per realizzare un firewall sono sempre disponibili e sono: 1.Filter. Utilizzata per il filtraggio dei pacchetti (firewall) 2.Nat 3.Mangle
IPTables Realizzazione di un firewall Per avviare il servizio: /etc/init.d/iptables start Lista regole: iptables -L Per svuotare una tabella (flush): iptables -F
IPTables Realizzazione di un firewall Per aggiungere una regola alla tabella filter: iptables -t filter Si deve scegliere poi la catena di input o output: iptables -t filter –A INPUT Si deve scegliere poi quale proprieta del pacchetto controllare: iptables -t filter –A INPUT --source Infine si decide lazione da intraprendere per quel pacchetto (target) iptables -t filter –A INPUT --source –j drop
IPTables Realizzazione di un firewall –Controllo del protocollo iptables -A INPUT --protocol tcp -j ACCEPT La lista dei protocolli si trova in /etc/protocols
IPTables Realizzazione di un firewall –Controllo del protocollo TCP –Opzioni specifiche, ad es. la porta iptables -A INPUT --protocol tcp --source-port 80 -j LOG iptables -A INPUT --protocol tcp --source-port 20:21 -j ACCEPT
IPTables Realizzazione di un firewall –Controllo del protocollo TCP –Opzioni specifiche, ad es. i flags iptables -A INPUT --protocol tcp --tcp-flags ! SYN,ACK,FIN SYN,ACK -j LOG
IPTables Realizzazione di un firewall –Controllo del protocollo ICMP iptables -A INPUT --protocol icmp --icmp-type echo-request -j LOG Questo esempio tiene traccia di tutti i pacchetti di risposta al ping
IPTables Realizzazione di un firewall –Controllo stateful dei pacchetti iptables -A INPUT --match state --state ESTABLISHED -j ACCEPT Questo esempio fa si che il firewall lasci passare tutti i pacchetti relativi a connessioni gia stabilite (access-list 103 permit tcp any established)