Iptables

Iptables est une interface de commande permettant de manipuler NetFilter. De fait c'est donc l'interface du Firewall. Dans mon cas je parlerai uniquement de la couche serveur même si de nombreux point commun subsiste entre l'outil serveur et les autres machines Linux.

 

Une configuration de base pour Iptable

Attention ce script est un fichier, que j'ai nommé firewall, et se trouvant dans le répertoire /etc/init.d . Il est à adapter en fonction de votre propre configuration. Ici un serveur web sans autre élément (mail, ftp...) et à intégrer les ports de votre configuration, par exemple le port SSH classique 22 est fortement conseiller de le modifier.

#!/bin/sh

# Vider les tables actuelles
iptables -t filter -F

# Vider les règles personnelles
iptables -t filter -X

# Interdire toute connexion entrante et sortante
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

# ---

# 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

# Autoriser loopback
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

# ICMP (Ping)
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT

# ---

# SSH In
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT

# SSH Out
iptables -t filter -A OUTPUT -p tcp --dport 22 -j ACCEPT

# DNS In/Out
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 INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT

# NTP Out
iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT

# HTTP + HTTPS Out
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT

# HTTP + HTTPS In
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT

Puis rendre le fichier executable avec la commande

chmod +x /etc/init.d/firewall

Enfin l'ajouter au batch de démarrage pour finir

update-rc.d firewall defaults

Quelques commandes en vrac pour Iptables

iptables -I INPUT -s XXX.XXX.XXX.XXX -j DROP

 

 

Dernière modification levendredi, 04 mars 2016 09:17
Marc

Site internet : www.c1si.com
Plus dans cette catégorie : Fail2ban »