Chapitre 3: Les pare-feux
(Firewalls)
Dr. Ing. Bayrem TRIKI
Introduction
Evolution des systèmes d’information
Des réseaux d’entreprise assez larges, connectant des réseaux locaux
(distribués dans des zones géographiques différentes) à travers des
réseaux étendus.
Nécessité de connecter certains de ces réseaux à Internet.
La connectivité d’un réseau local à Internet, permet au monde
externe d’atteindre et d’interagir avec les ressources de ce
réseau.
Difficulté de sécuriser chaque ressource à part:
Nombre important de machines.
Différents types d’applications, services, systèmes d’exploitation, et
protocoles utilisés, tous contenant des bugs.
Besoin de minimiser les risques.
Utilisation des pare-feux (Firewalls)
2
Notions de base - Format des données
Entête TCP
message – données d’application
Application Message
Transport (TCP, UDP) Segment TCP données TCP données TCP données
Réseau (IP) Paquet IP TCP données
Liaison de données Trame ETH IP TCP données ETF
Entête IP Queue Liaison
Entête Liaison (Ethernet)
(Ethernet)
4
Notions de base – Mécanisme d’établissement de
connexion
Mécanisme d’établissement de connexion
(TCP three-way handshake connection establishment )
Les états du clients Les états du serveur
Client Serveur
5
Notions de base - Connexion TCP : Telnet
Serveur Telnet Client Telnet
Le client demande
l’établissement de
connexion au serveur 23 1234
Telnet (indication sur le
port applicatif utilisé).
Le bit ACK n’est pas mis
à 1 pour le premier
paquet.
Le serveur envoi un
accusé (acceptation ou refus
de la connexion)
6
Notions de base – Cas particulier : FTP
Serveur FTP Client FTP
Le client 20 21
ouvre un canal Data Command 5150 5151
de commande et
donne le port
associé aux
données.
Le serveur
accuse.
Le serveur
ouvre le canal
d’échange de
données.
Le client accuse.
7
Qu’est ce qu’un Firewall
Définit un point de passage obligé pour le contrôle et le suivi du
trafic.
Restreindre l’accès aux ressources (information ou services) selon une
politique de sécurité.
Impose des restrictions sur le trafic entrant et sortant (ex: seul le trafic http
est autorisé, seule l’adresse IP 10.1.3.4 est autorisée).
Permet d’auditer et de contrôler l’accès.
Génération d’alertes pour les utilisations malveillantes.
Immune contre la pénétration.
Fournit un périmètre de sécurité.
Représente un endroit commode pour l’implémentation des
fonctionnalités réseau (ex: translation d’adresse)
Fournit une protection contre les attaques (ex: IP spoofing).
Point en commun : Filtrage des paquets
8
Qu’est ce qu’un Firewall (1)
Réseau non digne de
confiance
Réseau avec niveau de
confiance X
ALERT!!
Firewall
Réseau local Internet
Routeur
DMZ
Serveurs accessibles depuis
le réseau Internet
Réseau avec Niveau de confiance Y
9
Emplacement d’un Firewall
Internet
Firewall
Réseau protégé
10
La zone démilitarisée (DMZ)
Demilitarized zone (DMZ)
Un réseau permettant l’acheminement du trafic Internet du ou vers le
réseau protégé (intranet par exemple), tout en assurant la sécurité de
ce dernier.
Cette zone peut contenir des serveurs et des équipements de niveau
3.
Permet d’améliorer le niveau de sécurité en empêchant l’exposition
du réseau protégé ou l’intranet à l’Internet.
Les serveurs connectés au DMZ peuvent se composer de
Serveurs proxy (accès web aux utilisateurs du réseau protégé)
Serveurs VPN (Virtual Private Network) (des connexions sécurisées pour
l’accès distant)
Serveurs applicatifs (mail, DNS, etc.) qui nécessitent l’accès au réseau externe.
11
Politique de sécurité par défaut
Ce qui n’est pas explicitement permis est interdit. (default
= Deny)
La plus prudente.
Autoriser uniquement les communications ayant été
explicitement autorisées
Ce qui n’est pas explicitement interdit est permis. (default
= Forward)
Introduit une commodité dans l’utilisation des services réseau par
les utilisateurs.
Fournit un niveau de sécurité réduit.
Un administrateur doit réagir pour chaque nouvelle menace de
sécurité identifiée (un nouveau service devient vulnérable).
12
Limitations d’un Firewall
Ne protège pas contre les attaques qui ne le traversent pas:
Ex: un utilisateur interne utilise un modem pour se connecter à
Internet.
Ne protège pas contre les menaces internes.
Ex: un employé malhonnête attaque une machine interne.
Ne protège pas contre le transfert de programmes et de
fichiers malveillants (virus, backdoor, etc.).
Les systèmes et les applications supportés dans un périmètre de
sécurité, sont nombreux et différents.
Difficulté de scanner tous les messages en direction de ces
systèmes et applications.
Mauvaise configuration
13
Types de filtrage
Types de filtrage étudiés dans ce cours:
Filtrage simple de paquets
Filtrage dynamique
Filtrage applicatif
Passerelle applicative
Passerelle niveau circuit
14
Filtrage simple de paquets
Le plus simple des Firewalls (stateless packet filtering).
Pour chaque paquet IP rencontré, il décide de le faire passer (forward) ou
de l’éliminer (deny), selon les règles de filtrage appliquées.
Une interface externe (exposé à l’Internet), un ensemble de règles et une
interface interne.
Les règles de filtrage comportent :
Adresse IP source et destination.
Type de protocole (TCP, UDP, ICMP, etc).
Port (TCP ou UDP) source et destination.
L’action qui doit être menée par le firewall si le paquet correspond à la règle.
Le trafic au niveau de l’interface externe est traité par rapport aux règles
de filtrage définies.
Décision : Le paquet passe à travers l’interface interne au réseau protégé ou il sera
rejeté.
15
Exemple de règles (Stateless packet filtering)
Stateless packet filtering
Internet
192.168.12.0
Action Protocole Source Port Destination Port
Allow TCP * * 192.168.12.5 80
Allow TCP 192.168.12.0 * * 80
Deny IP * * * *
Règle 1: Toute connexion HTTP depuis le réseau externe vers le
serveur 192.168.12.5 est autorisée (à éviter !).
Règle 2: Seulement les connexions HTTP (TCP, port 80) depuis le
réseaux interne (192.168.12.0), sont permises.
Règle 3: La politique de sécurité par défaut.
16
Discussion: Filtrage simple de paquets
Avantages
Simplicité de fonctionnement.
Rapidité dans le traitement.
L’impact sur la performance est faible.
Inconvénients
Ne protège pas contre les attaques qui exploitent des vulnérabilités sur
les applications (ne bloque pas certaines commandes).
Les fichiers logs générés ne contiennent pas d’informations assez
pertinentes (seulement: @IP, ports).
Ne supporte pas des mécanismes avancés d’authentification des
utilisateurs.
Une simple erreur dans la configuration des règles peut casser toute la
sécurité (ordre, cohérence, etc.).
17
Attaques sur le filtrage simple des paquets
Usurpation d’adresse IP (IP address spoofing)
L’intrus envoi un paquet de l’externe avec une fausse @IP
(généralement égale à une @IP d’une machine interne), et ceci afin de
réussir à passer le mécanisme de filtrage.
Solution: bloquer tout paquet venant de l’interface externe ayant une
@IP source interne.
Fragmentation de paquets (Tiny fragment attacks)
Un paquet IP est divisé en plusieurs fragments, où seul le premier
fragment contient le numéro de port.
Insuffisance d’informations pour filtrer ces paquets.
Solution: rejeter les paquets fragmentés ou les rassembler avant
vérification.
18
Filtrage dynamique
Connexion TCP.
Port assigné au service inférieur à 1024.
Port client compris entre 1024 et 16383.
Les Ports <1024 sont affectés de façon permanente.
FTP: 20, 21 – Telnet: 23 – SMTP: 25 – HTTP: 80
Tous les Ports >1024 doivent être disponibles aux clients pour faire
leurs connexions.
Créé une vulnérabilité qui peut être exploitée par les intrus.
Présente une limitation pour les Firewalls de type stateless packet filtering
Solution: Utilisation du filtrage dynamique : Firewalls de type
Stateful Inspection:
Principe: Si les requêtes sortantes sont autorisées, les réponses
correspondantes doivent être acceptées)
19
Filtrage dynamique (1)
Renforce les règles de filtrage en suivant l’état des connexions:
Port Etat de la
@IP Src @IP Dst Port dst
Src connexion
192.168.1.2 1990 10.1.1.5 80 Etablie
192.168.1.3 1234 10.1.1.7 23 Etablie
192.168.1.4 2562 10.1.1.10 80 Etablie
… … … … …
Si un paquet représente une nouvelle connexion, alors vérification des règles de
configuration
Si un paquet fait partie d’une connexion existante (ex: TCP flag=ACK), alors
vérification dans la table d’état des connexions, puis mise à jour de la table.
Le trafic entrant vers un port « x » supérieur à 1024, est autorisé seulement s’il est
en direction d’une machine qui a déjà établie une connexion avec un port source
inférieur à 1024 et un port destination égal à « x ».
20
Stateful Packet-Filtering Firewall Serveur telnet
Client Telnet
192.168.12.12 10.1.2.3
Le Firewall se souviendra
de cette information
Cohérent avec le
paquet précédent
Pas de cohérence
avec la connexion en
cours
Filtrage dynamique - Traitement du trafic
FTP
Client Serveur FTP
Le firewall reconnaît le port utilisé pour l’envoi des commandes et
enregistre le port qui sera utilisé pour l’échange des données
(contrôle applicatif).
Client Serveur FTP
Lorsque la connexion FTP d’envoi des données est initiée par
le serveur, le firewall reconnaît l’@IP et la combinaison des ports et
autorise la connexion.
22
Le filtrage applicatif
Assure un niveau de sécurité élevé.
Permet de filtrer les communications application par application.
Opère au niveau 7 (couche application) du modèle OSI,
contrairement au filtrage de paquets simple.
Suppose donc une connaissance des protocoles utilisés par chaque
application.
Un firewall effectuant un filtrage applicatif est appelé généralement «
passerelle applicative »
Il sert de relais entre deux réseaux en s'interposant et en effectuant
une validation fine du contenu des paquets échangés.
Un intermédiaire pour les applications (messagerie électronique, FTP,
Telnet, www, etc.)
23
Passerelle applicative
(Application-Level Gateway)
Telnet FTP HTTP
Application Application Application
Presentation Presentation Presentation
Session Session Session
Transport Transport Transport
Network Network Network
DataLink DataLink DataLink
Physical Physical Physical
Passerelle applicative
Le firewall vérifie si les données applicatives sont dans un format acceptable.
Possibilité d’assurer des traitements supplémentaires (authentification,
enregistrement des données sur le trafic en question.)
Exemple : filtrage de la commande FTP put (serveur ftp anonyme).
24
Passerelle applicative – Principe de
fonctionnement
Ce qui est connu (pour la source) : la session entre la source et la passerelle
applicative.
La passerelle applicative stocke des informations sur la connexion (origine,
destination, durée, temps) et gère le trafic entre la source et la destination.
Serveur telnet
Client telnet 1. Telnet sur le port 23 6. Nouvelle connexion TCP
192.168.12.12 Passerelle applicative 10.1.2.3
2. Vérification de l’@IP source. Si
permis, 3., sinon la demande est rejetée.
3. Authentification du client.
4. Si authentifié, un prompt ou un menu
affichant la liste des serveurs autorisés.
5. Sélection du serveur distant et possibilité de
demande d’autres paramètres d’authentification
25
Passerelle transparente (Transparent Bridging)
Un firewall peut être configuré en tant que
passerelle.
Possibilité de placer un firewall entre deux équipements réseaux,
de façon transparente.
Le trafic est filtré et acheminé d’un équipement à un autre.
Avantages
Pas de modification de l’architecture du réseau.
Invisible aux équipements connectés au réseau.
Pas de moyen pour attaquer le firewall directement (pas d’@IP).
Inconvénient
Difficile de l’administrer à distance.
26
Passerelle applicative : Inconvénients
Besoin intensif de ressources
Un processus par connexion.
Gestion des connexions dans les deux bouts.
Pas de transparence pour l’utilisateur.
Peu de Proxies sont disponibles
Les services propres ne sont pas généralement supportés.
Plus approprié à TCP
Difficulté avec ICMP (non stateful, sans connexion comme UDP ).
27
Passerelle niveau circuit (Circuit Level
Gateway)
Opère selon un mécanisme semblable aux passerelles
applicatives, sauf qu’elle est orientée plus pour les
applicatifs non interactifs.
Relais des connexions TCP du réseau source de confiance
vers un réseau non digne de confiance.
L’@IP source au niveau du paquet est transformée (@IP de
la passerelle).
Suite à l’étape d’authentification, la passerelle fonctionne
comme relais de la connexion vers la destination finale.
Exemples typiques: Les serveurs proxy et les serveurs
SOCKS.
28
Passerelle niveau circuit – Principe de
fonctionnement
1. Demande de connexion à une URL de destination.
2. A la place de l’envoi de la requête de résolution de l’URL au serveur
DNS, l’application du client envoi la requête à l’interface interne du
serveur proxy.
3. Si l’authentification est requise, l’utilisateur est demandé à entrer ces
paramètres d’authentification.
4. Si l’user est authentifié, le serveur proxy réalise qcq tâches
supplémentaires (ex. comparaison de l’URL à une liste des URLs
permises ou interdites)
Envoi une requête DNS pour l’URL en question
Etablissement de connexion à l’@IP de destination où l’@IP source est relative
au serveur proxy.
5. Le serveur proxy achemine les réponses du serveur web au client.
29
Bastion Host
Sert comme plateforme pour les passerelles niveau
applicatives ou niveau circuit.
Peut être utilisée pour fournir des services accessibles de l’externe.
Potentiellement exposée à des intrusions.
Doit être hautement sécurisée.
Seulement les services nécessaires sont installés (typiquement des
Proxies).
Supporte deux ou plusieurs connexions réseau
Réalise une séparation sécurisée entre les connexions réseaux.
30
Comparaison des firewalls
Performance
Sécurité
Filtrage simple des paquets (Stateless packet
3 1
Filtering)
Filtrage dynamique(Stateful Packet Filtering) 2 2
Passerelle niveau circuit (Circuit-Level GW) 2 3
Passerelle applicative (Application-level GW) 1 4
Plus le nombre est faible, plus le niveau de sécurité et la
performance sont meilleures.
31
Points à considérer lors de la configuration
d’un firewall
Performance : équilibre (délicat) entre le niveau de
sécurité à assurer (suffisant) et l’accès aux données.
Plus la liste des règles de filtrage est importante, plus
la durée d’examen d’un paquet est importante
(performance ).
L’ordre des règles de filtrage est important !
Selon la nature du trafic.
Le cryptage/décryptage peut introduire un délai.
32
Interfaces d’un Firewall
Actuellement, la majorité des Firewalls intègrent cette
séparation (sous réseau protégé).
Interface DMZ (Demilitarized Zone) pour le sous réseau protégé
Zone moins sécurisée du réseau.
Isolation de la zone DMZ du reste du réseau.
33
Quelques produits Firewalls
Check Point Firewall-1
Stateful Packet Filter
Support de quelques fonctionnalités d’un Proxy.
Authentification.
Cisco PIX
Stateful Packet Filter
Interface utilisateur non pratique.
Firewall sous linux
Stateful Packet Filter
iptables (versions anciennes, ipchains, stateless)
Versions commerciales avec une interface graphique.
Pas d’authentification
Pas de load-balancing / Haute disponibilité
34