User Tools

Site Tools


admin:tp5

This is an old revision of the document!


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>) :

  • INPUT : tout ce qui rentre dans la machine ;
  • OUTPUT : tout ce qui sort dans la machine ;
  • FORWARD : tout ce qui traverse la machine (i.e. lors du routage).

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>) :

  • ACCEPT : on accepte ;
  • REJECT : on rejette poliment (réponse d'erreur envoyé à l'émetteur) ;
  • DROP : on jette à la poubelle (pas de réponse d'erreur).

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>
  • avec <SRC> des indications sur la provenance des paquets IP, comme par exemple “-i eth0” ou “-s 192.168.0.0/24” ou encore “-s 0/0” ;
  • avec <DST> des indications sur la destination des paquets IP, comme par exemple : “-o eth1” ou “-d 147.210.0.0/24” ;
  • avec <…> des infos complémentaires sur par exemple la nature du protocole “-p icmp” ou “-p tcp”, avec éventuellement des precisions spécifiques à ces protocoles (“–dport 80” pour TCP) ou encore sur l'état “-m state –state NEW”, …

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 
admin/tp5.1457687511.txt.gz · Last modified: 2024/03/18 15:04 (external edit)