Ipchains : Présentation et Exemple
Un exemple d'utilisation : mise en place des règles
Généralités
Le principe mise en place pour cet exemple reste vrai quelque soit le probleme de sécurité que l'on souhaite résoudre.Il faut :
- Autoriser le PING sur le réseau afin de connaître les machines accecibles
- Autoriser le TRACEROUTE sur le réseau
- Autoriser l'accès au DNS
# ipchains -A input -i !lo -j DENY
# ipchains -A output -i !lo -j DENY
# ipchains -A forward -j DENY
Découpage du problème
Afin de faciliter la mise en place des règles, il est possible de créer de nouvelles chaînes basées sur la chaîne FORWARD. Le découpage peut être effectué en fonction des interfaces de la machine principale et du sens du trafic.Proposition de découpages :

création de sous chaîne
# ipchains -N bon-zdm
# ipchains -N mauvais-zdm
# ipchains -N bon-mauvais
# ipchains -N zdm-bon
# ipchains -N zdm-mauvais
# ipchains -N mauvais-bon
affectation des chaînes
# ipchains -A forward -s 192.168.1.0/24 -i eth0 -j bon-zdm
# ipchains -A forward -s 192.168.1.0/24 -i ppp0 -j bon-mauvais
# ipchains -A forward -s 192.84.219.0/24 -i ppp0 -j zdm-mauvais
# ipchains -A forward -s 192.84.219.0/24 -i eth1 -j zdm-bon
# ipchains -A forward -i eth0 -j mauvais-zdm
# ipchains -A forward -i eth1 -j mauvais-bon
# ipchains -A forward -j DENY -l
Rédaction des règles
Configuration de la Chaîne {bon-zdm}:
Il paraît logique que les utilisateurs du réseau considérer comme bon aient accès à toutes les fonctionnalités du réseau ZDM.Nous pouvons déduire les commandes suivantes :
Autorise le SMTP vers le serveur mail
# ipchains -A bon-zdm -p tcp -d 192.84.219.128 smtp -j ACCEPT
Autorise le POP3 vers le serveur mail
# ipchains -A bon-zdm -p tcp -d 192.84.219.128 pop-3 -j ACCEPT
Autorise les requêtes DNS vers le serveur de nom
# ipchains -A bon-zdm -p udp -d 192.84.219.129 domain -j ACCEPT
# ipchains -A bon-zdm -p tcp -d 192.84.219.129 domain -j ACCEPT
Autorise le WWW vers le serveur web
# ipchains -A bon-zdm -p tcp -d 192.84.218.130 www -j ACCEPT
Configuration de la Chaîne {mauvais-zdm}:
La ZDM est souvent utilisée par les entreprises pour fournir un service à des clients qui se connectent de l'extérieur. Considérons ici que l'utilisation de la ZDM se rapproche de ceci. De ce fait, les services proposés par la ZDM doivent être accessibles du mauvais réseau.Voici les commandes qui concernent le Serveur mail :
Autorise le SMTP
# ipchains -A mauvais-zdm -p tcp -d 192.84.219.128 smtp -j ACCEPT
Voici les commandes qui concernent le Serveur DNS :
Autorise les requêtes DNS en udp et tcp
#ipchains -A mauvais-zdm -p udp -d 192.84.219.129 domain -j ACCEPT
#ipchains -A mauvais-zdm -p tcp -d 192.84.219.129 domain -j ACCEPT
Voici les commandes qui concernent le Serveur WWW :
Autorise les requêtes HTTP
# ipchains -A mauvais-zdm -p tcp -d 192.84.218.130 www -j ACCEPT
Configuration de la Chaîne {bon-mauvais} :
Considérons qu'il existe certains services présents sur le mauvais réseau qui pourrait être nécessaire aux utilisateurs du bon réseau. Ceci n'est qu'une hypothèse que l'administrateur du firewall peut faire. Dans la mesure ou permettre un tel trafic n'est pas dangereux, nous pouvons autoriser le trafic web et ftp.Nous pouvons déduire les commandes suivantes :
Autorise le WWW vers l'extérieur
# ipchains -A bon-mauvais -p tcp -d 192.84.219.0 www -j ACCEPT
Autorise le ftp vers l'extérieur
# ipchains -A bon-mauvais -p tcp -d 192.84.219.0 ftp -j ACCEPT
Configuration de la Chaîne {zdm-bon} :
Nous avons autorisé l'accès aux services depuis le bon réseau. Il est donc important de pouvoir laisser les réponses transitées vers le bon réseau.Nous pouvons déduire les commandes suivantes :
Autorise SMTP vers le serveur mail
# ipchains -A zdm-bon -p tcp -s 192.84.219.128 smtp -j ACCEPT
Autorise POP3 vers le serveur mail
# ipchains -A zdm-bon -p tcp -s 192.84.219.128 pop-3 -j ACCEPT
Autorise le DNS vers le serveur de noms
# ipchains -A zdm-bon -p tcp -s 192.84.219.129 domain -j ACCEPT
Autorise WWW vers le serveur web
# ipchains -A zdm-bon -p tcp -s 192.84.219.130 www -j ACCEPT
Configuration de la Chaîne {mauvais-bon} :
Le principal intérêt de la mise en place du Firewall est présent ici. Le réseau que l'on souhaite atteindre est bon, et doit le rester. Autoriser quelconque trafic en provenance du mauvais réseau serait une erreur. Nous allons donc tout refuser.Voici les commandes:
On refuse tout
# ipchains -A mauvais-bon -j REJECT
Configuration de la Chaîne {zdm-mauvais} :
Nous avons autorisé l'accès aux services depuis le mauvais réseau. Il est donc important de pouvoir laisser les réponses transitées vers le mauvais réseau.Nous pouvons déduire les commandes suivantes :
SMTP vers l'extérieur
# ipchains -A zdm-mauvais -p tcp -s 192.84.219.128 smtp -j ACCEPT
Envoi de requêtes DNS vers l'extérieur
# ipchains -A zdm-mauvais -p udp -s 192.84.219.129 domain -j ACCEPT
# ipchains -A zdm-mauvais -p tcp -s 192.84.219.129 domain -j ACCEPT
Accepte HTTP venant de l'extérieur
# ipchains -A zdm-mauvais -p tcp -s 192.84.218.130 www -j ACCEPT