#!/bin/sh
# Script "iptables.sh"
# Fichier contenant les règles de filtrage "iptables"
# Debian GNU/Linux
# REMISE à ZERO des règles de filtrage
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
# DEBUT des règles de FIREWALLING
# J'accepte les packets entrants relatifs à des connexions déjà établies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# J autorise les connexions TCP entrantes et sortantes sur le port 10000 pour webmin
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 10000 -j ACCEPT
# J autorise les connexions pour les serveur TFTP :
# Accepte en entree le premier paquet de requette tftp :
iptables -A INPUT -m state --state NEW -p UDP --dport 69 -j ACCEPT
# Accepte en sortie la reponse a la requete RELATED :
# (necessite le paquet ip_conntrack_tftp)
# et les paquets de donnees ou d acquitement suivants ESTABLISHED
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -p UDP -j ACCEPT
# Accepte en entree les paquets de donnees ou d acquitement suivant :
iptables -A INPUT -m state --state ESTABLISHED -p UDP -j ACCEPT
# J'autorise les connexions TCP entrantes sur le port 22
# (pour que mon serveur SSH soit joignable de l'extérieur)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# J'accepte le protocole ICMP (i.e. le "ping")
iptables -A INPUT -p icmp -j ACCEPT
# J'accepte le protocole IGMP (pour le multicast)
#iptables -A INPUT -p igmp -j ACCEPT
# Pas de filtrage sur l'interface de "loopback"
iptables -A INPUT -i lo -j ACCEPT
# La règle par défaut pour la chaine INPUT devient "REJECT"
# (il n'est pas possible de mettre REJECT comme politique par défaut)
iptables -A INPUT -j REJECT
# FIN des règles FIREWALLING
# DEBUT des règles pour le PARTAGE DE CONNEXION (i.e. le NAT)
# Je veux que mon système fasse office de "serveur NAT"
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
# FIN des règles pour le PARTAGE DE CONNEXION (i.e. le NAT)
Partager