1
1

Actualiser 04 - Règles IPTables

2025-02-16 23:03:57 +01:00
parent a8cb3b3442
commit 3aaddf7418
+67 -1
@@ -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