Skip to content

Firewall

I- Définition

Un firewall ou mur pare-feu est un équipement spécialisé dans la sécurité réseau. Il filtre les entrées et sorties d'un nœud réseau. Cet équipement travaille habituellement aux niveaux 3 et 4 du modèle OSI.

Il faut bien distinguer le firewall logiciel, utilisé sur les ordinateurs personnels du firewall matériel installé en entreprise et qui nous intéresse pour ce cours.

Chez vous : Firewall logiciel

Pour protéger un ordinateur personnel, il est fortement conseillé d'utiliser un logiciel pare-feu. Les systèmes d'exploitations actuels en propose, par exemple depuis Windows XP SP2, un pare feu est directement inclus sur les Windows.

Sur Ubuntu, le logiciel pare feu s'appelle ufw.

Ces pare-feu logiciels ne sont pas comparables aux firewalls physiques car ils préviennent l'utilisateur quand un logiciel se connecte au réseau.

En entreprise : Firewall physique

Dans un contexte d'entreprise, les objectifs sont différents :

  1. On ne peut pas installer un firewall sur chaque ordinateur, il faut que la sécurité soit centralisée.
  2. L'équipement étant central, il doit permettre des débits très importants pour que tous les utilisateurs le traversent.
  3. La sécurité ne se fait pas au niveau des logiciels mais au niveau des services réseaux.
  4. L'utilisateur ne peut pas être prévenu à chaque fois qu'un nouveau service accède au réseau.

En conséquence, le firewall matériel est un boitier placé dans une salle de serveur. Ce firewall est configuré une fois pour toutes par l'administrateur réseau. Si ce dernier oublie de renseigner une information, le firewall fonctionne mal ou de façon incomplète.

Souvent les routeurs incluent une fonction firewall qui permet une première sécurité pour le réseau.

Les grands constructeurs de Firewall sont Cisco, Netasq, Juniper, CheckPoint, ...

Les serveurs spécialisés en filtrage sont ISA Server de Microsoft, IPCop et PFSense sous Linux, ...

II- Fonctionnement de base du firewall

Le principe de base du filtrage s'appuie sur l'analyse des premières couches du modèle OSI :

  • Couche 1 : L'interface d'entrée et l'interface de sortie
  • (Couche 2 : L'adresse MAC source et l'adresse MAC de destination.)
  • Couche 3 : L'adresse IP source et l'adresse IP de destination.
  • Couche 4 : Le port source et le port destination.

L'administrateur écrit des règles dans le firewall. Le firewall fonctionne de la manière suivante :

  1. Reçoit un paquet sur l'une de ses interfaces.
  2. Lit les règles une par une dans l'ordre en vérifiant si le paquet reçu est concerné par la règle.
  3. Quand un paquet est concerné par une règle il applique la politique associée.
  4. Quand un paquet n'est pas concerné par une règle, il la passe pour lire la suivante.
  5. Si aucune règle ne s'applique, il utilise la politique par défaut.
No Interface entrée Interface sortie Adr MAC source Adr MAC destination Adr IP source Adr IP destination Protocole niveau 4

Port

source

Port destination Politique
* * * * * * * * * *

D'après le schéma et les besoins exprimés ci-dessous, remplissez les règles de filtrage du firewall.

Lan 192.168.0.0/24 ----- [Firewall] ----- Internet
                         /
DMZ 192.168.1.0/24 -----/
  • Tous les clients doivent pouvoir accéder au serveur DNS de la DMZ.
  • Toutes les machines d'Internet doivent accéder au serveur Web de la DMZ.
  • Tous les clients doivent accéder à Internet (HTTP, HTTPS).
  • La politique par défaut du firewall est le refus.

III- Firewall à état de connexion

Les firewalls avancés vérifient également l'état de connexion :

Le protocole TCP gère des états de connexions (Synchronisation, acquittement, fin de connexion, ...).

Les firewalls vérifient ces états de connexions pour éviter qu'un pirate puisse contourner la protection.

IV- Firewall applicatif

Historiquement, le pare feu intervient aux niveaux 3 et 4 du modèle OSI mais aujourd'hui, il peut également vérifier les couches hautes (5 à 7).

Le firewall peut par exemple vérifier que ce qui passe par le port 80 est bien du HTTP.

Ce type de traitement est beaucoup plus lent que le traitement de base.

V- Firewall identifiant

Les firewall identifiants utilisent un nom d'utilisateur pour faire le choix d'un accès réseau. Cela signifie que les accès pourront être différents en fonction du profil de la personne qui s'est connectée au réseau.

Les règles de filtrage sont définies par utilisateurs et non plus par IP !

VI- Port Knocking

Le port knocking est une technique de filtrage destinée avant tout à protéger les ports d'administration d'un serveur ou d'une machine réseau, par exemple le telnet, le SSH ou le HTTP.

Le principe est le suivant :

  • Par défaut le firewall filtre le port voulu
  • Le client doit envoyer un segment SYN sur un ensemble de ports définis (dans un l'ordre)
  • Si le client a bien choisi la bonne combinaison de ports le firewall crée une règle temporaire qui accepte le port voulu.
  • Quand le client n'utilise plus le port de connexion, il fait un code (ensemble de ports dans un certain ordre)
  • Si le code de fermeture est bon, le firewall supprime la règle crée temporairement.

Par exemple, je ne pourrais pas me connecter au port 22 de cette machine avant d'avoir « frappé » aux ports TCP 2000, TCP 4500, UDP 3000.

Le port 22 sera activé jusqu'à ce que je le ferme en faisant la bonne combinaison de ports.

VII- Vocabulaire

Bastion

Un bastion informatique désigne une machine directement connectée à Internet qui effectue le premier niveau de sécurité avant les autres équipements internes :

Zone démilitarisée

Une zone démilitarisée est une zone dans laquelle chaque paquet entrant ou sortant a été filtré par un équipement de sécurité.

Il s'agit en général d'y placer des serveurs qui servent à la fois pour l'intérieur et pour l'extérieur du réseau.

Exercices :

LAN 172.16.0.0/16 ----- eth0 [Firewall] wan0 ----- Internet
Clients                          eth1
                                  |
                          DMZ 172.17.0.0/16
                       Serveur HTTP 172.17.0.1
                       Serveur DNS  172.17.0.2

D'après les règles de filtrage suivantes, dites quelle règle vérifiera le paquet et si les paquets seront transmis ou supprimés par le firewall :

  1. IP sce : 172.16.0.30 IP Dest : 12.230.24.45 Prot : TCP Port sce :1045 Port dest : 443
  2. IP sce : 140.8.19.47 IP Dest : 172.17.0.1 Prot : UDP Port sce :6810 Port dest : 53
  3. IP sce : 172.16.0.1 IP Dest : 172.17.0.1 Prot : TCP Port sce :80 Port dest : 80
  4. IP sce : 17.14.3.3 IP Dest : 172.17.0.2 Prot : UDP Port sce :6000 Port dest : 53
  5. IP sce : 172.17.0.1 IP Dest : 1.2.3.4 Prot : TCP Port sce :80 Port dest : 10000

Un nouveau serveur proxy a été mis dans la DMZ. On veut forcer les clients à passer par le proxy, quelles règles doit-on ajouter et/ou supprimer dans le firewall ?

No Interface entrée Interface sortie Adr MAC source Adr MAC destination Adr IP source Adr IP destination Protocole niveau 4

Port

source

Port destination Politique
1 Eth0 Eth1 * * 172.16.0.0 172.17.0.1 TCP > 1024 80 Accepter
2 Eth1 Eth0 * * 172.17.0.1 172.16.0.0 TCP 80 > 1024 Accepter
3 Eth0 Eth1 * * 172.16.0.0 172.17.0.2 UDP > 1024 53 Accepter
4 Eth1 Eth0 * * 172.17.0.2 172.16.0.0 UDP 53 > 1024 Accepter
5 wan0 Eth1 * * * 172.17.0.1 TCP > 1024 80 Accepter
6 Eth1 wan0 * * 172.17.0.1 * TCP 80 > 1024 Accepter
7 Eth0 wan0 * * 172.16.0.0 * TCP > 1024 80 Accepter
8 wan0 Eth0 * * * 172.16.0.0 TCP 80 > 1024 Accepter
* * * * * * * * * * Refuser