Lors de cette séance double de TP, on étudie la configuration classique de filtrage avec 3 réseaux (extérieur, intérieur, DMZ) et un unique pare-feu dans 4 configurations différentes :
iptables
sous Debian GNU/Linux ;
pf
.
Cette fiche scénarise la configuration Netkit ainsi que la démarche pour réaliser la configuration OpenBSD. Prévoir 1h30 par configuration.
Dans ce TP nous utiliserons Debian GNU/Linux comme routeur et le pare-feu iptable interconnecté à des machines virtuelles Netkit via un switch VDE.
Démarrer chacun dans un terminal un switchs VDE nommés sw
:
$ ./vswitch sw
et dans un autre terminal 3 machines virtuelles Netkit pc1
, pc2
et pc3
qui y sont connectées :
$ ./vstart --eth0=vde,sw,1 pc1 $ ./vstart --eth0=vde,sw,2 pc2 $ ./vstart --eth0=vde,sw,3 pc3
Démarrer un routeur qui sera relié au switch par un lien trunk.
$ ./vstart --eth0=vde,sw,4 rt
À l'aide de la console du switch et des commandes vlan/create
, port/setvlan
et vlan/addport
, créer 3 VLANs comme suit :
lan
(VLAN 10) contient les ports 1 (untagged) et 4 (tagged) ;
dmz
(VLAN 20) contient les ports 2 (untagged) et 4 (tagged) ;
inet
(VLAN 30) contient les ports 3 (untagged) et 4 (tagged).
Choisir un réseau IP privé distinct pour chacun des VLAN et configurer les interfaces eth0
de chacun des trois machines pc1
, pc2
et pc3
ainsi que les trois interfaces eth0.10
, eth0.20
et eth0.30
du routeur.
Vérifier avec la commande ping
que chacun des trois PC peut contacter le routeur et chacun des trois autres PC.
À l'aide de la commance nc
créer un serveur TCP sur pc1
et vérifier que pc2
peut s'y connecter.
À l'aide de la commance nc
créer un serveur UDP sur pc2
et vérifier que pc3
peut s'y connecter.
À l'aide de la commande iptables
, définir un ensemble de règles de filtrage qui met en place la politique suivante :
dmz
ne peut pas accéder à la zone lan
;
lan
ne peut pas accéder à la zone dmz
;
inet
et les autres sont permis.
Tester les règles d’accès mises en place à l’aide des commandes ping
et nc
, pour les protocoles ICMP, UDP et TCP et chaque paire de machines.
Sauvegarder la configuration obtenue en réalisant un dump iptables
.
Améliorer ensuite la configuration du routeur pour un scénario plus réaliste :
lan
sont autorisées avec inet
;
lan
peut échanger avec la zone dmz
sur les connexions initiées côté lan
uniquement pour le trafic SMTP et HTTP et sur les connexions initiées côté dmz
uniquement pour le trafic TCP vers le port 5555 d'une machine spécifique.
Parcourir la documentation de PF : Le Filtre de Paquets d'OpenBSD ainsi que le Manuel de pf.conf pour en comprendre les grands principes.
À l'aide de la commande pfctl
et du fichier /etc/pf.conf
, reprendre le scénario étudié pour iptables
.