Ceci est une ancienne révision du document !
PPE
Configuration de netfilter/iptables
1er étape : Configuration de iptables
Pour commencer, nous allons créer un script firewall.sh.
Avec la commande suivante “nano /etc/init.d/firewall.sh”.
Qui contiendra toute les règles suivantes :
#!/bin/bash iptables -I INPUT -p tcp --dport 22 -j ACCEPT iptables -I INPUT -p tcp --dport 53 -j ACCEPT iptables -I INPUT -p udp --dport 53 -j ACCEPT iptables -I OUTPUT -p tcp --dport 53 -j ACCEPT iptables -I OUTPUT -p udp --dport 53 -j ACCEPT iptables -I INPUT -p tcp --dport 21 -j ACCEPT iptables -I INPUT -p udp --dport 21 -j ACCEPT iptables -I INPUT -p tcp --dport 20 -j ACCEPT iptables -I INPUT -p udp --dport 20 -j ACCEPT iptables -I INPUT -p tcp --dport 3306 -j ACCEPT iptables -I INPUT -p udp --dport 3306 -j ACCEPT iptables -I INPUT -p tcp --dport 953 -j ACCEPT iptables -I INPUT -p udp --dport 953 -j ACCEPT iptables -I INPUT -p tcp --dport 443 -j ACCEPT iptables -I INPUT -p udp --dport 443 -j ACCEPT iptables -I INPUT -p tcp --dport 4949 -j ACCEPT iptables -I INPUT -p udp --dport 4949 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT iptables -A OUTPUT -p udp --dport 443 -j ACCEPT iptables -A INPUT -p ICMP -j ACCEPT iptables -A OUTPUT -p ICMP -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP
Description des commandes juste du dessus
1er commande : Déclaration script en bash.
2ème commande : Autorise les connexions entrantes venant du protocole tcp du port 22.
3ème commande : Autorise les connexions entrantes venant du protocole tcp du port 53.
4ème commande : Autorise les connexions entrantes venant du protocole udp du port 53.
5ème commande : Autorise les connexions sortantes venant du protocole tcp du port 53.
6ème commande : Autorise les connexions sortantes venant du protocole udp du port 53.
7ème commande : Autorise les connexions entrantes venant du protocole tcp du port 21.
8ème commande : Autorise les connexions entrantes venant du protocole udp du port 21.
9ème commande : Autorise les connexions entrantes venant du protocole tcp du port 20.
10ème commande : Autorise les connexions entrantes venant du protocole udp du port 20.
11ème commande : Autorise les connexions entrantes venant du protocole tcp du port 3306.
12ème commande : Autorise les connexions entrantes venant du protocole udp du port 3306.
13ème commande : Autorise les connexions entrantes venant du protocole tcp du port 953.
14ème commande : Autorise les connexions entrantes venant du protocole udp du port 953.
15ème commande : Autorise les connexions entrantes venant du protocole tcp du port 443.
16ème commande : Autorise les connexions entrantes venant du protocole udp du port 443.
17ème commande : Autorise les connexions entrantes venant du protocole tcp du port 4949.
18ème commande : Autorise les connexions entrantes venant du protocole udp du port 4949.
19ème commande : Autorise les connexions entrantes venant du protocole tcp du port 80.
20ème commande : Autorise les connexions sortantes venant du protocole tcp du port 80.
21ème commande : Autorise les connexions sortantes venant du protocole tcp du port 443.
22ème commande : Autorise les connexions sortantes venant du protocole udp du port 443.
23ème commande : Autorise les connexions entrantes venant du protocole ICMP.
24ème commande : Autorise les connexions sortantes venant du protocole ICMP.
25ème commande : Autorise les connexions entrantes pour répondre a d'autre commande.
26ème commande : Autorise les connexions sortantes pour répondre a d'autre commande.
27ème commande : Par défaut interdit les connexions entrantes.
28ème commande : Par défaut interdit les connexions sortantes.
29ème commande : Par défaut interdit les connexions traversant le serveur.
Puis nous exécutons le script et on fait des tests d'entré sortie pour voir si tout fonctionne.
Pour l'exécuter nous tapons cette commande : “./firewall.sh”
2ème étape : Teste de la mise en place de iptables
| Commande teste | Machine Source | Etat Entrant | Etat Sortant | Résultat Normal |
|---|---|---|---|---|
| ping -c4 8.8.8.8 | Server | OK | OK | OUI |
| ping -c4 172.20.4.1 | Client | OK | OK | OUI |
| ssh sio@172.20.4.1 | Client | OK | OK | OUI |
| ssh user@172.20.3.1 | Server | OK | OK | OUI |
| dig ns beaupeyrat.com | Server | OK | OK | OUI |
| dig ns m2l.org | Server | OK | OK | OUI |
| dig ns m2l.org | Client | OK | OK | OUI |
| www.m2l.org | Server | OK | OK | OUI |
| www.m2l.org | Client | OK | OK | OUI |
| ftp 172.20.4.1 | Client | OK | OK | OUI |
| mysql -u root -p | Serveur | OK | OK | OUI |
| mysql -u 172.20.4.1 root -p | Client | OK | OK | OUI |

