Vous êtes sur la page 1sur 7

420-876-MA

Linux III : Gestion de réseaux

MODULE 14

Configurer un pare-feu (iptables)

GROUPE 1612

AUTOMNE -2007

COLLÈGE DE MAISONNEUVE
3800, rue Sherbrooke Est
Montréal (Québec) H1X 2A2
Téléphone : (514) 254 7131
CONFIGURER UN PARE-FEU AVEC IPTABLES

1 INSTALLATION ....................................................................................................... 3
2 FILTRER LES PAQUETS ......................................................................................... 3
3 TABLES ..................................................................................................................... 3
3.1 Table NAT .......................................................................................................... 3
3.2 TABLE FILTER ................................................................................................. 3
3.3 TABLE MANGLE.............................................................................................. 3
4 CHAÎNES ................................................................................................................... 4
4.1 TARGET............................................................................................................. 4
5 LES COMMANDES DE IPTABLES ........................................................................ 4
5.1 LES PARAMÈTRES DE IPTABLES ................................................................ 5
6 ADMINISTRER iptables ..................................................................................... 5
7 EXEMPLES ................................................................................................................ 6

_____________________________________________________________________
2
1 INSTALLATION

Installer le paquetage iptables si nécessaire.


# yum install iptables
2 FILTRER LES PAQUETS
Les paquets sont filtrés un utilisant des règles prédéfinies.
Une chaîne correspond à un ensemble de règles.
La gestion des règles se fait en utilisant la commande iptables
Pour lister les règles qui se trouvent présentement dans la table des filtres :
iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Si aucune règle ne s’applique, alors la politique par défaut est appliquée.

3 TABLES
3.1 Table NAT

(Network Address Translation) : Table utilisée pour la translation


d'adresse ou la translation de port.

3.2 TABLE FILTER

C'est la table par défaut si aucune table n’est spécifiée. Cette table contient toutes
les règles de filtrage, il existe 3 types de chaînes :
• FORWARD pour les paquets passant par le pare-feu.
• INPUT pour les paquets entrants.
• OUTPUT pour les paquets sortants.
Les cibles (target) disponibles sont : ACCEPT, DROP, REJECT

3.3 TABLE MANGLE

C'est la table qui contient les règles pour la modification de paquets. Elle est peu
utilisée et ne sera pas décrite.

_____________________________________________________________________
3
4 CHAÎNES

Une chaîne est une suite de règles, qui sont prises dans l'ordre ; dès qu'une règle
matche un paquet, elle est déclenchée, et la suite de la chaîne est ignorée. Une chaîne
est donc tout simplement un ensemble de règle à appliquer dans l’ordre.

Ils existent cinq chaînes prédéfinies :

Chaîne Description
INPUT règles pour les paquets entrants (table FILTER)
OUTPUT règles pour les paquets sortants (table FILTER)
FORWARD règles pour les paquets qui transitent (table FILTER)
PREROUTING règles pour modifier les paquets entrants (table NAT)
POSTROUTING règles pour modifier les paquets sortants (table NAT)

4.1 TARGET

Le target est l’action à prendre.

On doit spécifier un target (action) pour chaque règle d’une chaîne.

Target Description
ACCEPT accepter les paquets
DROP interdire l’accès
REJECT interdire l’accès avec notification

5 LES COMMANDES DE iptables

iptables n'est pas livré avec une interface graphique ; les commandes et les règles
sont passées en ligne de commande. Le mieux est d'écrire des scripts qui permettent
d'appliquer toutes les règles d'un seul coup, dès le démarrage du Linux.

Commande Description
-A chaîne ajouter des règles
-D chaîne effacer des règles
-I chaîne [no_regle] insérer une règle
-R chaîne no_regle remplacer une règle
-L [chaîne] lister les règles
-E [chaîne] renommer la chaîne
-F [chaîne] effacer (flush) les règles
-R chaîne remplacer la règle
-N chaîne créer une nouvelle chaîne (usager)
-X chaîne effacer la chaîne définie par l’usager
-P chaîne target définir la politique par défaut

_____________________________________________________________________
4
5.1 LES PARAMÈTRES DE iptables

Option Description
-p [!] proto protocole : TCP, UDP, ICMP, ALL
-s [!] adresse [/mask] adresse source
--sport [!] [!] [port[:port]] port source
-d [!] adresse [/mask] adresse destination
--dport [!] [!] [port[:port]] port destination
-i [!] eth interface d’entrée
-o [!] eth interface de sortie
-j target cible

6 ADMINISTRER iptables
a) Supprimer les règles :
service iptables stop

b) Afficher les règles :


service iptables status

c) Ajouter une règle :


iptables -A INPUT -j ACCEPT -i lo

d) Sauvegarder les règles dans le fichier /etc/sysconfig/iptables :


service iptables save

e) Restaurer les règles a partir du fichier /etc/sysconfig/iptables :


service iptables start
more /etc/sysconfig/iptables
f) Sauvegarder les règles dans un fichier quelconque :
iptables-save > /etc/iptables.rules
g) Restaurer les règles a partir d’un fichier :
iptables-restore < /etc/iptables.rules

_____________________________________________________________________
5
7 EXEMPLES
a) Ajouter une nouvelle règle dans la chaîne INPUT :
iptables -A INPUT -p tcp --dport 80 -j DROP

b) Supprimer une règle de la chaîne INPUT :


iptables -D INPUT -p tcp --dport 80 -j DROP
ou bien
iptables -D INPUT 1

c) Remplacer une règle de la chaîne INPUT :


iptables -R INPUT 1 -s 192.168.0.1 -j DROP

d) Insérer une règle de la chaîne INPUT :


iptables -I INPUT 1 –p tcp --dport 80 -j ACCEPT

e) Afficher toutes les règles des chaînes de la table FILTER :


iptables –L

f) Afficher toutes les règles de la chaîne INPUT de la table FILTER :


iptables -L INPUT

g) Flusher les règles de la chaîne INPUT :


iptables -F INPUT

h) Créer une nouvelle chaîne LOG_DROP :


iptables -N LOG_DROP

i) Supprimer la chaîne LOG_DROP :


iptables -X LOG_DROP
j) Définir la politique par défaut de la chaîne INPUT :
iptables -P INPUT DROP

_____________________________________________________________________
6
k) Ajout de règles :
iptables -A INPUT -p tcp --source ! 10.42.42.42 –j REJECT

iptables -A INPUT -p icmp -j DROP

iptables -A INPUT -p tcp -s 192.168.42.42 -j ACCEPT

iptables -A FORWARD -p tcp -d 10.1.0.1 -j ACCEPT

iptables -A INPUT -p icmp -i eth0 -j REJECT

iptables -A OUTPUT -p icmp -o eth0 -j DROP


iptables -A INPUT -p tcp --sport 80 -j ACCEPT

iptables -A INPUT -p udp --sport 80 -j DROP

iptables -A OUTPUT -p tcp -m multiport --sport 3128,21,1000 -j DROP

iptables -A OUTPUT -p tcp --sport 1024:2042 -j ACCEPT

iptables -A INPUT -p tcp --dport 110 -j DROP


iptables -A INPUT -p udp --dport 110 -j DROP
iptables -A INPUT -p tcp -m multiport --dport 110,4242,119 -j DROP
iptables -A INPUT -p tcp --sport 4925:4633 -j ACCEPT

iptables -A INPUT -p tcp --dport 42 --tcp-flags SYN, ACK -j ACCEPT

iptables -A INPUT -p icmp --icmp-type 8 -j DROP

iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED


-j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED


-j ACCEPT
l) Ajout de règles dans la chaîne PREROUTING de la table NAT :
iptables -t nat -A PREROUTING -d 42.12.42.12 -p tcp --dport 110 -j DNAT
--to-destination 192.168.1.2:6110

iptables -t nat -A PREROUTING -d ! 42.12.42.12 -p tcp --dport 80 -j DNAT


--to-destination 192.168.2.1:3128

_____________________________________________________________________
7

Vous aimerez peut-être aussi