dokuro Posté(e) le 18 janvier 2015 Signaler Share Posté(e) le 18 janvier 2015 Maintenant que l'installation de base est faite, voici un script de Pare-feu via iptables, à adapter selon la configuration et services actifs sur le serveur et des ports utilisés. J'ai séparé le code en plusieurs parties mais tout ceci est dans un seul et unique script que l'on va nommer firewall.sh ou quelque chose comme ça, à placer dans le dossier /root Attention, de mauvaises règles de pare-feu peuvent boquer l'accès à votre serveur ! # nano /root/firewall.sh #!/bin/bash # Vider les tables iptables -t filter -F iptables -t filter -X # Ne pas casser les connexions etablies iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT On passe aux autorisations # Autoriser NTP iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT # Autoriser loopback iptables -t filter -A INPUT -i lo -j ACCEPT iptables -t filter -A OUTPUT -o lo -j ACCEPT # Autoriser ping iptables -t filter -A INPUT -p icmp -j ACCEPT iptables -t filter -A OUTPUT -p icmp -j ACCEPT # HTTP et HTTPS iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT # Serveur FTP iptables -t filter -A OUTPUT -p tcp --dport 20 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Serveur DNS iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 953 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 953 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 953 -j ACCEPT iptables -t filter -A INPUT -p udp --dport 953 -j ACCEPT Pour le filtrage des ports liés aux emails, ici il y a tous les ports utiles pour le smtp de base ou alternatif, pop, imap, smtps, etc etc... A adapter selon les besoin ! # Autoriser les services Mail iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 783 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 465 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 587 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 993 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 995 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 2703 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 5025 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 465 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 587 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 783 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 993 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 995 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 2703 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 5025 -j ACCEPT Autorise la connexion à Webmin sur un port personnalisé, par exemple le 17170 Sinon, le port par défaut de Webmin est le 10000 # Webmin iptables -t filter -A INPUT -p tcp --dport 17170 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 17170 -j ACCEPT Autorisation pour SSH sur un port personnalisé, par exemple le 22222 Sinon, le port SSH par défaut est le 22 # Autoriser SSH iptables -t filter -A INPUT -p tcp --dport 22222 -m recent --rcheck --seconds 60 --hitcount 2 --name SSH -j LOG --log-prefix "SSH REJECT" iptables -t filter -A INPUT -p tcp --dport 22222 -m recent --update --seconds 60 --hitcount 2 --name SSH -j DROP iptables -t filter -A INPUT -p tcp --dport 22222 -m state --state NEW -m recent --set --name SSH -j ACCEPT Il n'y a là que la base afin d'ouvrir uniquement les ports nécessaires à l'activité web. Didacticiel très complet sur iptables: http://www.frozentux.net/iptables-tutorial/fr/book1.html Une fois firewall.sh correctement renseigné, il faut rendre le script exécutable # chmod +x /root/firewall.sh Et ensuite l'exécuter # sh /root/firewall.sh Puis vérifier que les règles du pare-feu sont correctement chargées. # iptables -L Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.