LES FIREWALLS

mercredi 21 novembre 2007

Les techniques de sécurité Internet firewalls

Google

Pour mettre en œuvre une politique de sécurité, différentes techniques peuvent être utilisées :
• Les techniques de sécurité de base- La sécurisation des machines individuelles- La translation d'adresse- Le chiffrement et la signature numérique
Les firewalls (ou gardes-barrières)
Les techniques de sécurité de base
Sécurisation des machines individuelles
La sécurisation des machines individuelles est la technique de sécurité la plus répandue dans le monde informatique. Comme son nom l’indique, elle consiste à configurer chaque ordinateur sur le réseau pour résister à l’intrusion en utilisant :
• des méthodes d'authentification pour vérifier et garantir l'identité d'un utilisateur ou de toute autre entité du réseau
• des contrôleurs d'intégrité comme des anti-virus
• des mécanismes d'audit et de journalisation qui sont respectivement des procédés qui permettent d'observer tous les phénomènes qui surviennent sur le réseau et qui permettent le stockage de toutes ces informations sous forme de fichiers, de bases de données pour faciliter la surveillance et la maintenance des systèmes
• les plus récentes mises à jours (patchs) des logiciels afin de supprimer les bogues éventuels de certains logiciels entre deux versions
La translation d’adresse
La translation d’adresse (Network Adress Translation) est basée sur le principe que toutes les machines sur un réseau interne (réseau local) n’accéderont pas à l'Internet en même temps. Le traducteur d’adresses du réseau possède un ensemble d’adresses externes disponibles parmi les adresses officiellement affectées. Il fonctionne sur le même principe qu’un PABX qui gère des lignes téléphoniques, le NAT, lui, gère des adresses IP.

Fig. 3 La translation d’adresse (NAT)

La passerelle lit une liste d’adresses disponibles et réécrit les en-têtes de paquets pour que les adresses non référencées ne sortent jamais du réseau interne.
Quand un utilisateur interne veut utiliser l’Internet, le périphérique choisit un nombre de l’ensemble et réécrit tous les paquets sortants avec l’adresse externe. Parallèlement, les paquets entrants sont réécrits pour être transmis sur le réseau interne avec l’adresse interne.
La translation d’adresse permet aux organismes d’utiliser un plus petit espace d’adressage tout en cachant les adresses internes.
Une autre solution est d’affecter dynamiquement les adresses IP aux machines individuelles, en utilisant des protocoles tels que le Dynamic Host Configuration Protocol (DHCP) et le Boostrap Protocol (BOOTP) : ils gardent un ensemble d’adresses IP enregistrées et les affectent aux machines qui demandent d’accéder à l'Internet.
L’authentification
L’authentification est un procédé qui permet la vérification et la garantie de l’identité d’une entité. On distingue quatre fondements pour l’authentification :
• ce que l'entité connaît
• où se trouve l'entité à authentifier
• ce qu’est l'entité
• ce que l'entité possède
Ce que l'entité connaît
Cette méthode est habituellement réalisée en utilisant la combinaison d’un identifiant d'utilisateur et d'un mot de passe (exemple : login - password). Son principal inconvénient est qu’il n’y a aucune preuve que seules les personnes de confiance connaissent le bon mot de passe. En effet, les mots de passe peuvent être :
• communiqués (en laissant un post-it sur l'écran d'une station, par exemple)
• trop simples et facile à deviner
• récupérer par un intrus écoutant les lignes de communication n'utilisant pas de systèmes de chiffrement
Où se trouve l'entité à authentifier
La plupart des réseaux comptent sur un identifiant d’utilisateur et l’adresse réseau d’origine pour l’authentification. C’est à dire que l’authentifiant suppose que l’identité de l’origine peut être déduite de l’adresse de réseau d’où viennent les paquets. Comme nous l'avons vu précédemment, cette méthode atteint ses limites lorsqu'un intrus utilise le trucage IP (IP Spoofing) pour se faire passer pour un hôte de confiance.
Ce qu’est l'entité
Elle est fondée sur ce qu’est l’entité à authentifier. Cette catégorie comprends les attributs physiques telles que des empreintes digitales, rétiniennes, vocales, etc.
Ce que l'entité possède
Elle est fondée sur la possession d’une carte électronique à mémoire spécialement utilisée pour vérifier l'identité d'une personne.
Le chiffrement et la signature numérique
Le chiffrement (ou la cryptographie)
Le chiffrement est défini comme un processus consistant à prendre des informations qui existent sous forme lisible et à les convertir en une forme cryptée.
Si le destinataire des données codées souhaite lire les données originales, il doit les convertir à partir des données codées, selon un processus appelé décodage. Le décodage est la réciproque du codage. Afin de décoder des données le destinataire doit être en possession de ce que l’on appelle clé. La clé doit être conservée et distribuée avec circonspection.
Dans la cryptographie, deux types de clés peuvent être utilisées:
• la clé symétrique
• la clé asymétrique
La cryptographie à clé symétrique consiste à brouiller des messages en utilisant une clé ou un secret commun et à les déchiffrer en utilisant le même secret ou clé.
Le codage DES (Data Encryption Standard) est un codage à clé symétrique très largement utilisé. C’est le standard de cryptographie des données. Il transforme les informations en clair, en données que l’on appelle cyphertext. Pour ce faire, il utilise un algorithme spécifique et une valeur seed nommée clé. Le destinataire connaissant la clé peut l’utiliser pour reconvertir les données codées en texte en clair.
La cryptographie à clé asymétrique utilise deux clés : une clé publique et une clé privée. Les messages chiffrés avec l’une des deux clés peuvent être décodés par l’autre clé de la paire. Ainsi, tout message chiffré avec la clé publique peut être décrypté seulement avec la clé privée.
L'algorithme le plus connu dans la cryptographie à clé asymétrique est le RSA dont les créateurs sont Ron Rivest, Adi Shamir et Léonard Adleman. Le standard de l’Internet de Privacy Enhanced Mail utilise le système RSA.

Pour communiquer secrètement sur l’Internet à l’aide de la cryptographie asymétrique, deux personnes A et B doivent procéder comme suit :
1. A chiffre son message en utilisant la clé publique de B et l’envoie à B.2. B reçoit le message de A et le décrypte en utilisant sa clé privée.3. Pour répondre à A, B chiffre son message avec la clé publique de A.4. A reçoit le message de B et le décrypte en utilisant sa clé privée.
Il est à noter que n’importe qui peut envoyer des messages à B pourvu qu’il ait sa clé publique. Par contre, seul B peut lire, grâce à sa clé privée, les messages codés par sa clé publique.
Fig. 4 2 La cryptographie asymétrique La signature numérique
La cryptographie asymétrique permet de signer numériquement des messages. Une signature numérique s’obtient par l’inversion de la technique de cryptographie asymétrique à clé publique vue précédemment. La signature numérique permet de garantir l’intégrité et l’origine d’un message ; ce qui fait de cette technique une méthode efficace contre la non répudiation.

L’exemple suivant illustre l’intérêt de la signature numérique :
1. A chiffre son message en utilisant sa clé privée et l’envoie à B.2. B reçoit le message de A et le déchiffre avec la clé publique de A
Il est à noter que n’importe qui peut lire des messages de A pourvu qu’il ait sa clé publique. Par contre, seul A peut avoir écrit ce message car lui seul détient (théoriquement) sa clé privée. La signature numérique s’attache surtout à garantir l’origine du message et non sa confidentialité.
Fig. 4 3 La signature numérique
Les limitations des techniques de chiffrement
Avantages Inconvénients
Cryptographie symétrique Rapide Deux clés identiques Facile à mettre en œuvre sur une puce électronique Distribution des clés difficile

Cryptographie asymétrique Deux clés différentes Lent Signature numérique Distribution des clés relativement rapide
Fig. 4 4 Cryptographies symétrique et asymétrique

La cryptographie à clé publique possède des fonctionnalités très intéressantes pour sécuriser les communications. Cependant, elle requiert des temps de calculs très importants et ne s’implémente que trop difficilement sur circuits électroniques. La cryptographie symétrique, quant à elle, est rapide et très facile à mettre en œuvre.
L’idéal serait de pouvoir combiner ces deux types de cryptographie ; ce qui est tout à fait possible. Pour optimiser les performances d’une telle combinaison, un condenseur de message peut être utilisé. Il s’agit d’une fonction qui prend un message en entrée et produit un code irréversible, unique et apparemment aléatoire de longueur fixe. Plusieurs condenseurs de messages présentent ces propriétés. Les plus utilisés d’entre eux sont MD4 et MD5 créés par Ron Rivest de RSA Data Security Inc., ainsi que SHA (Secure Hash Algorithm) créé par le NIST (Institut National des Normes et Technologies des Etats-Unis).


Dans l’exemple suivant, A envoie un message secret à B via l’Internet en combinant la cryptographie symétrique et la cryptographie asymétrique :
1. A écrit son message et crée un condensé du message2. A chiffre le condensé du message avec sa clé privé3. Parallèlement, A chiffre son message avec la cryptographie à clé symétrique en utilisant une clé de session choisie aléatoirement4. A chiffre la clé de session avec la clé publique de B5. A envoie à B ces trois objets chiffrés6. B décode la clé de session en utilisant sa clé privée7. Le message peut alors être déchiffré par la clé de session décryptée8. B calcule son propre condensé du message9. B déchiffre le condensé du message envoyé par A avec sa clé publique10. La comparaison des deux condensés permet de garantir l’intégrité et l’origine du message
Grâce à la combinaison des deux crypto-systèmes et l’utilisation d’un condenseur de message, la confidentialité, l’intégrité et la non répudiation peuvent être garanties.
Fig. 4 5 Combinaison des deux crypto-systèmes
Les problèmes de performance ne sont pas les seules limitations des techniques de chiffrement. En effet, la génération et la distribution des clés posent quelques problèmes. Comment communiquer une clé publique de manière sûr ? Par téléphone ? Par courrier ? Une méthode pertinente et efficace est l’utilisation de certificat fondé habituellement sur la norme UIT_T.509 et des autorités de certification.
En France, le chiffrement des communications est considéré comme une arme de guerre si bien que pour utiliser certains algorithme des autorisations spéciales doivent être obtenues auprès du SSICS.


Les firewalls
Une autre technique de sécurité Internet et qui permet d'appliquer une politique de sécurité : les firewalls.
L’objectif essentiel d’un firewall est de protéger un réseau d’un autre. En principe, le réseau à protéger vous appartient ou est sous votre responsabilité tandis que le réseau contre lequel vous désirez vous protéger est un réseau externe en qui vous n’avez pas confiance et à partir duquel des attaques peuvent survenir.
La protection du réseau consiste à empêcher l'accès aux utilisateurs non autorisés à des informations sensibles, tout en permettant aux utilisateurs légitimes d’accéder facilement aux ressources du réseau.
Dans cette partie, nous allons établir les différents concepts des Firewalls en répondant à ces différentes questions :
• Quels sont les différentes techniques firewalls ?
• Quels sont les types d’architectures à utiliser ?
Le terme firewall est utilisé par beaucoup comme un terme générique décrivant n’importe quels dispositifs de protection d’un réseau ; ce qui est faux.
Un firewall se compose d'un ou plusieurs éléments bien spécifiques créant une interface entre deux réseaux. Son but est de restreindre l’accès entre un réseau protégé et un réseau externe (en général l'Internet ).
Figure 4 6 Notion de périmètre de sécurité
Il est également possible d'utiliser des firewalls internes pour protéger des parties d'un réseau d’autres parties. Il existe un certain nombre de raisons à cela :
• existence de sous-réseaux moins sûres que d'autres appartenant au même site, par exemple des réseaux de démonstration ou de formation accessibles à des personnes
• existence de parties du réseau nécessitant un plus grand niveau de sécurité comme des projets de développement secrets, ou des réseaux où transitent des données financières, ou encore des informations concernant les salariés d'une entreprise.
Le firewall est un dispositif permettant de contrôler et de rejeter le trafic au niveau applicatif (cf. schéma ci-dessous). Il peut également fonctionner au niveau des couches réseau et transport en examinant les en-têtes IP et TCP des paquets entrants et/ou sortants. L'acceptation et le rejet de paquets s'effectuent selon des règles de filtrage prédéfinis
APPLICATION


FIREWALL



PRESENTATION SESSION


ROUTEURFILTRE TRANSPORT RESEAU LIAISON PHYSIQUE
Fig. 4 7 Le filtrage de paquet et le modèle OSI
Le firewall ne protège pas contre des menaces internes. Il peut protéger de la plupart des attaques venant de l’Internet mais il ne fera rien si le danger vient de l'intérieur
Le firewall doit être le seul point d’entrée du réseau. Il ne sert à rien de construire un firewall coûteux et puissant si l'on connecte des modems au réseau le court-circuitant. En effet, le firewall protège seulement le trafic passant par lui. Il n’existe malheureusement aucune terminologie totalement cohérente pour les techniques et architectures des firewalls. Dans la suite de cet exposé, nous nous attacherons à décrire des architectures firewalls visant à protéger des risques et menaces de l'Internet.
Les différentes techniques firewalls
Il existe trois grandes techniques firewalls:
• le filtrage de paquet
• les services mandataires
• le SMLI (State Multi-Layer Inspection)
Un firewall combine différentes techniques et différents composants. Aussi, il n'est pas impossible que des solutions firewalls utilisent, en plus des techniques firewalls, des techniques de sécurité de base comme vu précédemment (contrôle d'intégrité, translation d'adresses, authentification, chiffrement, audit, journalisation, etc.).
Le filtrage de paquet
Le filtrage de paquet constitue un mécanisme puissant de contrôle du type de trafic qui circule sur un réseau donné. Il extrait, à partir des données qui transitent, diverses informations comme le type de services, les adresses source et destination du message et bien d’autres encore ; ce qui permet de restreindre les accès aux services susceptibles de compromettre la sécurité du réseau.
Le filtrage de paquet peut être une fonction logicielle d'un firewall ou un composant matériel d'un firewall dans une architecture firewall : il s'agit alors d'un routeur filtre.
Un routeur ordinaire se contente de regarder l’adresse de destination de chaque paquet et décide de la meilleure façon d’envoyer ce paquet vers cette destination. Cette décision est uniquement fondée sur sa destination. Il y a deux possibilités : le routeur sait comment faire atteindre sa destination au paquet et l’envoie ; ou bien il ne le sait pas, et le renvoie via un message ICMP redirect (de type «destination inaccessible») vers la source.
Le routeur filtre de paquets route les paquets entre un réseau interne et externe de manière sélective ; c’est à dire qu’il laisse passer les paquets suivant la politique de sécurité établie. Une raison essentielle de son succès est la transparence avec laquelle il opère. La plupart des filtres peuvent être implémentés sans aucun désagrément pour l'utilisateur final pour qui le routeur filtre est totalement transparent.
L'algorithme générique mis en œuvre par le filtre de paquet se décompose comme suit :
1. Les critères de filtrage doivent être définis, ils sont appelés les règles de filtrage de paquets.
2. Lorsqu’un paquet arrive sur un port du routeur filtre ses en-têtes IP, TCP ou UDP sont analysés.
3. Les règles de filtrage de paquets sont appliquées dans un ordre précis.
4. Si une règle bloque la transmission ou la réception d’un paquet, il est bloqué. Si une règle permet la transmission du paquet, le paquet passe. Si un paquet ne suit aucune règle, il est bloqué.
L’organigramme suivant résume le fonctionnement du filtrage de paquets:
Fig. 4 8 Algorithme du filtrage de paquet
Où placer le filtre de paquets ?
Le routeur peut examiner les paquets entrants ou sortants sur n’importe laquelle des interfaces. Par conséquent, le filtrage de paquet peut se faire au niveau des paquets entrants, des paquets sortants ou des deux.De nombreux constructeurs de routeurs mettent en œuvre le filtrage de paquets sur les paquets sortants pour des raisons d’efficacité. Pour les paquets sortants, les règles de filtrage peuvent s’appliquer lorsque le routeur consulte ses tables pour déterminer la destination du paquet. Si le paquet n’est pas routable ou s'il n’y a pas de correspondance avec les règles de filtrage, le paquet est rejeté et un message ICMP destination unreachable est retourné à l'expéditeur.

Etude d'un routeur filtre du constructeur CISCO
Sur les routeurs CISCO, il y a des listes d'accès (access control list) définies comme un recueil séquentiel de conditions d'autorisation et d'interdiction qui s'appliquent aux adresses de l'Internet. Ces conditions de listes d'accès permettent de mettre en œuvre les règles de filtrage de paquets.
Il existe deux types de listes d'accès :
• les listes d'accès standard• les listes d'accès étendu
Les listes d'accès standard ont une adresse unique pour les mises en correspondance. Les listes d'accès étendu ont deux adresses comportant des informations de protocole optionnelles pour les mises en correspondance.
La liste d'accès standard
La syntaxe des listes d'accès standard est la suivante :
access-list list {permitdeny} address wilcard-maskno-access -list list
Le mot clé est un nombre entier de 0 à 99 utilisé pour identifier une ou plusieurs conditions d'autorisation ou d'interdiction. Les mots clés et correspondent respectivement à l'interdiction et à l'autorisation d'accès à une ou plusieurs ressources. L'adresse IP source du paquet est mise en comparaison avec la valeur spécifiée dans la commande . Avec le mot clé , une correspondance entraîne l'acceptation du paquet. Avec , une correspondance débouche sur le rejet du paquet.
Pour le , les bits d'adresse à 1 sont ignorés lors de la comparaison et les bits d'adresse à 0 sont utilisés. Prenons l'exemple ci-dessous:
access-list 1 permit 199.245.180.0 0.0.0.255access-list 1 permit 132.23.0.0 0.0.255.255
Si le n'est pas spécifié, sa valeur par défaut est 0.0.0.O.
La liste d'accès étendu
Les listes d'accès étendu permettent de filtrer les paquets selon les adresses IP source et destination et selon des informations relatives au protocole.
La syntaxe des listes d'accès étendu est la suivante :
acces-list list {permitdeny} protocol source source-mask destinationdestination-mask [operator operand]
Le mot clé est un nombre entier de 100 à 199 utilisé pour identifier une ou plusieurs conditions étendues d'autorisation ou d'interdiction. Les nombres de 100 à 199 sont réservés aux listes d'accès étendu et ne peuvent pas être confondus avec les nombres utilisés pour les listes d'accès standard (1 à 99).
Les mots clés et s'utilisent comme pour les listes d'accès standard. correspond aux protocoles IP, TCP, UDP et ICMP.
Les paramètres et sont utilisés pour mettre en correspondance l'adresse IP source, sachant que s'utilise comme le des listes d'accès standard. Les valeurs et s'utilisent comme et pour l'adresse IP destination.
et servent à comparer des numéros de port, des points d'accès aux services ou des noms de contact. Pour les valeurs clé des protocoles TCP et UDP, peut prendre n'importe laquelle des valeurs suivantes :
(moins que) (égal à) (plus grand que) (différent de)
est soit un mot clé, soit la valeur décimale du port destination pour le protocole spécifié. Il peut prendre une série de valeurs.

Quelques exemples
Exemple n°1 :
Soit une politique de réseau exigeant l'interdiction de toute connexion SMTP entrante de l'hôte 132.124.23.55 vers le réseau 199.245.180.0. La liste d'accès étendu suivante permet de mettre en œuvre cette politique:
no acess-list 101acess-list any anyaccess-list 101 deny tcp 132.124.23.55 0.0.0.0access-list 101 deny t cp 199.245.180.0 0.0.0.255 eq 25
La première commande supprime toutes les listes d'accès étendu dont le numéro est antérieur à 101. La deuxième accepte tout paquet en provenance de n'importe quel hôte. En l'absence de cette commande, l'action par défaut serait l'interdiction de tous les paquets. La troisième commande interdit les paquets TCP en provenance de l’hôte 132.124.23.55 vers le réseau 199.245.180.0.
Exemple n°2 :
On reprend l’exemple n°1, en prenant 133.34.0.0 pour le réseau interne.
no access-list 101access-list 101 permit tcp 0.0.0.0 255.255.255.255133.34.0.0 0.0.255.255 gt 1023access-list 101 permit tcp 0.0.0.0 255.255.255.255133.34.12.3 0.0.0.0 eq 25access-list 101 permit icmp 0.0.0.0 255.255.255.255133.34.0.0 255.255.255.255interface ethernet 0 outip access-group 101
La première commande supprime toutes les listes d'accès étendu dont le numéro est antérieur à 101. La seconde accepte n’importe quelle connexion TCP entrante vers les ports dont le numéro est supérieur à 1023. La troisième commande autorise les connexions TCP entrantes vers le port SMTP de l’hôte 133.34.12.3.La dernière commande autorise les messages ICMP entrants pour le retour d’erreurs; à noter que la commande de la liste d’accès étendu doit être utilisée avec la commande d’interface . Celle-ci peut prendre un numéro de liste d’accès étendu (100 à 199) comme argument. La commande est utilisée pour appliquer les définitions de la liste d’accès à l’interface. Sa syntaxe est la suivante:ip access-group list où est un numéro de 100 à 199 qui spécifie la liste d’accès à appliquer à l’interface.
Exemple n°3 :
Dans cet exemple, le réseau à protéger est connecté à l’Internet. La politique de sécurité du réseau exige que tout hôte du réseau interne puisse établir des connexions TCP avec n’importe quel hôte situé sur l’Internet. Cependant il ne faut pas que les hôtes de l’Internet puissent établir des connexions TCP avec des hôtes du réseau interne à l’exception du port SMTP dédié qui se trouve sur un hôte chargé du courrier électronique (181.12.34.12). Pour le protocole TCP, le mot clé peut être utilisé pour indiquer une connexion établie.
access-list 102 permit tcp 0.0.0.0 255.255.255.255181.12.0.0 0.0.255.255 establishedaccess-list 102 permit tcp 0.0.0.0 255.255.255.255181.12.34.12 0.0.0.0 eq 25interface ethernet 0ip access-group 102

Les limitations du filtrage de paquet
La plupart des services applicatifs utilisent comme protocole TCP qui est un protocole orienté connexion. Il utilise des circuits virtuels aux extrémités desquels chaque parti maintient des informations d'état comme les numéros de séquence et d'accusé de réception pour déterminer les données en attente. Ces informations d’état spécifient un contexte dans lequel le paquet suivant doit se présenter. Ces informations contextuelles sont très utiles pour le filtrage de paquet comme :
- le drapeau TCP ACK pour associer un paquet en tant que partie d’une session TCP existante
- le drapeau ACK pour faire la distinction entre un paquet entrant ou un paquet en retour
- le drapeau SYN pour indiquer si le paquet fait partie d’une requête de connexion ouverte
- etc.
D'autres types de services sont également très utilisés, notamment les services UDP. Les sessions UDP sont en mode non connecté. UDP n’utilise pas de circuit virtuel et ne retient donc aucune information d’état. Il n’y a pas de numéro de séquence ni d’accusé de réception permettant de déterminer le paquet suivant. Par conséquent, pour réaliser le filtrage des communications UDP, il faut se contenter de filtrer sur la base des numéros des ports.
Exemple:
Soit un hôte 190.245.180.9 qui veut appeler un agent SNMP sur une machine externe à l'adresse 157.23.13.44. La politique de sécurité du réseau le permet. Les agents SNMP utilisent le numéro de port UDP bien connu 161. La règle de filtrage 1 permet les appels sortants SNMP et la règle de filtrage 2 permet les réponses entrantes SNMP. Le schéma suivant résume cette politique de sécurité :

Un paquet SNMP comporte les éléments suivants :
Adresse IP source = 190.245.180.9Port source = 1500Adresse IP destination = 157.23.13.44Port de destination = 161
La réponse à ce paquet est la suivante :
Adresse IP source = 157.23.13.44Port source = 161Adresse IP destination = 190.245.180.9Port de destination = 1500
Que se passerait-il si la réponse était la suivante ?
Adresse IP source = 157.23.13.44Port source = 161Adresse IP destination = 190.245.180.9Port de destination = 1352
Le port source étant le 161 avec la règle de filtrage n°2, l’accès est autorisé.Si quelqu’un avait truqué un paquet UDP en forçant la valeur du port source avec 161 ? Il pourrait alors l’utiliser pour s’attaquer au port 1352.
Du fait de la difficulté de filtrage du trafic UDP, il faut envisager de bloquer complètement les services UDP inutilisés. Par contre, un nombre limité de services indispensables comme le DNS devront rester activés.

D'autre part, comme le parcours des règles est séquentiel, l'ordre des règles est très important. Ainsi, si l'accès au service TELNET souhaite être autorisé à tous les utilisateurs externes au réseau protégé sauf pour l'hôte 128.18.30.2, les access-list peuvent être définies comme suit :
access-list 1 permit tcp all inside port 23access-list 1 deny tcp 128.18.30.2 inside port 23
Quel résultat obtient-on si la deuxième règle s'exécute avant la première ?
access-list 1 deny tcp 128.18.30.2 inside port 23access-list 1 permit tcp all inside port 23
La première règle interdit l'hôte externe 128.18.30.2 l'accès au service TELNET du réseau protéger tandis que la seconde autorise l'utilisation de ce même service à tous les hôtes externes au réseau protéger. Par conséquent, l'hôte 128.18.30.2 est également autorisé d'accès. La première ligne est donc inutile et la politique de sécurité n'est pas respectée.

Le filtrage présente d'autres limitations notamment en matière d'authentification. L'essentiel de cet inconvénient est dû au fait que le filtrage des accès n'opère qu'au niveau des couches 3 et 4 du modèle OSI et non au niveau des couches supérieures.
Les services mandataires (ou agents proxies d'applications)
Les services mandataires ou agents proxies sont des applications ou des programmes serveurs spécialisés programmés pour comprendre le trafic au niveau de la couche application.
Ces services mandataires fournissent des connexions de remplacement et agissent comme des passerelles vers les vrais services. C’est pour cette raison que les services mandataires ou proxies sont parfois appelés passerelles de niveau applicatif.
Au lieu de communiquer directement avec les services Internet, l’utilisateur du réseau interne passe par un intermédiaire qui gère toutes les communications; ce qui permet de masquer le réseau interne pour qu’il ne soit pas visible du monde extérieur et de contrôler l’accès au niveau de l’application.
La transparence constitue l'un des avantages majeurs des services mandataires. Un serveur de mandatement présente l’illusion que l’utilisateur communique directement avec le vrai serveur.
Les mandataires adoptent une approche Store And Forward (garde et fait suivre). Ils agissent en tant que proxy (mandataire en Français) qui accepte ou rejette les appels entrants et les vérifie par rapport à une liste d’accès (Access Control List) comportant les types de requêtes autorisées.
Dans ce cas, le proxy est un serveur proxy d’application. A la réception de l’appel et après avoir vérifié que celui-ci est autorisé, le proxy transmet la requête au serveur demandé. Par conséquent, il agit à la fois comme serveur pour réceptionner la requête entrante et comme client lorsqu’il envoie la requête comme le montre la figure ci-dessous :


Fig. 4 9 Agent proxy client/serveur d’application

Le proxy contrôle toutes les communications interceptées entre le client et le serveur Une fois que la session est établie, le proxy d’application agit en tant que relais et copie les données entre le client qui a lancé l’application et le serveur. Les proxies d'applications (ou services mandataires) qui tournent sur des passerelles sont appelées passerelles d’application.
Connexion au serveur mandataire
Pour se connecter au serveur mandataire, il y a deux façons :
• Faire fonctionner une application cliente spécifique et personnalisée sur les machines internes. Cette application client sait comment contacter le serveur mandataire au lieu du serveur réel quand un utilisateur lance une requête et comment dire au serveur mandataire à quel serveur réel se connecter.
• Se connecter directement sur la passerelle où se trouve le serveur mandataire et poursuivre comme précédemment.
Il existe trois types de service mandataire :
• le service mandataire spécifique à une application
• le service mandataire générique
• le service mandataire circuit

Le service mandataire spécifique à une application
Comme son nom l’indique, il s'agit d'un service qui fournit un service mandataire pour une seule application spécifique, par exemple FTP.
Ce service mandataire ou agent proxy connaît l’application précise pour laquelle il est mandataire et interprète les commandes du protocole d’application.
Même si ce service mandataire est limité à une application, il permet de prendre certaines décisions relatives à cette application. Par exemple, pour un service FTP, il peut limiter les émissions de fichiers en n'autorisant que l’importation de fichiers.
Il permet aussi, puisqu’il comprend le protocole utilisé, d’enregistrer des traces d’une manière particulièrement efficace. Par exemple, au lieu de tracer toutes les données transférées, un serveur FTP mandaté ne trace que les commandes lancées et les réponses reçues du serveur et non pas tous les messages intermédiaires de contrôle. Les résultats forment une trace beaucoup plus concise et utile.
Le serveur mandataire spécifique d’une application est la forme la plus commune des serveurs mandataires opérationnels aujourd’hui.

Le service mandataire générique
Bien que le service mandataire spécifique d’une application soit facilement disponible pour les services comme FTP et TELNET, des versions pour des services moins fréquemment utilisés sont plus difficiles à trouver. C’est le cas des services tels que NetNews ou encore ARCHIE qui possèdent une configuration particulière où de nombreux clients demandent de se connecter à un unique serveur distant.
Le service mandataire générique ou agent proxy générique n’est rien de plus qu’un relais de paquets qui accepte des connexions entrantes, consulte une base de règles sur les connexions permises, et effectue ou non alors la connexion vers la destination réelle.
L’exemple suivant décrit le mode de fonctionnement d’un service mandataire générique qui se connecte à un serveur ARCHIE distant. Tout le trafic venant sur le port 782 d'entrée de la passerelle est automatiquement orienté vers le serveur ARCHIE. Dans le cas où les utilisateurs voudraient se connecter sur un autre serveur ARCHIE, ils ne pourraient le faire. Il faudrait un autre service mandataire configuré sur un autre port pour établir la connexion. Ceci induit une certaine limitation dans l'utilisation des services mandataires génériques. Alors qu'ils sont utiles lorsque plusieurs utilisateurs se connectent sur un serveur distant, ils ne fonctionnent pas bien dans le cas ou un utilisateur se connecte à plusieurs serveurs et plusieurs utilisateurs se connectent à plusieurs serveurs.

Fig. 4 10 Service mandataire générique

Le service mandataire de circuit
Le service mandataire de circuit crée un circuit virtuel de bout en bout entre le client et la destination finale. Contrairement au service mandataire générique, celui-ci permet à de multiples utilisateurs de se connecter à de multiples serveurs. Il fournit un degré de transparence presque complet, à la fois aux utilisateurs et au serveur, mais il ne sait pas interpréter le protocole d'application.
La machine où tourne le service mandataire de circuit est une passerelle circuit. Ce type de service mandataire impose d'installer des logiciels clients spécifiques sur chaque machine du réseau interne. Dans la plupart des sociétés moyennes ou grandes, c'est une exigence inacceptable.
Les passerelles de circuit relaient les connexions TCP. L'appelant se connecte au port TCP sur la passerelle qui est reliée à une destination de l'autre coté de la passerelle. Pendant l'appel, le ou les programme de relais de la passerelle copient les octets d'un coté et de l'autre : la passerelle agit comme un fil répéteur.
La technologie SMLI (Stateful Multi-Layer Inspection)
SMLI constitue la nouvelle évolution en matière de produits firewalls. Il s’agit en fait d’une technologie de filtrage de paquets offrant une grande quantité de fonctionnalité sans la plupart des problèmes associés aux filtres de paquets standards. Ainsi, grâce à une interface homme-machine graphique (GUI) et conviviale, la configuration des listes d’accès (ACL) ou règles de filtrage est grandement facilité.
De plus, à la différence des routeurs filtres qui n’enregistrent que le fait qu’un paquet ait été accepté ou rejeté, SMLI permet de mettre en œuvre différents niveaux d’enregistrement du trafic. Les critères de filtrage peuvent s’effectuer sur tous les niveaux du modèle OSI - à l’instar des technologies à base d’agents proxies d’applications - allant d’un simple décompte des paquets à une remontée d’information vers un responsable réseau et informatique, suite à un certain type d’événement.
Outre la difficulté de paramétrage, les filtres de paquets standards présentent des limitations en matière de filtrage de flux FTP et UDP. Pour les flux FTP, SMLI est capable de distinguer et d’associer les connexions d’information et de contrôle FTP. Pour les flux UDP, SMLI stocke dans une base de données la liste des paquets UDP échangés lors d’une session de communication. SMLI analyse les paquets entrants pour vérifier s’il correspond à un paquet sortant donc à une réponse (notion d’authentification). Si ce n’est pas le cas, les règles de filtrages de paquets standards sont appliquées.
Avantages et inconvénients des techniques firewalls
Avantages Inconvénients
Filtres de paquets
Complètement transparent
Disponible sur le matériel existant
Faible coût Difficulté de gestion de certains trafics (UDP, FTP)
Difficile à configurer
Journalisation limitée quand elle existe
Pas d’authentification de l’utilisateur
Difficile de masquer la structure du réseau interne
Agents proxies applicatifs Masque complètement la structure du réseau interne
Haut niveau de contrôle d’accès des utilisateurs Gênant pour les utilisateurs, nécessite une modification du comportement de l’utilisateur
Nécessite de nombreux serveurs mandataires
Serveurs pas toujours disponibles
Coût
Agents proxies de circuit Transparent pour les utilisateurs
Flexible Nécessite une modification des clients
Clients pas toujours disponibles
Niveau de contrôle d’accès limité des utilisateurs (pas au-delà de la couche 4 du modèle OSI)
Difficultés pour réaliser des enregistrements
SMLI Facile à configurer
Résout quelques problèmes de filtres de paquets
Complètement transparent
Facilité d’évolution Difficile de masquer la structure du réseau interne
Fig. 4 11 Les techniques firewalls Les architectures Firewalls
Architecture d'hôte à double réseau
Une architecture d’hôte à double réseau est construite autour d’un ordinateur à double réseau. Cet ordinateur est un ordinateur classique équipé au moins de deux cartes d’interfaces réseau.
Ce type de machine peut jouer le rôle de routeur entre les réseaux auxquels sont rattachées les interfaces, c’est à dire qu’il est capable d’acheminer les paquets IP. Il faut pourtant désactiver cette fonction de routage pour avoir une architecture d’hôte à double réseau.
Ainsi, l’hôte à double réseau bloque complètement tout trafic IP entre le réseau interne et le réseau externe. L’architecture réseau d’un hôte à double réseau est simple : la machine est située entre l’Internet et le réseau interne comme le montre la figure ci-dessous.

Fig. 4 12 Architecture à double réseau
Les accès aux services sont généralement fournis par des agents proxies situés sur l’hôte à double réseau. Parfois, les hôtes à double réseau n’utilisent pas de services mandataires. Pour accéder à l’Internet à partir du réseau interne ou inversement de l’Internet vers le réseau interne, les utilisateurs doivent effectuer deux connexions successives. Il faut tout d’abord se connecter sur un compte utilisateur de l’hôte à double réseau pour pouvoir établir une autre connexion avec le servie désiré. Cette méthode d’accès a un gros inconvénient : elle impose la création de comptes utilisateurs supplémentaires sur le bastion.
L’hôte à double réseau constitue, à lui tout seul, un firewall. Un utilisateur externe peut avoir accès à une application A sur l’hôte à double réseau. De la même manière, un utilisateur interne peut accéder à une autre application B s’exécutant sur l’hôte à double réseau. Il est même possible que les deux utilisateurs interne et externe puissent échanger des informations en partage de données sans qu’il y ait de trafic réseau entre les réseaux.
Pour désactiver les fonctions de routage sous Unix, il faut reconfigurer et reconstruire le noyau du système (kernel). Dans la reconfiguration, il faut désactiver l’option IP FORWARDING en mettant l’option à -1, ce qui signifie « ne jamais transmettre de datagrammes IP ».
L’hôte à double réseau constitue, à lui tout seul, un firewall. S'il y a des données d’application qui doivent traverser le firewall, des agents d’émission ou services mandataires de l’application peuvent être paramétrés pour fonctionner sur l’hôte à double réseau. Ces agents proxies sont des logiciels spécifiques qui permettent de transférer des requêtes d’application entre deux réseaux connectés. L’autre solution consiste à autoriser les utilisateurs à ouvrir une session sur l’hôte à double réseau, puis à accéder aux services externes depuis l’interface externe du réseau de l’hôte à double réseau.
L’architecture d’hôte à double réseau présente une certaine inflexibilité qui réside dans le fait que tous les services sont bloqués par défaut à l’exception de ceux qui possède un agent proxy configuré pour autoriser l’accès au service associé. Cependant, il est possible de placer un routeur entre l’hôte à double réseau et l’Internet créant ainsi un sous-réseau entre l’hôte et le routeur pour la connexion de systèmes fournissant des services complémentaires.
Si un utilisateur est autorisé à ouvrir une session directement sur le firewall, la sécurité de celui-ci peut être mise en danger. Cela est dû au fait que cet ordinateur représente un point central d’accès entre le réseau interne et le réseau externe. Pour accroître la sécurité au niveau de l’hôte à double réseau, des dispositifs d’authentification forte doivent être utilisés.

Architecture d'hôte à écran
Un hôte bastion est un élément très important dans une architecture firewall. C’est un ordinateur qui doit être très sécurisé car il est exposé à l’Internet et représente le principal point d’accès pour les utilisateurs du réseau. L’hôte à double réseau que nous avons vu précédemment est un exemple de bastion.
L’architecture d’hôte à écran est plus flexible que l’architecture d’hôte à double réseau. Cependant, cette flexibilité ne s’obtient pas sans perte de sécurité.
L’architecture d’hôte à écran se compose d’un bastion et d’un routeur filtre. Le bastion ne laisse passer que les services qui possèdent un agent proxy associé. Le routeur filtre empêche les paquets dangereux d’atteindre le bastion et les machines du réseau interne. Il rejette ou accepte le trafic applicatif selon les règles suivantes :
1. le trafic venant de l’Internet vers le bastion est routé
2. tout le trafic restant venant de l’Internet est rejeté
3. le routeur filtre rejette tout le trafic originaire du réseau interne sauf s’il vient du bastion
Contrairement à l’architecture d’hôte à double réseau, l’architecture d’hôte à écran n’a besoin que d’une seule interface réseau et ne crée pas de sous-réseau séparés entre le bastion et le routeur. Ceci permet à l’architecture firewall d’être plus flexible mais peut-être moins sûr puisqu’il autorise le routeur à accepter les connexions aux services appartenant au domaine de confiance, en court-circuitant la passerelle d’application. Ces services appartenant au domaine de confiance peuvent correspondre aux services qui ne possèdent pas de service mandataire associé et qui présentent un niveau de risque acceptable suite à la phase d’analyse des risques au cours de l’élaboration de la politique de sécurité. L’architecture d’hôte à écran impose la configuration de deux systèmes au lieu d’un, par rapport à l’architecture d’hôte à double réseau. De plus, la configuration d’un routeur filtre présente un degré de complexité non négligeable.

Fig. 4 13 Architecture d’hôte à écran
Architecture de réseau périphérique
L’architecture de réseau périphérique ou DMZ (Demilitarized Zone) utilise – comparativement à l’architecture d’hôte à écran – un second routeur filtre. La zone qui se situe entre les deux routeurs s’appelle la zone démilitarisée (DMZ) ou le réseau périphérique car il s’agit, en fait, d’un réseau appartenant à la périphérie du réseau interne. De plus, le routeur filtre externe et le bastion représente la première ligne de défense après laquelle la probabilité d’intrusion est relativement faible. La seconde ligne de défense correspond au routeur filtre interne qui sert de sauvegarde au bastion pour protéger le réseau interne des machines appartenant à la DMZ dans le cas où un agresseur serait parvenu à corrompre l’une d’entre elles.

Fig. 4 14 Architecture de réseau périphérique (DMZ) Avantages et inconvénients des architectures Firewalls
Avantages Inconvénients
Architecture d’hôte à double réseau
Mode fiable
Masque complètement la structure du réseau interne Inconvénient pour les utilisa-teurs
Demande un changement dans le comportement des utilisa-teurs
Nécessite de nombreux ser-veurs mandataires ou agents proxies
Serveurs mandataires pas tou-jours disponibles
Architecture d’hôte à écran
Transparent aux utilisateurs finaux
Flexible
Masque complètement la structure du réseau interne
Fournit des services à l’ex-térieur sans compromettre l’intérieur Toutes les fonctions de sécurité sont fournies par la passerelle qui est un point critique
Architecture de réseau périphérique (DMZ)
Très sûre
Masque complètement la structure du réseau interne
Redondance faite par cons-truction Nécessite une modification des clients
Clients pas toujours disponi-bles
Niveau de contrôle d’accès limité des utilisateurs (pas au-delà de la couche 4 du modèle OSI)
Difficultés pour réaliser des enregistrements
Fig. 4 15 Le filtrage de paquet et le modèle OSI

0 commentaires:

Enregistrer un commentaire

Abonnement Publier les commentaires [Atom]



<< Accueil