On commence par écrire nos règles de démarrage d’iptables dans un fichier texte, ici /etc/iptables/start.sh :

#!/bin/sh

# Réinitialise les règles

iptables -t filter -F

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 et localhost

iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT

iptables -t filter -A INPUT -i lo -j ACCEPT

iptables -t filter -A OUTPUT -o lo -j ACCEPT

# DNS entrée/sortie

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

# SSH

iptables -t filter -A INPUT -p tcp –dport 22 -j ACCEPT

iptables -t filter -A OUTPUT -p tcp –dport 22 -j ACCEPT

# HTTP/HTTPS

iptables -t filter -A OUTPUT -p tcp –dport 80 -j ACCEPT

iptables -t filter -A INPUT -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 443 -j ACCEPT

# Ping – ICMP

iptables -t filter -A OUTPUT -p icmp -j ACCEPT

iptables -t filter -A INPUT -p icmp -j ACCEPT