MODELE : PAGE

Firewall – Définition des règles IPtables

Procédure d’installation de NetFilter

Procédure d’installation de NetFilter
sudo apt-get remove --auto-remove nftables

sudo apt-get purge nftables

sudo apt-get update

sudo apt-get install iptables

iptables --list

iptables -L -v            (liste des règles détaillé)

iptables -S                (liste des commandes ajoutées)

iptables -L --line-numbers

# Bloquer le ping entrant

# iptables -A(ou -I ou -D)  -i <interface> -p <protocol (tcp/udp/icmp)> -s <source> --dport <port no.>  -j <target>

iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP

iptables -F         --> vider toutes les règles

iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP

iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP      --> supprimer la règle exit iptables -D INPUT

Règles iptables

Règles iptables
 nano regles-iptables.sh
chmod +x regles-iptables.sh

#!/bin/sh

# On vide les règles déjà existantes
sudo iptables -t filter -F
sudo iptables -t filter -X

# Interdire toutes connexions entrantes et sortantes
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT DROP

# Ne pas casser les connexions etablies
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

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

# Autoriser le ping
sudo iptables -A INPUT -p icmp -j ACCEPT
sudo iptables -A OUTPUT -p icmp -j ACCEPT

# Autoriser SSH
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT

# Autoriser DNS
sudo iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
sudo iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 53 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT

# Autoriser NTP
sudo iptables -A OUTPUT -p udp --dport 123 -j ACCEPT

# Autoriser FTP
modprobe ip_conntrack_ftp
sudo iptables -A OUTPUT -p tcp --dport 20:21 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Autoriser HTTP et HTTPS
sudo iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8443 -j ACCEPT

# Mails
# Autoriser POP3
sudo iptables -A INPUT -p tcp --dport 110 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 110 -j ACCEPT

# Autoriser SMTP
sudo iptables -A INPUT -p tcp --dport 25 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 587 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 587 -j ACCEPT

# Autoriser IMAP
sudo iptables -A INPUT -p tcp --dport 143 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 143 -j ACCEPT

# Autoriser POP3S
sudo iptables -A INPUT -p tcp --dport 995 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 995 -j ACCEPT

# Autoriser Webadmin sur vmi820488.contaboserver.net
sudo iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 10000 -j ACCEPT

Informations :

apt-get install iptables-persistent (répondre oui pour enregistrer les règles IPV4 et IPV6)

Les fichiers de configaration sont sauvegardés dans le dossier /etc/iptables : rules.v4 et rules.v6

service iptables-persisitent save (sauvegarde les règle en mémoire dans le fichier rules.v4)

service iptables-persisitent flush (vide les règles sauvegardées en mémoire)

service iptables-persisitent reload (charge les règles présentent dans le fichier rules.v4 en mémoire)

nano regles-iptables.sh
chmod +x regles-iptables.sh

#!/bin/sh

# On vide les règles déjà existantes
sudo iptables -t filter -F
sudo iptables -t filter -X

# Interdire toutes connexions entrantes et sortantes
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT DROP

# Ne pas casser les connexions etablies
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

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

# Autoriser le ping
sudo iptables -A INPUT -p icmp -j ACCEPT
sudo iptables -A OUTPUT -p icmp -j ACCEPT

# Autoriser SSH
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT

# Autoriser DNS
sudo iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
sudo iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 53 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT
# Autoriser NTP
sudo iptables -A OUTPUT -p udp --dport 123 -j ACCEPT

# Autoriser FTP
modprobe ip_conntrack_ftp
sudo iptables -A OUTPUT -p tcp --dport 20:21 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Autoriser HTTP et HTTPS
sudo iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8443 -j ACCEPT

# Mails
# Autoriser POP3
sudo iptables -A INPUT -p tcp --dport 110 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 110 -j ACCEPT

# Autoriser SMTP
sudo iptables -A INPUT -p tcp --dport 25 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 587 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 587 -j ACCEPT

# Autoriser IMAP
sudo iptables -A INPUT -p tcp --dport 143 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 143 -j ACCEPT

# Autoriser POP3S
sudo iptables -A INPUT -p tcp --dport 995 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 995 -j ACCEPT

# Autoriser Webadmin sur vmi820488.contaboserver.net
sudo iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 10000 -j ACCEPT