Il firewall di Linux:
IPTables
19 Settembre 2005
[email protected]
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.
2.
Input
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.
2.
3.
Filter. Utilizzata per il filtraggio dei pacchetti (firewall)
Nat
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 192.168.0.1
Infine si decide l’azione da intraprendere per quel pacchetto (target)
iptables -t filter –A INPUT --source 192.168.0.1 –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 192.168.8.0 0.0.7.255 established)
Scarica

IPTables