Ceci est une ancienne révision du document !



Pare-feu informatique ou Firewall

Un pare-feu vise à créer un (sous-)réseau ou une 'zone' sur : une zone démilitarisée ( anglais demilitarized zone, abrévation DMZ).

Nous vous conseillons de vous rediriger vers la page sécurité qui vous offrira des informations basiques sur les pare-feux.
A faire tableau simplifié des différents pare-feu basique pour l'utilisateur sur la page sécurité

Pertinence d'un Pare-feu pour l'utilisateur normal

Tout comme les Antivirus sont inutiles sous Linux : les pare-feux peuvent être inutile sous Linux.

Si vous êtes sous un routeur IPV4, avec un sous réseau, et sur un réseau sûr, vous n'aurez pas besoin de pare-feu.

Si vous êtes sur un modem IPV6, par exemple en cochant l'ipv6 sur une freebox en dégroupé, ou en modem Adsl directe, ou modem rtc vous avez besoin d'un pare feu, bien configuré.

Le but du pare-feu en entreprise comme l'indique clairement sa définition est de créer une zone démilitarisée, une zone sure.

De nos jours l'on met également en place des réseaux sécurisés, des vpn, et des connexions sécurisées : dans ces cas là l'utilité du pare-feu sur chaque machine est moindre, bien qu'il faille toujours un pare-feu pour sécuriser l'entrée/sortie du réseau.

Donc, tout dépendra de la politique informatique mise en place au sein du réseau de l'entreprise.

Un pare-feu est parfois appelé coupe-feu, garde-barrière, barrière de sécurité, ou encore firewall en anglais. Dans un contexte OTAN, un pare-feu est appelé Périphérique de protection en bordure (en anglais : Border Protection Device, ou BPD). Dans un environnement BSD, un pare-feu est aussi appelé packet filter.

Origine du terme

L'usage du terme « pare-feu » en informatique est donc métaphorique : une porte empêchant les flammes de l'Internet de rentrer chez soi et/ou de « contaminer » un réseau informatique.

Le pare-feu était jusqu'il y a quelques années considéré comme une des pierres angulaires de la sécurité d'un réseau informatique , mais il perd en importance au fur et à mesure que les communications basculent vers des connexions sécurisé SSL SSH, VPN, ne nécessitant que du routage précis. Il permet d'appliquer une politique d'accès aux ressources réseau (serveurs).

Il a pour principale tâche de contrôler le trafic entre différentes zones de confiance, en filtrant les flux de données qui y transitent. Généralement, les zones de confiance incluent Internet (une zone dont la confiance est nulle), et au moins un réseau interne (une zone dont la confiance est plus importante.)

Le but ultime est de fournir une connectivité contrôlée et maîtrisée entre des zones de différents niveaux de confiance, grâce à l'application de la politique de sécurité et d'un modèle de connexion basé sur le principe du moindre privilège.

Le filtrage se fait selon divers critères. Les plus courants sont :

  • l'origine ou la destination des paquets (adresse IP, ports TCP ou UDP, interface réseau, etc.) ;
  • les options contenues dans les données (fragmentation, validité, etc.) ;
  • les données elles-mêmes (taille, correspondance à un motif, etc.) ;
  • les utilisateurs pour les plus récents.

Un pare-feu fait souvent office de routeur et permet ainsi d'isoler le réseau en plusieurs zones de sécurité appelées zones démilitarisées ou DMZ. Ces zones sont séparées suivant le niveau de confiance qu'on leur porte.

Enfin, le pare-feu est également souvent extrémité de tunnel IPsec ou SSL. L'intégration du filtrage de flux et de la gestion du tunnel est en effet nécessaire pour pouvoir à la fois protéger le trafic en confidentialité et intégrité et filtrer ce qui passe dans le tunnel. C'est le cas notamment de plusieurs produits du commerce nommés dans la liste ci-dessous.

Les pare-feu sont un des plus vieux équipements de sécurité informatique et, en tant que tel, ils ont été soumis à de nombreuses évolutions. Suivant la génération du pare-feu ou son rôle précis, on peut les classer en différentes catégories.

4.1 Pare-feu sans états - Filtrage simple de paquet (stateless firewall)

C'est le plus vieux dispositif de filtrage réseau, introduit sur les routeurs. Il regarde chaque paquet indépendamment des autres et le compare à une liste de règles préconfigurées. Ces règles peuvent avoir des noms très différents en fonction du pare-feu :

  • « ACL » pour Access Control List (certains pare-feu Cisco),
  • politique ou policy (pare-feu Juniper/Netscreen),
  • filtres,
  • Règles ou rules
  • etc.

La configuration de ces dispositifs est souvent complexe et l'absence de prise en compte des machines à états des protocoles réseaux ne permet pas d'obtenir une finesse du filtrage très évoluée. Ces pare-feu ont donc tendance à tomber en désuétude mais restent présents sur certains routeurs ou systèmes d'exploitation.

4.2 Pare-feu à états - Filtrage de paquet avec état (stateful firewall)

Certains protocoles dits « à états » comme TCP introduisent une notion de connexion. Les pare-feu à états vérifient la conformité des paquets à une connexion en cours. C’est-à-dire qu'ils vérifient que chaque paquet d'une connexion est bien la suite du précédent paquet et la réponse à un paquet dans l'autre sens. Ils savent aussi filtrer intelligemment les paquets ICMP qui servent à la signalisation des flux IP.

Enfin, si les ACL autorisent un paquet UDP caractérisé par un quadruplet (ip_src, port_src, ip_dst, port_dst) à passer, un tel pare-feu autorisera la réponse caractérisée par un quadruplet inversé, sans avoir à écrire une ACL inverse. C'est fondamental pour le bon fonctionnement de tous les protocoles fondés sur l'UDP, comme DNS par exemple. Ce mécanisme apporte en fiabilité puisqu'il est plus sélectif quant à la nature du trafic autorisé. Cependant dans le cas d'UDP, cette caractéristique peut être utilisée pour établir des connexions directes (P2P) entre deux machines (comme le fait Skype par exemple).

4.3 Pare-feu applicatif

Dernière mouture de pare-feu, ils vérifient la complète conformité du paquet à un protocole attendu. Par exemple, ce type de pare-feu permet de vérifier que seul du HTTP passe par le port TCP 80. Ce traitement est très gourmand en temps de calcul dès que le débit devient très important; il est justifié par le fait que de plus en plus de protocoles réseaux utilisent un tunnel TCP pour contourner le filtrage par ports.

Une autre raison de l'inspection applicative est l'ouverture de ports dynamique. Certains protocoles comme le fameux FTP en mode actif échangent entre le client et le serveur des adresses IP ou des ports TCP/UDP. Ces protocoles sont dits « à contenu sale » ou « passant difficilement les pare-feu » car ils échangent au niveau applicatif (FTP) des informations du niveau IP (échange d'adresses) ou du niveau TCP (échange de ports). Ce qui transgresse le principe de la séparation des Couches réseaux. Pour cette raison, les protocoles « à contenu sale » passent difficilement voire pas du tout, les règles de NAT dynamiques, à moins qu'une inspection applicative ne soit faite sur ce protocole.

Chaque type de pare-feu sait inspecter un nombre limité d'applications. Chaque application est gérée par un module différent pour pouvoir les activer ou les désactiver. La terminologie pour le concept de module est différente pour chaque type pare-feu :

  • Conntrack (suivi de connexion) et l7 Filter (filtrage applicatif) sur Linux Netfilter
  • CBAC sur Cisco IOS
  • Fixup puis inspect sur Cisco PIX
  • ApplicationLayerGateway sur Proventia M,
  • Predefined Services sur Juniper ScreenOS
  • Stateful Inspection sur Check Point FireWall-1
  • Deep Packet Inspection sur Qosmos
  • Web Application Firewall sur BinarySEC

4.4 Pare-feu identifiant

Un pare-feu identifiant réalise l’identification des connexions passant à travers le filtre IP. L'administrateur peut ainsi définir les règles de filtrage par utilisateur et non plus par adresse IP ou adresse MAC, et suivre l'activité réseau par utilisateur. Plusieurs méthodes différentes existent qui reposent sur des associations entre IP et utilisateurs réalisées par des moyens variés. On peut par exemple citer authpf (sous OpenBSD) qui utilise ssh pour faire l'association. Une autre méthode est l'identification connexion par connexion (sans avoir cette association IP=utilisateur et donc sans compromis sur la sécurité), réalisée par exemple par la suite NuFW, qui permet d'identifier également sur des machines multi-utilisateurs.

On pourra également citer Cyberoam qui fournit un Pare-feu entièrement basé sur l'identité (en réalité en réalisant des associations adresse MAC = utilisateur) ou Check Point avec l'option NAC Blade qui permet de créer des règles dynamiques basée sur l'authentification Kerberos d'un utilisateur, l'identité de son poste ainsi que son niveau de sécurité (présence d'antivirus, de patchs particuliers).

4.5 Pare-feu personnel

Les pare-feu personnels, généralement installés sur une machine de travail, agissent comme un pare-feu à états. Bien souvent, ils vérifient aussi quel programme est à l'origine des données. Le but est de lutter contre les virus informatiques et les logiciels espions.

4.6 Portails captifs

Les portails captifs sont des pare-feu dont le but est d'effectuer une vérification de l'identité de l'utilisateur avant de le laisser accéder à internet. Cette vérification est sommaire et les méthodes de contournement sont nombreuses. Cependant, ces solutions sont utiles puisqu'elles permettent de limiter les utilisations abusives des moyens d'accès. C'est par exemple le cas des points d'accès Wi-Fi qui sont souvent protégés par ce genre de solution.

5.1 - Les firewall bridge

5.2 - Les firewalls matériels

5.3 - Les firewalls logiciels

Un système de détection d'intrusion (ou IDS : Intrusion Detection System) est un mécanisme destiné à repérer des activités anormales ou suspectes sur la cible analysée (un réseau ou un hôte). Il permet ainsi d'avoir une connaissance sur les tentatives réussies comme échouées des intrusions.

6.1 NIDS (IDS réseau)

Les NIDS (Network Based Intrusion Detection System), surveillent l'état de la sécurité au niveau du réseau.

  • Snort - libre
  • Bro
  • Enterasys
  • Checkpoint
  • Tipping Point

6.2 HIDS (IDS machine hote)

Les HIDS (HostBased Intrusion Detection System), surveillent l'état de la sécurité au niveau des hôtes.

Ces IDS servent, entre autres, à vérifier qu'un système n'a pas été compromis (par un rootkit par exemple). Ils utilisent des sommes de contrôle (MD5, SHA-1, …) des programmes exécutables pour s'assurer qu'ils n'ont pas été modifiés.

6.3 IDS hybride (NIDS + HIDS)

Les IDS hybrides, qui utilisent les NIDS et HIDS pour avoir des alertes plus pertinentes.

L'IDS hybride a besoin de corréler l'information

La corrélation est une connexion entre deux ou plusieurs éléments, dont un de ces éléments créée ou influence un autre. Elle se traduit plus généralement par la transformation d'une ou plusieurs alertes en attaque. Cela permet de faciliter la compréhension sur les attaques au lieu de s'éparpiller parmi les alertes.

Idéalement, elle nécessite un IDS Hybride car plus il y a d'informations hétérogènes sur un évènement, la corrélation se fait d'une façon plus pertinente. Les formats ayant été normalisés (IDMEF), il ne reste plus qu'à faire des associations afin de détecter des alertes qui n'auraient jamais eu lieu sur un analyseur seul.

Si l'on prend l'exemple d'une authentification échouée, cela génère une alerte de faible intensité. Mais s'il y a une série d'authentifications échouées avec des utilisateurs différents, on peut conclure à une attaque de force brute.

La corrélation permet de générer de nouvelles alertes à partir de celles existantes. C'est une étape préalable à une contre-mesure efficace.

Il y a diverses façons de faire de la corrélation. Cependant on peut définir deux catégories :

  • La corrélation passive, correspondant à une génération d'alerte basée sur celles existantes. Nous pouvons prendre par exemple les scans de force brute ssh.
  • La corrélation active, qui va chercher les informations correspondant à des alertes émises. Par exemple, lorsqu'une personne se connecte en dehors des heures de travail, cela a un impact élevé qui n'aurait pas été en temps normal d'activité.

6.4 Les IPS : Système de prévention d'intrusion

Ips (Intrusion Prevention System) : on retrouve également des ips réseaux, et des ips hotes.

Le summum du système de détection d'intrusion est bien-sur d'appliquer des règles au pare-feu automatiquement par rapport à ce qui est détecté sur l'hôte et le réseau. Sinon c'est au responsable DSI de s'en charger en cas d'attaque : et il n'est pas h24 en train de surveiller son réseau heureusement pour lui, alors ce qu'il se passe c'est que les attaques sont toujours possibles, et les hackers s'y prennent généralement la nuit 1).

Système de prévention d'intrusion : C'est d'ailleurs ce que la plupart des gens entendent aujourd'hui par pare-feu.

On peut citer des pare-feux propriétaires arrivant à ce niveau : Outpost Pro

Cette boucle de retour (feedback) prend un terme spécifique : la contre mesure.

Liste des IPS libre :

Les pare-feu récents embarquent de plus en plus de fonctionnalités, parmi lesquelles on peut citer :

  • Filtrage sur adresses IP/Protocole,
  • Inspection stateful[2] et applicative,
  • Intelligence artificielle pour détecter le trafic anormal,
  • Filtrage applicatif
    • HTTP (restriction des URL accessibles),
    • Courriel (Anti-pourriel)
    • Logiciel antivirus, anti-logiciel malveillant
  • Traduction d'adresse réseau,
  • Tunnels IPsec, PPTP, L2TP,
  • Identification des connexions,
  • Serveurs de protocoles de connexion (telnet, SSH), de protocoles de transfert de fichier (SCP),
  • Clients de protocoles de transfert de fichier (TFTP),
  • Serveur Web pour offrir une interface de configuration agréable,
  • Serveur mandataire (« proxy » en anglais),
  • Système de détection d'intrusion Système & Applicatif & Réseau (« IDS » - « HIDS » et « NIDS » en anglais)
  • Système de prévention d'intrusion (« IPS » en anglais)

7.1 - Scénarios d'attaques (Pénétrations de réseaux)

7.1.1 - Premier cas : Pas de protection

7.1.2 - Deuxième cas : Filtrer les flux entrants illégaux

7.1.3 - Troisième cas : Bloquer les flux entrants et sortants

7.1.4 - Quatrième cas : Protection locale via un Firewall personnel

7.2 - Les techniques et outils de découvertes de Firewall

7.2.0 - Netstat

Lister les services sur la machine :

netstat -ta

7.2.1 - NESSUS

Site officiel : http://www.nessus.org/nessus/

Voir la page de nessus.

7.2.2 - Nmap

7.2.3 - Firewalk

7.2.4 - Liste des Autres outils

7.3 - Configuration théorique des défenses

7.3.1 - Les réactions des firewalls aux attaques classiques

7.3.2 - Un exemple pratique : netfilter

7.4 Configuration Avancée

SOLUTION 0 : NIDS + Monitoring

Solution basique que l'on retrouve en entreprise, même avec des composants propriétaires.

SOLUTION 1 : HIDS + IPS

Choix technologique possible : * Prélude + NUFW + OSSEC + Snort Inline

Le monitoring va ici de soi.

Cas d'utilisation : Serveur web, ou autre service devant utiliser un protocole non sécurisé.

La méthodologie sera de tester votre IPS / HIDS avec les divers outils de test intensif libre, mis à votre disposition.

Si une faille est détectée :

  • Créer d'autres règles dans les diverses solutions ( SNort, …)
  • Et reboucler.

Une fois votre pare-feu hautement configuré et testé, vous pourrez l'insérer dans votre réseau.

SOLUTION 2 : Tout en protocole sécurisé

Choix technologique possible : Prelude + Nufw + VPN + SSH + HTTPS + Fail2ban

Cas d'utilisation : toutes les connections sont sécurisées et on autorise que celles là.

Dans l'absolue il est possible de faire accepter une transition du http au https (pour remplacer totalement l'http), pour par exemple des solutions d'erp, cms. La gène est nulle pour l'utilisateur ou le client.

Ce n'est bien sur pas la solution possible pour des serveurs web.


1)
principe de base
  • utilisateurs/psychederic/pare-feu.1260626341.txt.gz
  • Dernière modification: Le 18/04/2011, 14:42
  • (modification externe)