Rechercher dans ce blog

IPTABLES : création fichier avec règles de base

Création d'un fichier avec les regles IPTABLES (firewall) sur un serveur Debian (valable aussi pour Ubuntu)



POUR RAPPEL :

    -t : vaudra par défaut « filter »

    -A : servira à indiquer le sens du trafic : INPUT (entrant) ou OUTPUT (sortant)

    -p : indique le protocole (TCP ou UDP en principe)

    --dport et --sport : respectivement port destination et port source (sur un serveur, nous utilisons principalement dport)

    -j : comment traiter le paquet avec ACCEPT (pour accepter) et DROP (pour refuser) le paquet


Création du fichier :

/etc/init.d/firewall



On insère toutes ces règles (Attention à changer le port SSH par le votre !!! 22 étant celui par défaut):


#!/bin/sh

# Vide les tables actuelles
iptables -t filter -F

# Vide les règles actuelles
iptables -t filter -X

# Bloque tout le trafic
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

# Autorise les connexions déjà établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Autorise "localhost" (loopback)
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

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

# NTP (horloge du serveur)
iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT

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

# HTTP
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT

# HTTPS
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT

# FTP
iptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 20:21 -j ACCEPT

# Mail SMTP
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT

# Mail POP3
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT

# Mail POP3S
iptables -t filter -A INPUT -p tcp --dport 995 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 995 -j ACCEPT

# Mail IMAP
iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT

# DNS
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT



Rendre le fichier exécutable

chmod +x /etc/init.d/firewall

Démarrage des règles (ou redémarre)

/etc/init.d/firewall

Ajout aux scripts appelés au démarrage

update-rc.d firewall defaults




Note : Si un jour on veut retirer ces règles du démarrage

update-rc.d -f firewall remove