Vous êtes sur la page 1sur 6

TP 8.

1
TUDE DUN FIREWALL

OBJECTIFS
Comprendre le fonctionnement dun firewall et dune DMZ ;
tudier les rgles de filtrage et de translation entre rseaux prives et public.

PR-REQUIS
Systme dexploitation Linux, commandes de base.
Protocoles TCP/IP.
Principes de base du filtrage et de la translation dadresse et de port.

CONTEXTE
Vous devez disposer dun PC possdant une distribution Linux (sur une partition
spcifique, sur une cl USB bootable ou encore laide dun logiciel de virtualisa-
tion du type VMware ou VirtualBox). Le logiciel wireshark doit tre install sur
votre systme, le logiciel de virtualisation Netkit doit tre install sur la machine
Linux.

a) Cahier des charges


Lobjectif est de configurer un firewall permettant une entreprise de filtrer les
accs vers son rseau priv et de rendre accessible partir d'Internet un serveur
TP 8.1 Page 1 sur 6
TP- Le rseau Internet, des services aux infrastructures

web plac sur une zone neutre de type DMZ. Les adresses du rseau priv et du
serveur web seront masques. Le firewall utilis fonctionne sous Linux avec les
rgles de filtrage iptables.
Pour simplifier, le rseau local priv est reprsent par la machine LAN.
Lextrieur est reprsent par la machine INTERNET et le serveur web par la ma-
chine DMZ. L'accs entre les diffrentes machines est gr par le FIREWALL. Le
schma suivant prsente l'architecture du rseau avec le plan d'adressage :
LAN ROUTEUR/
INTERNET
FIREWALL

192.168.10.2/24 eth0 eth2 192.168.30.2/24


eth0 192.168.10.1/24 192.168.30.1/24 eth0

eth1
192.168.20.1/24

192.168.20.2/24 eth0

DMZ

Le firewall doit rpondre aux consignes suivantes :


il autorise l'accs vers un serveur web dInternet partir du LAN ;
il doit permettre le ping d'une machine vers une machine d'Internet (message
echo request) ;
il doit accepter en retour la rponse du ping (echo reply) ;
il ne doit pas autoriser une demande de connexion partir d'une machine venant
d'Internet ;
les machines du LAN ne doivent pas tre visibles d'Internet ;
les machines du LAN doivent pouvoir accder au serveur web de l'entreprise
localis dans la DMZ ;
une machine dInternet doit pouvoir accder au serveur web de la DMZ mais
ladresse de ce dernier doit tre masque de lextrieur.

TP 8.1 Page 2 sur 6


TP- Le rseau Internet, des services aux infrastructures

b) Mise en uvre du routage sans scurit


Le but de cette partie est de raliser l'interconnexion des quatre machines en confi-
gurant leurs interfaces Ethernet, en activant le routage IP sur la machine FIRE-
WALL et en configurant les tables de routage des machines sans contrler les ac-
cs (pas de rgle de filtrage particulire).
Dans votre rpertoire de travail, excutez les commandes suivantes pour crer
les quatre machines virtuelles sous Netkit et connecter les interfaces :
vstart LAN --eth0=A
vstart DMZ --eth0=B
vstart INTERNET --eth0=C
vstart FIREWALL --eth0=A eth1=B eth2=C

Attribuez aux machines les adresses IP suivant votre plan dadressage avec les
masques adquats (commande ifconfig). Dans la table de routage de chaque ma-
chine, rajoutez les lignes ncessaires (commande route add).
Vrifiez l'aide de la commande ping sur les que vous pouvez accder de
nimporte quelle machine toutes les autres machines.
Vrifiez sur la machine DMZ que le serveur web est oprationnel (commande
/etc/init.d/apache2 restart).
partir de la machine LAN, ouvrez un navigateur (ventuellement lynx en mode
console) et connectez-vous au serveur web pour vrifier son fonctionnement.

c) Configuration par dfaut du firewall


La commande iptables sous Linux permet de dfinir les rgles de filtrage des flux
en entre ou en sortie sur le routeur/firewall (beaucoup de tutoriaux sur iptables
existent sur Internet). Cette commande utilise trois chanes :
INPUT pour les paquets reus sur une interface ;
OUTPUT pour les paquets qui sont gnrs localement et qui sortent dune in-
terface ;
FORWARD pour les paquets qui entrent par une interface et qui sortent par une
autre.
Pour chaque chane, deux traitements sont possibles pour les paquets : ACCEPT ou
DROP.
Quelques commandes de base :
Pour afficher l'tat courant du firewall : iptables -L
Pour supprimer toutes les rgles du firewall (sauf les rgles par dfaut) : iptables
-F
TP 8.1 Page 3 sur 6
TP- Le rseau Internet, des services aux infrastructures

Pour dfinir la politique par dfaut : iptables -P regle -i interface option


Exemple : iptables -P INPUT -i eth0 DROP pour interdire par dfaut tout flux en
entre sur l'interface ethernet numro 0.
Pour ajouter une nouvelle rgle au firewall :
iptables -A regle -i interface -s @reseau/prfixe -d
@reseau/prfixe -p protocole -j option

Exemples

iptables -A INPUT -i eth0 -s 192.168.10.0/24 -d 192.168.20.0/24 80 -p


tcp -j ACCEPT

Cette commande accepte les flux en entre de l'interface eth0 pour un flux venant du r-
seau IP source 192.168.10.0 avec le masque 255.255.255.0 (24 bits "1") vers le rseau
destination 192.168.20.0 et le port 80 pour le protocole TCP.

iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.20.0/24 80 -p tcp


-j ACCEPT

Cette commande accepte le routage entre les rseaux IP 192.168.10.0 et 192.168.20.0


vers le port 80 pour le protocole TCP.

Ralisez une configuration par dfaut du firewall qui rejette tout flux dans les
chanes INPUT, OUTPUT et FORWARD (commande iptables -P). Vous pou-
vez utiliser un fichier script pour viter davoir saisir plusieurs fois les com-
mandes.
Vrifiez maintenant laide de pings que les trois machines (LAN ,INTERNET
et DMZ) ne peuvent plus communiquer.

d) Autorisation des pings


Le but de cette partie est de rajouter les rgles sur le firewall pour autoriser les
pings du LAN vers la DMZ.
Ajoutez les rgles de filtrage permettant d'accepter sur l'interface du firewall
cot LAN un ping venant du LAN. Donnez les rgles ajoutes.
Excutez votre script. Faites un ping partir du PC LAN vers l'interface
192.168.10.1 et vrifiez que cela fonctionne.
De la mme faon ajoutez et testez les filtres pour autoriser les pings entre la
DMZ et le firewall.
TP 8.1 Page 4 sur 6
TP- Le rseau Internet, des services aux infrastructures

Quelle chane devez vous modifier pour pouvoir pinger la DMZ partir du
LAN ? Effectuez la modification et testez.

e) Translation dadresse
Le but de cette partie est de raliser une translation pour toutes les adresses venant
du LAN et allant vers la DMZ.
Dans le programme iptables, la table nat est utilise pour les translations
dadresses. Comme pour le filtrage, cette table utilise trois chanes :
PREROUTING pour faire du DNAT (Destination NAT), la translation est rali-
se sur ladresse de destination avant le processus de routage. Exemple : pour un
paquet entrant vers un serveur web interne et masqu, le routeur va remplacer sa
propre adresse IP par ladresse du serveur web.
POSTROUTING utilise la sortie du routeur pour faire du SNAT (Source
NAT), l'adresse source est masque aprs le processus de routage. Exemple : un
ordinateur local veut sortir sur Internet, le routeur va remplacer l'adresse IP du
paquet mis en local par sa propre adresse.
OUTPUT pour les paquets qui sont gnrs localement et qui sortent dune in-
terface.
Pour les deux premires chanes, le traitement permettant de faire du masquage
est not MASQUERADE.
Exemple

iptables -t nat -A POSTROUTING -s 10.2.0.0/16 -d 10.3.0.0/16 -o eth2


-j MASQUERADE

Cette commande ajoute une rgle dans la table de translation dadresses nat du
routeur qui opre aprs la dcision de routage (postrouting) et qui masque (mas-
querade) le trafic provenant du rseau 10.2.0.0 et destination du rseau 10.3.0.0.
Ce dernier voit le trafic sortant de linterface eth2 comme provenant uniquement du
routeur.
Ajoutez une rgle sur le firewall permettant de faire de la translation d'adresse
entre le PC LAN et la DMZ. Donnez la rgle ajoute et justifiez les options
choisies (chane utilise, prerouting ou post routing, politique masquerade).
Excutez votre script.
Sur DMZ, excutez la commande tcpdump i eth1 pour raliser une capture de
trames. Sur LAN, tapez la commande ping 192.168.20.2 .
Donnez la squence des trames obtenue sur DMZ avant et aprs la mise en place
de la translation. Interprtez les rsultats obtenus.
TP 8.1 Page 5 sur 6
TP- Le rseau Internet, des services aux infrastructures

On souhaite maintenant permettre l'accs au serveur web de la DMZ pour les


machines du LAN.
Proposez les rgles de filtrage pour la chane FORWARD permettant une con-
nexion du LAN destination du serveur web, sur son port d'coute.
Testez laide dun navigateur sur LAN que laccs au serveur web fonctionne.

f) Filtrage entre LAN et INTERNET


Les machines du LAN ne doivent pas tre directement visibles de lInternet.
Ajoutez les rgles de filtrage pour accepter un ping et un accs un serveur web
situ sur internet. On ralisera une translation d'adresse pour toute machine ayant
comme adresse source le rseau LAN et comme rseau destination le rseau IN-
TERNET. Vrifiez les accs et la translation.

g) Filtrage entre DMZ et INTERNET


Le serveur web de la DMZ doit tre accessible partir de la machine INTERNET
mais pas directement avec l'adresse192.168.20.2. partir de la machine INTER-
NET, seule une connexion avec come URL : http://192.168.30.1 doit fonctionner.
Pour cela, il faut mettre en place une translation d'adresse du rseau DMZ vers le
rseau INTERNET et un forwarding de port pour que toute connexion HTTP ve-
nant d'INTERNET vers la machine 192.168.30.1 soit redirige vers la machine
192.168.20.2, sur le port d'coute du serveur web de la DMZ.
Ajoutez les rgles de filtrage iptables ncessaires pour raliser la translation
d'adresse et le forwarding de port (vous justifierez les options choisies : prerou-
ting ou post routing, SNAT ou DNAT).
Testez la configuration sur la machine INTERNET avec un navigateur sur
http://192.168.30.1.
Analysez avec tcpdump les trames obtenues lors de la connexion http prcdente
sur le pc DMZ.

TP 8.1 Page 6 sur 6

Vous aimerez peut-être aussi