diff --git a/04 - R%C3%A8gles IPTables.-.md b/04 - R%C3%A8gles IPTables.-.md index 06d95db..6d73b5d 100644 --- a/04 - R%C3%A8gles IPTables.-.md +++ b/04 - R%C3%A8gles IPTables.-.md @@ -170,13 +170,79 @@ iptables -A OUTPUT -p tcp -s 10.10.0.1 --dport 22 -j ACCEPT On va alors tenter de se connecter en SSH à Deb02 et à Cos01. On constate qu'on obtient bien la mire pour saisir le mot de passe sur les deux machines. -SCREEN +![](https://git.yh.genj.fr/polaire/IAUX060_Securite_des_reseaux_2/raw/branch/main/capture/SSH_DEB01_OK.png) +On peut se connecter aux machines de notre lab depuis DEB01, mais pas vers DEB01. +On ajoute donc la règle suivante : + +``` +iptables -A INPUT -p tcp -d 10.10.0.1 --dport 22 -j ACCEPT +``` + +Avec cette règle, on peut désormais se connecter à DEB01 depuis DEB02 et COS01 + + +![](https://git.yh.genj.fr/polaire/IAUX060_Securite_des_reseaux_2/raw/branch/main/capture/SSH_DEB02_OK.png) + +![](https://git.yh.genj.fr/polaire/IAUX060_Securite_des_reseaux_2/raw/branch/main/capture/SSH_COS01_OK.png) + ## B4 - Script et sauvegarde +On se retrouve donc avec les règles suivantes : + + +![](https://git.yh.genj.fr/polaire/IAUX060_Securite_des_reseaux_2/raw/branch/main/capture/Regles_IPTables01.png) + +Si on redémarre Deb01, nos règles ne seront pas sauvegardés. +Pour les conserver, plusieurs solutions : on peut créer au script qu'on lancera au démarrage, via un crontab (voir page 03 du Wiki). + +On peut proposer le script suivant : + + +``` +#!/bin/sh + +# DROP ALL +ipatbles -P INPUT DROP +ipatbles -P FORWARD DROP +ipatbles -P OUTPUT DROP + +# Autorisation du ping depuis DEB01 vers les deux réseaux du lab. + +iptables -A OUTPUT -p icmp -s 10.10.0.1 -d 10.10.0.0/30 -j ACCEPT +iptables -A OUTPUT -p icmp -s 10.10.0.1 -d 10.10.0.4/30 -j ACCEPT + +# Utilisation du mode stateful pour autoriser les connexions établies et liées. + +iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT +iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT + +# Limitation du ping à 1 paquet par seconde. +# Placer cette règle en premier pour qu'elle soit appliqué avant celles autorisant les pings. +iptables -I OUTPUT 1 -p icmp -m lim0it --limit 1/sec --limit-burst 1 -j DROP + +# Autorisation du HTTP/HTTPS +iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT + +# Autorisation SSH vers et depuis DEB01 + +iptables -A OUTPUT -p tcp -s 10.10.0.1 --dport 22 -j ACCEPT +iptables -A INPUT -p tcp -d 10.10.0.1 --dport 22 -j ACCEPT +``` + +Notez qu'une autre solution est d'utiliser, une fois toutes nos règles positionnées, la commande iptables permettant de sauvegarder la configuration iptables : + +``` +iptables-save > ~/DEB01.iptables +``` + +On peut alors utiliser la commande : +``` +iptables-restore < ~/DEB01.iptables +``` # C - Seconde configuration