SISR2 - Séance 9
Mise en oeuvre d'un routeur filtrant dans une configuration à 3 réseaux
Prérequis
Schema
les machines
un routeur Linux Debian Squeeze PF (machine virtuelle VirtualBox) avec 3 cartes réseau
- carte 1 (bridgée) : connectée au réseau externe représentant l'internet : 192.168.0.200/24
- carte 2 (réseau interne dmz) : connectée à la DMZ : 172.16.0.1/16
- carte 3 (réseau interne local) : connectée au réseau interne : 10.0.0.1/16
un client interne linux Debian cli
- carte 1 : réseau interne local
- paquets : lynks, lynx, tcpdump, nmap
un serveur web srvweb linux Debian dans la DMZ
- carte 1 : réseau interne dmz
- paquets : apache2, ssh, lynks, lynx, tcpdump, nmap,
un client externe cliext linux Debian
- carte 1 : bridgée : 192.168.0.x
- paquets : lynks, lynx, tcpdump, nmap
Objectifs
- assurer la NAT pour les machines du réseau local
- donner la possibilité d'accéder au serveur srvweb en http et ssh depuis partout
- les machines srvweb et pf doivent etre capable de récuperer des paquets sur les depots debian et de les installer
- autoriser les requetes DNS sortantes pour toutes les machines
- la machine parefeu PF doit etre accessible en ssh
- tous les autres flux sont bloqués
Remarques générales
- il est impératif de repérer les chaines concernées par la modification avant d'utiliser iptables
- on pourra utilser iptables -L pour vérifier l'effet produit
- on pourra également utiliser nmap depuis le bon endroit
Etape 0 : vérification de la connectivité
- aucune couche de filtrage sur PF
- chacune des 3 machines doit être capable de pinguer l'interface de PF située sur le même réseau
Etape 0-bis : activation du routage sur PF
- vérifier les passerelles par défaut pour chacune des machines
- cli :
- srvweb :
- cliext :
- PF :
- activer le routage
- tester les ping
- cli → srvweb
- cli → cliext
- srvweb → cli
- srvweb → cliext
- cliext → cli
- cliext → srvweb
Etape 1 : configuration de base du parefeu – on bloque tout
- créer le script fw.sh dans /root/tppf (on devra créer le répertoire tppf dans /root)
- politique par défaut (DROP), remise à zéro des chaines
- vérifier avec iptables -L
- vérifier les ping
Etape 2 : on autorise l'accès SSH à la machine PF
- modifier le script fw2.sh dans /root/tppf
- indiquer les chaines concernées
- tester en se connectant en ssh depuis cli, cliext et srvweb
Etape 3 : on autorise les requetes DNS et les installations de paquets (HTTP et FTP) depuis la machine PF
- modifier le script fw3.sh dans /root/tppf
- indiquer les chaines concernées
- autoriser les requetes DNS depuis PF, verifier avec host ou nslookup
- autoriser les requetes http et ftp sortantes, tester avec aptitude update
Etape 4 : mettre en oeuvre la NAT pour le réseau local
- modifier le script fw5.sh dans /root/tppf
- vérifier l'accès à une page web avec lynx http://10.121.32.6
Etape 5 : on autorise les requetes DNS sortantes pour toutes les machines
- modifier le script fw4.sh dans /root/tppf
- indiquer les chaines concernées
- autoriser les requetes DNS depuis le reseau local, tester avec host ou nslookup depuis cli
- autoriser les requetes DNS depuis le reseau dmz, tester avec host ou nslookup depuis srvweb
Etape 6 : permettre l'acces web et ssh au serveur srvweb
- modifier le script fw6.sh dans /root/tppf
- vérifier l'accès à une page web avec lynx http://172.16.0.2 depuis cli
- vérifier l'accès à une page web avec lynx http://172.16.0.2 depuis cliext
Etape 7 : permettre l'installation de paquets sur le serveur srvweb
- modifier le script fw7.sh dans /root/tppf
- vérifier avec aptitude update
Etape 8 : interdir les pings venant de l'extérieur
- modifier le script fw8.sh dans /root/tppf
- tester