Iptables

Sous Centos 7 le firewall par default est firewalld, mais j’ai plus mes habitudes avec Iptables. Voici donc comment le mettre en place.

Arret de firewalld

systemctl stop firewalld

Installation des scripts de services Iptables

yum install iptables-services
systemctl start iptables

Création des règles

Les règles seront les suivantes:

  • Limitation du localhost à partir des IP localhost
  • Autorisation des ports web 80,443
  • Autorisation du port ssh 22
  • Autorisation du ping
  • Login des denied
  • Deny all
vi /etc/iptables.raw.rules
*filter
:INPUT ACCEPT [3:152]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2:100]
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 ! -i lo -j REJECT --reject-with icmp-port-unreachable
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
-A INPUT -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -j ACCEPT
COMMIT

Application des règles

iptables-restore < /etc/iptables.raw.rules

On peut vérifier les règles en cours avec :

iptables -L

Si après vos tests d’accessibilité tout est bon, on peut sauvegarder les règles.

iptables-save > /etc/iptables.up.rules

Prise en compte des règles au démarrage

Pour démarrer automatiquement iptables j’ai choisi de l’insérer dans le post du montage des interfaces réseaux.

vi /etc/sysconfig/network-scripts/ifup-post
iptables-restore < /etc/iptables.raw.rules

En plus de la protection réseau, je vous conseille vivement de rajouter la brique fail2ban pour vous prémunir des attaques de force brute.

Zephilou

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Post comment