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 : De plus, il est nécessaire de bloquer tout le trafic sauf sur l'adresse 127.0.0.1. De ce fait, seules les règles définies par l'administrateur seront valides. Ceci s'effectue par les commandes :
	# 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 :
schéma Découpage Voici donc le code nécessaire:
	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