Dans une politique de sécurité, on souhaite affecter des permissions et des interdictions. Cette possibilité offerte peut malheureusement conduire à la génération d’erreur dans l’ordonnancement des règles. Se pose alors le problème de gestion des exceptions.
3.2.1La problématique
Lorsque le réseau d’une entreprise est composé de plusieurs sous-réseaux auxquels on souhaite affecter des politiques de contrôle d’accès différentes selon la sensibilité des équipements qu’ils contiennent, se pose le problème de gestion des flux entre ces sous réseaux. Imaginons la situation suivante :
On souhaite écrire des règles pour un réseau dont l’adresse est 111.222.1.0/24(on désigne ainsi avec cette adresse toutes les machines du réseau 111.222.1.0). On souhaite exclure un groupe appartenant à ce réseau pour leur attribuer des droits spécifiques par exemple la zone Admin qui comprend les adresses allant de 111.222.1. 23 à 111.222.1.35. On se trouve dans l’obligation d’introduire dans le fichier de configuration du firewall des permissions et des interdictions. Si de l’autre côté du firewall, on est aussi dans l’obligation de définir une autre zone d’exclusion avec d’autres interdictions, dés lors ordonner les règles de type permissions et de type interdiction devient vite problématique et peut amener à des erreurs de configuration.
Dans l’exemple d’architecture de sécurité précédent, on énumère les exceptions correspondant en fait à la politique de contrôle d’accès que l’entreprise propriétaire de ce réseau souhaite mettre en place, de la façon suivante :
-
Exception 1 : Les interfaces du firewall (Interf-firewall) ne peuvent pas être utilisées pour faire du web.
Exclusion de 111.222.1.1 de la zone Private
-
Exception 2 : La zone Admin ne peut pas être utilisée pour faire du web
Exclusion de la zone Admin de la zone Private
-
Exception 3 : La zone Corporate (111.222.*.*) ne fait pas partie de la zone Internet
Exclusion de la zone Corporate de la zone Internet
Problème : Comment exprimer la règle suivante : « la zone (Private – Admin – Interf-firewall) a la permission de faire du web avec la zone (Internet – Corporate) ».
Pour gérer ces exceptions, trois solutions sont envisagées.
-
La 1ère, « la solution découpage » consiste à n’appliquer que des permissions dans le cas d’une politique fermé ou bien que des interdictions dans celui d’une politique ouverte. On identifie seulement les groupes qui sont concernés et on leur attribue les droits. Pour cela, les firewalls doivent disposer d’un outil qui permet de spécifier des intervalles d’adresses.
-
La 2ème, « la solution first matching », la décision se fait sur la première règle qui match (qui correspond). Il faut ordonner les permissions et les interdictions. Cette solution devient vite problématique et elle ne permet pas vraiment de s’affranchir des problèmes cités au-dessus. Néanmoins le mécanisme est implanté sur la plupart des firewalls.
-
La 3ème, « la solution jump », Si la règle « générale » s’applique, alors on fait un saut vers les cas d’exceptions, si aucune exception ne s’applique, le paquet est accepté, sinon, on teste la règle « générale » suivante. Le jump est considéré comme une interruption logicielle faisant appel à un sous-programme. Pour que cette solution soit valide, il faut d’une part que l’on puisse créer des fichiers de règles comme des sous programmes indépendants et d’autre part que l’on puisse y accéder quelle que soit sa localisation.
3.2.3Les Objectifs
Le but est dans un premier temps d’étudier différents firewalls ; en m’intéressant en particulier aux caractéristiques évoquées :
-
La possibilité de définir des intervalles de ports.
-
La possibilité de définir des intervalles sur les adresses sources et destinations.
-
La possibilité de créer ses propres chaînes de règles, comme des sous-programmes.
-
La possibilité d’atteindre ses chaînes de règles quelle que soit la localisation de ces dernières.
-
Savoir si le firewall est de type First matching (on arrête le traitement dès qu’une règle est matchée) ou Last matching (la dernière règle matchée est appliquée)
Mon étude ne porte que sur le contrôle d’accès, les firewalls proposent souvent des services telles que NAT, masquerade ou autres, ils ne sont pas pris en compte dans l’étude.
La deuxième partie du projet a pour but la génération de règles pour pare feu en partant du modèle de politique de sécurité développé à l’ENST : le modèle Or-Bac.
3.3Les firewalls
Un firewall (pare-feu ou garde-barrière) est un élément essentiel dans la mise en oeuvre de la politique de sécurité réseau. Il est positionné à l'interconnexion de deux réseaux et il contrôle les flux qui le traversent. Le firewall autorise ou interdit certains flux sur différents critères tels que l’adresse source, l’adresse de destination, le type de flux applicatif. Il permet de mettre en oeuvre les aspects réseaux de la politique de sécurité.
Un firewall est très souvent un équipement dédié. Il est composé au minimum de deux interfaces réseaux, d'un logiciel de filtrage et d'une base de règles décrivant les flux autorisés. Une troisième interface permet de compléter l'architecture réseau par une "DMZ", permettant d'héberger un serveur web ou des applications accessibles depuis le réseau externe. Plusieurs technologies existent pour atteindre cet objectif, et plusieurs architectures peuvent être mises en oeuvre.
On distingue trois catégories de firewall :
-
Le filtrage simple de paquets (filtrage statique ou stateless): le flux réseau est contrôlé sur les adresses IP source et destination, sur les protocoles (UDP, TCP, ICMP, ...), sur les ports applicatifs (e.g : 80/http) et sur les flags d'états lors d'une connexion TCP. Ce type de filtrage n'est pas contextuel, chaque datagramme est examiné et doit être accepté ou rejeté au regard des règles.
-
Stateful Multi-Layer Inspection (filtrage dynamique) : cette technologie de filtrage de paquets garde une trace de tout échange de données. Pour TCP (mode connecté), une fois la connexion établie, le firewall laisse passer les paquets. Pour les protocoles non connectés, le firewall compare les ports et les adresses des réponses avec ceux stockés dans une table.
-
Le Proxy ou services mandataires, au niveau applicatif : s'appuie sur les couches hautes de la pile OSI. Le principe est d'intercaler un serveur-client sécurisé entre le client original et le serveur final. Chaque connexion est rejouée par le relais.
La DMZ (ou zone démilitarisée)
En plus des deux segments réseau classiques que sont le segment réseau public et le segment réseau privé, un troisième segment est défini dans une architecture : la DMZ. C'est une zone tampon entre un réseau externe et le réseau interne. Le but d'une DMZ est d'éviter toute connexion directe vers le réseau interne, initiée à partir du réseau externe. Ceci permet de garder la main sur le trafic en ayant toujours l'initiative de la connexion, évitant ainsi des connexions à un système sans que cela soit programmé.
On trouve donc en zone démilitarisée des serveurs pouvant être accédés de l’extérieure et ne contenant pas de données critiques. Lorsque ces serveurs reçoivent une requête, ils se chargent de récupérer (ou faire parvenir) l'information sur les machines situées sur le réseau interne. On évite ainsi toute connexion directe externe-interne, mais les serveurs de la DMZ sont autorisés eux à accéder au réseau interne. Typiquement on trouvera dans une zone démilitarisée, un serveur Web (HTTP), un relais de messagerie ou encore un serveur de noms (DNS).
Dostları ilə paylaş: |