TP5 (Firewall)

Memento

Voici quelques notes concernant l'utilisation d'iptables pour configurer un firewall. La configuration du firewall se base sur la table “filter” et est subdivisée en 3 chaînes (notée <CHAIN>) :

Pour afficher les règles de la table filter :

$ iptables -t filter -L -v

Pour effacer toutes les règles ajoutées :

$ iptables -t filter -F

Pour chaque règle que l'on ajoute, trois actions sont possibles (notée <ACTION>) :

Pour modifier la politique par défaut du firewall :

$ iptables -t filter -P <CHAIN> <ACTION>

Pour ajouter une nouvelle règle à une chaîne du firewall (attention à l'ordre des règles) :

$ iptables -t filter -A <CHAIN> <SRC> <DST> <...> -j <ACTION>

Pour plus d'info, consulter le manuel : man iptables.

Accepter le traffic partant du réseau interne vers des serveurs web ou SSH

Soit 192.168.1.0/24 notre réseau interne. On configure le firewall sur immortal notre passerelle.

$ iptables -F
$ iptables -P FORWARD DROP
$ iptables -P INPUT DROP
$ iptables -P OUTPUT DROP
 
# traffic sortant
$ iptables -A FORWARD -s 192.168.1.0/24 -m multiport -p tcp --dport 22,80 -j ACCEPT
 
# traffic retour
$ iptables -A FORWARD -d 192.168.1.0/24 -m multiport -p tcp --sport 22,80 -m state --state ESTABLISHED -j ACCEPT
Accepter un ping toutes les 10s à destination de nile

Soit nile la machine 192.168.0.4. On configure le firewall sur immortal notre passerelle.

$ iptables -F
$ iptables -P FORWARD DROP
$ iptables -A FORWARD -d 192.168.0.4 -p icmp -m limit --limit 6/mn --limit-burst 1 -j ACCEPT
$ iptables -A FORWARD -s 192.168.0.4 -p icmp -m state --state ESTABLISHED -j ACCEPT

Pour faire un test depuis une machine extérieure, on envoie un ping à nile toutes les 5 secondes…

$ ping -i 5 192.168.0.4