**__PPE__** **__Configuration de netfilter/iptables__** {{ :logo_netfilter.png?400 |}} {{ :logo_iptables.png?400 |}} **__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.\\ \\ **__2ème étape : Exécution du script firewall__** 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"** __**3è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 |