Bonjour à tous !
J’ai un partiel de réseau la semaine prochaine, et il y aura certainement des questions sur le pare-feu Netfilter configuré avec iptables
.
J’ai fait les annales et j’aimerais avoir votre avis sur mes réponses s’il vous plaît, je pense que vous n’y verrez aucun inconvénient, bien au contraire ?
Du coup, voici la première question. Au fur et à mesure de votre correction, je vous enverrais les autres (2 ou 3, toujours les mêmes grosso modo). Merci beaucoup et n’hésitez pas, si j’ai fait une erreur, à me l’expliquer !
Rappel : schéma d’iptables
Première question
Considérez les commandes suivantes configurant le routeur.
1 2 3 4 5 6 7 8 9 10 11 12 | 1. iptables -F 2. iptables -P OUTPUT DROP 3. iptables -P INPUT DROP 4. iptables -P FORWARD DROP 5. iptables -t nat -A POSTROUTING -s 192.168.1/24 -o ppp0 -j MASQUERADE 6. iptables -A FORWARD -s 192.168.1/24 -j ACCEPT 7. iptables -A FORWARD -d 192.168.1/24 -j ACCEPT 8. iptables -A FORWARD -d 88.180.44.10 -p tcp --dport 80 -j ACCEPT 9. iptables -A FORWARD -s 88.180.44.10 -p tcp --sport 80 -j ACCEPT |
a) Quel est l’effet des lignes 8 et 9 sur le trafic traversant le routeur ?
-
Pour le prerouting, rien n’est précisé : comportement par défaut = ACCEPT
-
Ce paquet sera analysé par la mangle table (chaîne forward), qui contient l’action par défaut puisque rien n’est précisé ("ACCEPT")
-
Puis il sera analysé par la filter table (chaîne forward) : tout paquet TCP, encapsulant un paquet HTTP, allant vers 88.180.44.10 ou bien dont cette IP est la source sera accepté
-
Si le paquet a été précédemment accepté, la mangle table (chaîne postrouting) l’analyse : l’action par défaut est effectuée car rien n’est précisé (ACCEPT). Sinon : paquet refusé, fin.
-
Le paquet passe, enfin, par la nat table (chaîne postrouting) : tout paquet dont la source est 192.168.1/24 sortant par PPP0 voit son adresse source remplacée par l’adresse du routeur associée à son interface PPP0.
b) L’administrateur souhaiterait que ce routeur puisse être administré à distance par SSH mais uniquement depuis 192.168.1/24. Pour l’instant, ce n’est pas le cas. Pourquoi ? Comment y remédier ?
Ce n’est pas le cas car, le paquet étant destiné au routeur, la chaîne INPUT de la mangle table est exécutée (inutile de le dire car cette chaîne n’est pas précisée : action par défaut = ACCEPT) puis la chaîne INPUT de la filter table est exécutée : par défaut, il est indiqué de jeter tous les paquets entrants. Donc tout paquet SSH à destination du routeur est rejeté.
Pour y remédier, il suffit de taper :
1 2 | iptables -A INPUT -s 88.180.44.10 -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s 88.180.44.10 -p tcp --sport 22 -j ACCEPT |