Administration réseau sous Linux/TP Netfilter
Un livre de Wikibooks.
Sections |
[modifier] Introduction
- Lire le wikilivre sur Netfilter
- Afficher les règles contenues dans les chaînes INPUT, OUTPUT et FORWARD sur bigboss. Il ne devrait y en avoir aucune.
[modifier] LOG
- Ajouter sur bigboss une règle dans la chaîne INPUT qui enverra sur la cible LOG tous les paquets du protocole icmp.
- Afficher les règles de cette chaîne et vérifier que celle ajoutée apparaît.
- Lancer un ping de tiny vers bigboss
- Vérifier que les paquets sont affichés. S'ils ne le sont pas, ouvrir un terminal sur bigboss et lancer la commande
tail -f /var/log/kern.log - Faire un ping de bigboss vers une adresse IP inconnue (par exemple 1.2.3.4) et constater le résultat.
[modifier] Bloquer tiny
- Ajouter une règle au début de la chaîne INPUT pour jeter tous les paquets qui viennent de tiny.
- Vérifiez que tiny ne peut plus faire de ping sur bigboss.
- Constater avec
iptables -v -L INPUTque des paquets ont bien traversé la règle ajoutée. - Supprimer cette règle.
[modifier] Bloquer HTTP
- Vérifier qu'on peut accéder au serveur HTTP de bigboss à partir de tiny et du poste hôte (voir TP sur Apache)
- Ajouter sur bigboss une règle qui jette les paquets en entrée qui sont à destination du port HTTP (80, ou www).
- Vérifier qu'on ne peut plus accéder au serveur HTTP ni à partir du poste hôte, ni à partir de tiny.
- Ajouter une règle (avant la précédente) qui accepte tous les paquets qui viennent de tiny.
- Vérifier qu'on peut au serveur HTTP à partir de tiny, mais toujours pas à partir du poste hôte.
[modifier] Script de firewall
- Créer un script shell qui :
- efface toutes les règles de toutes les chaînes
- accepte en entrée ce qui est à destination du port HTTP
- jette tout ce qui vient de tiny
- Lancer ce script et vérifier que tiny peut accéder au serveur HTTP de bigboss, mais à rien d'autre (pas de ping, FTP...)
- Placer ce script dans /etc/init.d et faire en sorte qu'il se lance au démarrage avec la commande
update-rc.d(voir page de man) - Redémarrer et vérifier que ça fonctionne
- Retirer le script pour les TP suivants et vider les tables

