S . G . D . S . N
Agence nationale
de la sécurité des
systèmes d'information

République Française Paris, le 10 janvier 2006
No CERTA-2005-INF-006

Affaire suivie par :

CERTA

NOTE D'INFORMATION DU CERTA

Objet : Filtrage et pare-feux


Conditions d'utilisation de ce document : http://www.certa.ssi.gouv.fr/certa/apropos.html
Dernière version de ce document : http://www.certa.ssi.gouv.fr/site/CERTA-2006-INF-001

Gestion du document


Tableau 1: Gestion du document
Référence CERTA-2006-INF-001
Titre Filtrage et pare-feux
Date de la première version 10 janvier 2006
Date de la dernière version -
Source(s) Voir Documentation
Pièce(s) jointe(s) Aucune

Une gestion de version détaillée se trouve à la fin de ce document.

1 Introduction

1.1 Définition

La traduction officielle du terme anglais firewall est barrière de sécurité ou pare-feu ([JO99]). La définition qui est associée est la suivante :

« Dispositif informatique qui filtre les flux d'informations entre un réseau interne à un organisme et un réseau externe en vue de neutraliser les tentatives de pénétration en provenance de l'extérieur et de maîtriser les accès vers l'extérieur. »

Cette description souffre de quelques erreurs parmi lesquelles le recours aux notions d'intérieur et d'extérieur qui sont des notions étrangères à l'équipement et qui relèvent en fait de choix d'architecture, et un présupposé restrictif sur la politique de sécurité applicable.

On pourra retenir de façon assez large qu'il s'agit d'un dispositif informatique de filtrage de protocoles réseaux (routables) et, par extension, d'un système ou d'un groupe de systèmes permettant d'imposer une politique de sécurité entre plusieurs périmètres réseaux.

1.2 Intérêts et limites du pare-feu

1.2.1 Avantages

1.2.2 Inconvénients

2 Principes du filtrage

Selon l'équipement, des informations sont extraites des flux réseaux depuis une ou plusieurs des couches 2 à 7 du modèle OSI, éventuellement corrélées entre elles, et comparées à un ensemble de règles de filtrage. Un état peut être mémorisé pour chaque flux identifié, ce qui permet en outre de gérer la dimension temporelle avec un filtrage en fonction de l'historique du flux.

Les types de filtrage les plus courants sont :

Par la suite, ce document se limitera au cas le plus répandu, soit IPv4 avec une liaison Ethernet.

2.1 Le filtrage de paquets IP

Il s'agit d'un filtrage réalisé au niveau des couches 2 à 4 dans un routeur - une passerelle -, un pont ou un hôte.

Les critères se basent sur les champs des entêtes des différentes couches ainsi que sur l'interface d'entrée ou de sortie du paquet (figure 1) :

Figure 1: Le filtrage de paquets IP
\includegraphics[width=.95\columnwidth]{paquets}

Les avantages et inconvénients de ce filtrage sont :

2.2 Le filtrage en couches 5 à 7 : les serveurs mandataires

On peut distinguer deux types de serveur mandataire (« proxy », qui agit en lieu et place de son mandant, un serveur ou un client, voir figure 2) :

La notion de « reverse-proxy » est parfois employée : elle désigne les relais qui sont mandataires pour un serveur ; le cas le plus courant, donc appelé « proxy », étant de faire écran pour des clients.

Figure 2: Le serveur mandataire
\includegraphics[width=.95\columnwidth]{proxy}

Les avantages et inconvénients des serveurs mandataires peuvent être résumés ci-dessous :

2.3 Le filtrage dynamique et adaptatif

Ce mécanisme se veut le meilleur des deux mondes précédents en apportant une capacité de filtrage applicative tout en restant au niveau de la couche transport/session.

Le filtrage dynamique ajoute la prise en compte de l'historique au simple filtrage de paquet : l'idée de base étant qu'avec un échange client/serveur si un paquet est passé dans un sens il en passera un dans l'autre (commutation de la source et destination du couple IP/port pour les paquets TCP/UDP). Diverses temporisations sont introduites : poignés de main TCP, fermeture de connexion ou de session,.... Ce mode permet de générer à la volée des règles temporaires de filtrage des paquets. Ces dernières disparaissent lorsqu'aucun paquet ne passe pendant un délai configuré ou avec la fermeture de la session en TCP (RST, FIN). En reprenant l'exemple précédent de l'accès au service http :

Règle dynamique : 192.168.10.0/24:1024-65535 => *:80
Initiation d'une connexion : 192.168.10.12:1036 => 10.0.0.1:80
Règle générée temporairement : 192.168.10.12:1036 <= 10.0.0.1:80

Le filtrage adaptatif recherche, en outre, des signatures dans le segment de données des paquets afin de déterminer le type et l'état du protocole applicatif transporté et de procéder ainsi à des vérifications de cohérences (figure 3). C'est dans cette catégorie que l'on peut ranger le terme de « stateful inspection » utilisée par divers éditeurs.

Figure: Règles dynamiques et adaptatives pour une session FTP active
\includegraphics[width=.95\columnwidth]{adaptatif}

Les avantages et inconvénients qui en découlent :

3 Les autres fonctionnalités

L'évolution des pare-feu a conduit à l'ajout de fonctionnalités dont le domaine peut sembler connexe. Parmi celles-ci ont peut distinguer :

3.1 Quelques aspects de la traduction d'adresse

3.1.1 « Network Address Translation - NAT »

Le routeur établit et maintient une correspondance entre les adresses internes (généralement privées pour éviter un effet de masquage) et une ou plusieurs adresses publiques. Cette correspondance peut être statique ou bien réalisée dynamiquement par l'équipement. Dans ce cas, le nombre d'hôtes pouvant sortir simultanément est limité par le nombre d'adresses publiques utilisables (figure 4).

Figure 4: NAT
\includegraphics[width=.95\columnwidth]{nat}

3.1.2 « Port Address Translation - PAT»

Pour contourner la limitation qui précède, la correspondance n'est plus établi sur la simple adresse IP mais utilise un couple adresse IP/port (TCP/UDP) ou adresse IP/ID (ICMP). C'est une technique couramment utilisée pour connecter un réseau à l'aide d'une unique machine ayant un compte chez un FAI (figure 5).

Figure 5: PAT
\includegraphics[width=.95\columnwidth]{pat}

3.1.3 Avantages et inconvénients

Figure 6: Comparaison du couple traduction/filtrage entre netfilter et pf
\includegraphics[width=.95\columnwidth]{filt_trad}

4 Contournement du filtrage

Les pare-feu sont inadaptés pour filtrer le contenu des protocoles chiffrés de bout en bout comme SSL/TLS ou IPSEC. Certains éditeurs proposent de contourner le problème en réalisant en quelque sorte une attaque par le milieu « sous contrôle » : cette idée est en contradiction avec les principes de conception de ces protocoles et dégrade fortement leur sécurité (le pare-feu devient une IGC mais sans les procédures et la sécurité qui doivent y être associées - le logiciel du pare-feu doit avoir un accès permanent à la clef privée -, mélange des rôles - l'administration réseau devient tiers de certification -,...). Il semble plus raisonnable de déléguer une partie du filtrage sur l'hôte même, après déchiffrement.

Par ailleurs, il est toujours possible d'encapsuler les protocoles les uns dans les autres quels que soient leurs niveaux respectifs :

5 Quelques organisations classiques

5.1 L'hôte filtré

Seul un hôte, spécifiquement sécurisé, mis à jour et audité (bastion), peut accéder à l'extérieur grâce à un routeur filtrant en coupure. Les utilisateurs doivent s'authentifier dessus pour accéder aux ressources externes (figure 7).

Figure 7: Bastion
\includegraphics[width=.95\columnwidth]{screened_host}

5.2 Sous-réseau filtré

Variante du cas précédent ou l'accès au bastion est contrôlé par un second routeur filtrant. Aucun trafic ne traverse directement le sous-réseau (figure 8).

Figure: Sous-réseau filtré
\includegraphics[width=.95\columnwidth]{screened_sub}

5.3 Relais isolé

Variante du bastion ou seul le protocole applicatif du relais peut être invoqué (figure 9).

Figure: Relais isolé
\includegraphics[width=.95\columnwidth]{screened_proxy}

5.4 Serveur relais en passerelle

Un hôte hébergeant des relais pour les applications que l'on souhaite supporter est mis en coupure et son routage désactivé. On s'assure ainsi que seuls les protocoles des relais sont transmis (figure 10).

Figure 10: Relais en passerelle
\includegraphics[width=.95\columnwidth]{dual_homed}

5.5 La zone démilitarisée (« DMZ »)

C'est un sous-réseau qui n'appartient ni au réseau interne protégé, ni pour pour autant à Internet. C'est typiquement le(s) sous-réseau(x) où l'on place les serveurs publics et les relais. Ceux-ci étant susceptibles d'être compromis, le cas idéal voudrait qu'ils aient chacun leur zone démilitarisée de manière à pouvoir contenir toute intrusion (figure 11).

Figure 11: Une DMZ par serveur ou relais
\includegraphics[width=.95\columnwidth]{dmz_mod}

6 Déploiement

Le pare-feu est un équipement de bordure. Il n'a d'intérêt qu'en coupure d'un périmètre parfaitement identifié et contrôlé.

De nombreux problèmes viennent altérer l'intégrité du périmètre :

Devant la variété des cas possibles une solution peut être de recourir au cloisonnement de réseau ([Be1999], [Sc2000]). Il s'agit de filtrer au plus près, sur la passerelle ou le commutateur. Cela permet d'appliquer des niveaux de sécurité variables, ne nécessite pas des équipements très performants puisque chaque noeud doit gérer moins de règles. Cependant ce n'est utilisable dans la pratique qu'à l'aide d'un système d'administration centralisé (figure 12).

Figure: Le cloisonnement de réseau
\includegraphics[width=.95\columnwidth]{cloisonnement}

7 Généralités sur le filtrage TCP/IP

La politique par défaut devrait être de tout interdire puis d'ouvrir des ports en fonction du besoin. L'inverse, la fermeture en cas de problème, n'est pas une mesure de prévention.

Une attention devra apportée au mode arrêté du pare-feu (activation ou non du routage) qui peut varier pour un même produit selon les systèmes d'exploitation.

L'« anti-spoof » est une bonne pratique dans la mesure où le plan d'adressage est simple et l'« egress filtering » a l'avantage de permettre d'identifier de façon certaine le réseau protégé comme source d'un problème si l'un des hôtes venait à être compromis.

Idéalement le pare-feu devra défragmenter au niveau IP, ce qui empêchera les techniques d'évasion par recouvrement. Cependant les mêmes techniques de dissimulation peuvent être utilisées au niveau des segments TCP, phénomène qui ne peut être combattu qu'à l'aide des serveurs mandataires.

Les messages ICMPs peuvent servir à collecter des informations mais participent aussi au bon fonctionnement du protocole IP. On pourra se référer à [Th2003] pour plus détails. On retiendra que le type 3 code 4 (« icmp unreachable fragmentation needed ») est utilisé pour decouvrir la taille maximum des paquets transmissibles et que son filtrage dégrade les performances. Par ailleurs, le type 11 code 0 (« icmp time exceeded in transit ») est utile pour le routage mais est également utilisé pour détecter les ports filtrés par un équipement ; une solution peut être de filtrer ce type uniquement sur les routeurs terminaux.

8 Documentation

Références

Be1999
Steven M. Bellovin, AT&T, Distributed Firewalls, novembre 1999
http://www.research.att.com/~smb/papers/distfw.html
Ce2001
CERTA, Tunnels et pare-feu une cohabitation difficile
http://www.certa.ssi.gouv.fr/site/CERTA-2001-INF-003/index.html
ch2003
Patrick Chambet, Edelweb, Linux Magazine France HS 12, Firewalls et applications Web : architecture et sécurisation, novembre 2002
Co2005
COAST, Université de Purdue, Internet Firewalls
http://www.cerias.purdue.edu/coast/firewalls/
CR2000
Matt Curtin et Marcus Ranum, Internet Firewalls : Frequently Asked Questions, version 10.4, 26 juillet 2004
http://www.interhack.net/pubs/fwfaq/
Gr2003
Robert Graham, FAQ : Firewall Forensics (What am I seeing ?)
http://web.archive.org/web/20041118093912/http://www.robertgraham.com/pubs/firewall-seen.html
JO99
Commission des télécommunications, Glossaire informatique des termes relatifs à l'informatique, Journal Officiel, 16 mars 1999
http://www.culture.gouv.fr/culture/dglf/cogeter/16-03-99-internet.html
MB2004
Ryan McBride, Firewall Failover with pfsync and CARP
http://www.countersiege.com/doc/pfsync-carp/
Sa2005
SANS Institute, Firewalls & Perimeter Protection
http://www.sans.org/rr/catindex.php?cat_id=21
Sc99
Hervé Schauer, Hervé Schauer Consultants, The future of the firewall, 18 août 1999
http://www.hsc.fr/ressources/presentations/df/index.html.en
Sc2000
Hervé Schauer, Hervé Schauer Consultants, Distributed Network Security, 23 mars 2000
http://www.hsc.fr/ressources/presentations/dns/index.html.en
Sm2001
Gary Smith, SANS Institute, A Brief Taxonomy of Firewalls - Great Walls of Fire, 18 mai 2001
http://www.giac.org/practical/gsec/Gary_Smith_GSEC.pdf
Th2003
Rob Thomas, ICMP Packet Filtering v1.2
http://www.cymru.com/Documents/icmp-messages.html
WCP2002
John Wack, Ken Cutler, Jamie Pole, NIST, Guidelines on Firewalls and Firewall Policy
http://csrc.nist.gov/publications/nistpubs/800-41/sp800-41.pdf

Gestion détaillée du document

10 janvier 2006
version initiale.



CERTA
2010-01-20