Criteri standard di match
Le possibilità di matching di pacchetti secondo diversi criteri sono molte e possono essere abbinate nella stessa regola.
Il carattere ! si usa come negazione (NOT logico):
Criteri di match standard:
-p [!] proto
- Protocollo IP. Secondo IP number o nome (es: tcp, udp, gre, ah...)
-s [!] address[/mask]
- Indirizzo IP sorgente (o network con maschera di sottorete)
-d [!] address[/mask]
- Indirizzo IP destinazione (o network)
-i [!] interface[+]
- Interfaccia di rete di entrata ([+] wildcard)
-o [!] interface[+]
- Interfaccia di rete di uscita ([+] wildcard)
-f
- Frammento di pacchetto
Estensioni per principali protocolli
TCP (-p tcp
)
--sport port[:port]
- La porta o il range di porte TCP sorgenti (Per un range da 1 a 1024: 1:1024
--dport port[:port]
- La porta o il range di porte TCP di destinazione
--tcp-flags flag
- I flag TCP del pacchetto attivi (SYN, ACK, FIN, RST, URG, PSH)
--syn
- Pacchetti con solo SYN attivo (nuove connessioni)
--tcp-option option
- Match per specifiche opzioni della intestazione TCP
Esempio per droppare tutti i pacchetti TCP in entrata su porte privilegiate:
iptables -I INPUT -p tcp --syn --dport 0:1024 -j DROP
UDP (-p udp
)
--sport port[:port]
- La porta o il range di porte UDP sorgenti (Per un range da 1 a 1024: 1:1024
--dport port[:port]
- La porta o il range di porte UDP di destinazione
Esempio per permettere pacchetti UDP per traceroute:
iptables -I INPUT -p udp --sport 32769:65535 --dport 33434:33523 -j ACCEPT
ICMP (-p icmp
)
--icmp-type type
- Match sul tipo di pacchetto ICMP in formato numerico o completo (iptables -p icmp --help
per un elenco dei tipi ICMP)
Esempio per permettere pacchetti UDP per traceroute:
iptables -I INPUT -p udp --sport 32769:65535 --dport 33434:33523 -j ACCEPT