Académique Documents
Professionnel Documents
Culture Documents
Département Informatique
Chapitre -4-
Le pare-feu
Nabila Rabhi
2
Définition d’un pare-feu (2)
Il est possible de mettre un système pare-feu sur n'importe quelle machine et avec
n'importe quel système pourvu que :
✓La machine soit suffisamment puissante pour traiter le trafic ;
3
Définition d’un pare-feu (3)
Pourquoi un firewall?
4
Définition d’un pare-feu (4)
5
Définition d’un pare-feu (5)
Un pare-feu (Firewall)
➢ La techniques employée: le contrôle d’accès qui est basé sur :
6
Types de firewalls
Types de firewalls :
➢Pare-feu au niveau réseau (couche 3)
➢Pare-feu au niveau applicatif (couche 7)
7
Types de firewalls
1- Pare-feu niveau réseau:
1.1 Pare-feu sans états (Stateless)
▪ Les plus anciens mais surtout les plus basiques qui existent. Ils font un contrôle de
chaque paquets indépendamment des autres en se basant sur les règles prédéfinies
par l'administrateur (généralement appelées ACL, Access Control Lists).
▪ Les règles de filtrages s'appliquent par rapport à une plage d’adresses IP sources ou
destination, mais aussi par rapport à un port source ou destination.
Les limites:
▪ Obligation d'ouvrir les ports > 1024 pour les connexions vers l'extérieur
▪ Les règles de filtrage de ces firewalls sont basées que sur des adresses IP
(risque de pirater ces règles) 88
Types de firewalls
▪ Il est basé sur le principe stateful inspection: Il garde alors en mémoire les différents
attributs de chaque connexions (en amont et en aval).
▪ Ainsi il traite les paquets suivant les règles administrateur et aussi suivant l’état de la
session (Exemple :NEW, ESTABLISHED, RELATED, INVALID)
Les limites:
99
Types de firewalls
2- Pare-feu applicatif
▪ Fonctionne sur la couche 7 du modèle OSI
▪ Le firewall connaisse l'ensemble des protocoles utilisés par chaque application ; une
application dédiée pour chaque protocole exemple : un processus proxy HTTP
Les avantages:
Les limites:
▪ Nécessité de connaître toutes les règles des protocoles qu‘on doit filtrer.
➢ Pour des raisons de sécurité il est souvent utile, voire indispensable d'effectuer
un filtrage au niveau des paquets IP qui transitent à travers un routeur. Ainsi, les
paquets de données échangés entre une machine du réseau extérieur et une
machine du réseau interne transitent par le pare-feu et possèdent des en-têtes
qui sont systématiquement analysés par le firewall :
✓adresse IP de la machine émettrice ;
✓adresse IP de la machine réceptrice ;
✓type de paquet (TCP, UDP, etc.) ;
➢ Ensemble de règles autorisant ou refusant un transfert combinant la plupart des
informations disponibles dans les messages : adresses sources destination…
11
Les outils dans les firewalls
Avantages : solution peu coûteuse et simple agissant sur tous les types de
communications.
Les limites :
▪ Des règles de filtrage correctes et bien adaptées aux besoins peuvent être
difficiles à établir.
▪ Concerne que les niveaux 4 et 3
12
Les outils dans les firewalls
13
Les outils dans les firewalls
▪ Un serveur proxy est nécessaire pour chaque protocole d’application SMTP, FTP,
HTTP, ... Parce qu’il faut interpréter les messages de façon différente pour chaque
application.
Avantages :
▪ On peut intervenir de manière fine sur chaque zone des charges utiles transportées
au niveau applicatif..
Les limites :
14
▪ Une solution coûteuse car il faut définir des droits complexes.
Les outils dans les firewalls
▪ Hôte qui possède au moins deux interfaces réseaux (qui interconnecte au moins deux
réseaux).
▪ Propriété: Si un hôte connecte deux sous réseaux, Et s’il n’est pas configuré en routeur.
→Il est impossible à un paquet de passer d’un réseau à l’autre sans être traité au niveau
applicatif.
1515
Les outils dans les firewalls
17
Les outils dans les firewalls
18
Les outils dans les firewalls
19
Fonctionnement
20
Fonctionnement
Direction entrante
Les règles de filtrage ne sont pas symétriques : on donne des droits à un hôte
interne vers l’extérieur et on refuse ces droits de l’extérieur vers l’intérieur.
24
21
Fonctionnement
Le Filtrage des paquets
1. Notion de direction
▪ Position du filtrage dans un routeur filtrant selon l’interface.
Routeur filtrant
Paquet entrant Paquet entrant
Paquet sortant Paquet sortant
22
22
Fonctionnement
Le Filtrage des paquets
1. Notion de direction
▪ La direction de filtrage selon le sens de connexion.
Introduction dans certains filtres d’une sémantique de sens dans l’expression des
règles de filtrage (paquet entrant/sortant)
23
23
Fonctionnement
Le Filtrage des paquets
2. Les étapes de filtrage
a) Etape 1: La spécification abstraite.
▪ Définir abstraitement la politique de sécurité :
Définir ce qui est autorisé et ce qui est interdit
o Choisir une politique d’ensemble:
Solution 1: Tout ce qui n’est pas explicitement autorisé est interdit.
Solution 2 :Tout ce qui n’est pas explicitement interdit est autorisé.
24
24
Fonctionnement
Enoncer des règles:
Un système pare-feu contient un ensemble de règles prédéfinies :
Les règles de filtrage qui déterminent le devenir des paquets grâce à une police qui
peut être : ACCEPT, REJECT, DENY, MASQ.
Les règles sont groupées en chaînes qui peuvent être celles de base : input,
forward, output ou d’autres définies par l’utilisateur. Les règles de filtrage du pare
feu doivent être les plus simples et donc les plus compréhensibles possible afin
d’éviter toute erreur de la part de l’administrateur.
25
Fonctionnement
Les polices de base :
ACCEPT : le paquet est accepté
REJECT : le paquet est rejeté avec envoi d’un message d’explication ICMP
DROP : le paquet est rejeté en mode silencieux
Par défaut, il n’y a aucun filtrage, c’est-`a-dire que toutes les trames sont acceptées,
reroutées et envoyées.
On peut filtrer finement, soit par l’adresse IP, soit par le port, mais il serait
beaucoup trop long de donner une liste exhaustive de tout ce qui existe. Une
première étape est de choisir ce qui est appelé la politique de filtrage :
– Si on rejette peu d’éléments, le mieux est de commencer
par tout accepter, puis d’indiquer individuellement ce que
l’on n’accepte pas.
– Si on est très précautionneux et que l’on rejette beaucoup,
le mieux est de commencer par tout rejeter, puis d’indiquer
individuellement ce que l’on accepte.
26
Fonctionnement
Si aucune règle s’appliquant au paquet n’a été trouvée, alors c’est la police
par défaut de la chaîne qui est utilisée pour savoir que faire de ce paquet.
Il est donc important, avant de créer les règles, de définir la police par
défaut d’une chaîne.
Par sécurité, on applique REJECT en entrée (input) et en sortie (output) et
DROP en redirection (forward).
27
Fonctionnement
Exemples
28
Fonctionnement
Le Filtrage des paquets
2. Les étapes de filtrage
b) Etape 2: Etablir des règles précises.
▪ Traduire la politique de sécurité en des règles précises concernant des
communications IP :
Règle interdisant tout par défaut
29
29
Fonctionnement
Le Filtrage des paquets
2. Les étapes de filtrage
c) Etape 3: Configurer un outil précis
▪ Rentrer les règles dans un pare-feu réel en utilisant la syntaxe et la sémantique
de l’interface de l’outil.
o En fait un pare-feu interprète un programme qui est une suite d’instruction de format:
si (condition sur datagramme) alors action (autoriser/interdire).
31
Avantages et inconvéneints de filtrage des paquets
▪ Les filtres de paquets sont très répandus dans tous les routeurs sous
forme de logiciels filtres.
32
Avantages et inconvéneints de filtrage des paquets
33
• Chaînes
– création N
– vidage F
– suppression X
– affectation d’une police P
– affichage L
• Règles
– ajout en fin de liste A
– suppression D
– remplacement R
34
Règles de filtrage:
1) Filtrage généraux
36
2) Filtrage TCP
Syntaxe : Un filtrage TCP permet d’accepter (ou de rejeter) :
✓ Suivant le port source ou destination
# iptables -A chain -p tcp --sport port [jump]
# iptables -A chain -p tcp --dport port [jump]]
Où –p désigne le type de protocole et –sport le port source et –dport le port
destination.
• Exemple: Autoriser seulement l’envoi de courriers électronique
# iptables -A INPUT -p tcp --sport 25 -j ACCEPT
# iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT
37
3) Filtrage UDP
Syntaxe : Un filtrage UDP permet d’accepter (ou de rejeter) suivant le port source
ou le port de destination :
# iptables -A chain -p udp --sport port [jump]
# iptables -A chain -p udp --dport port [jump]
38