EXPOSE : Traitements Intermédiaires : NAT, Proxy, Firewall
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Juliette André
Renaud Pelloux
EXPOSE : Traitements Intermédiaires :
NAT, Proxy, Firewall
Octobre 2002
Le document présenté ci-dessous reprend tout le contenu du site
Web que nous avons réalisé.
Il traite des mécanismes mis en place à l'intermédiaire de deux
réseaux et en particulier de la translation d'adresse, des
proxys et des firewalls. Le document qui suit, tout comme le
site Web réalisé traitent de la philosophie appliquée aux
mécanismes dont nous parlons. Volontairement, nous ne parlerons
pas de la fa çon de les configurer ou de les installer, d'autres
exposés réalisés à l'ENIC traitant de ces sujets plus
sp écifiques.
Nous avons r éalisé cet exposé dans le cadre de l'option RIO
(R éseaux et Interconnexion d'odinateurs) de l'ENIC T élécom Lille
1, option qui termine notre cursus scolaire.
Aucune mise en page sp écifique n'a été appliqu ée à ce document,
il reprend simplement le contenu de chaque page présentée dans
le site Web.SOMMAIRE
I) [Introduction]
II) [Une pénurie d'adresses IP]
II.1) [Adressage IPv4]
II.2) [Pénurie d'adresses]
II.3) [Utilisation des adresses privées]
III) [NAT]
III.1) [Pricipe Général]
III.2) [NAT statique et dynamique]
III.3) [NAT multiple]
III.4) [Comparaison et Problèmes]
IV) [Proxy]
IV.1) [Principe de fonctionnement]
IV.2) [Services ajoutés aux proxys]
IV.3) [Comparaison Proxy et NAT]
V) [Firewall]
V.1) [Principe de fonctionnement]
V.2) [Politique de sécurité]
V.3) [Filtre de paquets]
V.4) [Passerelles]
V.5) [Architectures]
V.6) [Problèmes Rencontrés]
VI) [Glossaire]
VII) [Références]
Site réalis é par
Juliette André (mailto:juliette.andre@orange.fr)
Renaud Pelloux (mailto:renaud.pelloux@orange.fr)
Octobre 2002I) [Introduction]
Le site Web qui va suivre a été réalisé dans le cadre de
l'option RIO (Réseaux et Interconnexion d'Ordinateurs) de l'ENIC
Télécom Lille 1. Il est destiné à pr ésenter les aspects
techniques et pratiques relatifs aux :
Firewalls, NAT et Proxy
En effet, deux problèmes majeurs ont ammené les entreprises à
utiliser ce type de matériel : la pénurie d'adresses IP
publiques ainsi que la multiplication des attaques sur les
réseaux. Une entreprise, quelle qu'elle soit, connectée à
l'Internet est souvent la cible d'attaques, qui affectent son
propre système ou s'installent sur son réseau pour attaquer en
toute tranquilité d'autres entreprises.
Les concepts de NAT et de proxy sont très liés puisqu'ils sont
utilisés pour permettre à des stations ayant des adresses IP
privées de communiquer avec des réseaux externes. Avec certaines
configurations (NAT dynamique par exemple, filtrage sur les
proxys), il est possible d'augmenter un peu le niveau de
sécurité du réseau de l'entreprise. Ceci n'est en aucun cas
suffisant et c'est pour cel à qu'il est pr éférable d'utiliser des
matériels sp éciaux pour garantir la s écurité tels que des Pare-
Feu ou Firewalls.
Le site que nous vous proposons est illustré afin d'en
simplifier la compréhension.II) [Une pénurie d'adresses IP]
II.1) L'adressage sur IPv4
Le modèle dominant sur Internet est le modèle TCP/IP. Dans ce
modèle, les machines et les réseaux des entreprises sont
identifiés par une adresse IP. Pour les machines, l'adresse est
codée sur 4 octets et écrite de la forme a.b.c.d. Dans cette
adresse, on trouve un dientfiant de r éseau codé sur 1 à 3 octets
selon la classe de l'adresse et un identifiant de machine codé
sur 3 à 1 octet. L'ICANN est chargé d'attribuer les adresses
réseaux.
5 classes d'adresses, permettant de r épartir les adresses sont
disponibles :
A l'int érieur de ces classes, il existe des adresses réservées qui ne
doivent pas être utilisées : identifiant machine tout à 1 : broadcast sur
le réseau, identifiant machine tout à 0 : désigne la machine elle-même.
II.2) Une pénurie d'adresses
Le problème vient aujourd'hui du fait que le nombre de r éseaux
connect és à l'Internet a eu une très forte croissance. De
nombreux gaspillages d'adresses ont aussi eu lieu rendant
aujourd'hui impossible de trouver une classe A ou une classe B
disponible.Des entreprises souhaitant aujourd'hui plus de 254 adresses et
voulant se connecter en réseau à Internet ont donc un problème
pour disposer d'adresses IP.
Il a donc fallu trouver des solutions pour pallier à ce manque.
En voici les principales :
l IPv6 : Ce nouveau protocole permet de coder les adresses IP
sur 128 bits, soit 16 octets. Le problème de ce protocole
est qu'il n'est pas encore standardis é et donc pas encore
employé.
l CIDR : Il s'agit ici de coupler plusieurs adresses réseaux
de classe C choisies pour avoir un masque de sous-réseau
commun et pouvoir ainsi communiquer sans passer par un
routeur à l'intérieur d'une entreprise disposant de réseaux
de classe C en CIDR. Cette solution pourra elle aussi n'être
que temporaire puisqu'il viendra un moment où il manquera
aussi de réseaux de classe C. De plus, avec ce système, des
gaspillages d'adresse réseau sont faits, en effet, une
entreprise qui aurait besoin de 3 réseaux de classe C (3*254
adresse machine) se verra attribuer 4 réseaux, une
entreprise en ayant besoin de 10 en aura 16...
l Utilisation des classes d'adresses privées : C'est cette
solution que nous allons développer plus précisément par la
suite :
II.3) Utilisation des adresses privées ( RFC 1918 )
La RFC 1918 définit des plages d'adresses de r éseaux de classe
A, B et C qui ne peuvent pas être utilisées sur Internet. Par
contre, ces adresses peuvent être utilisées en même temps par
plusieurs entreprises : Voici la liste des adresses privées
disponibles :
- classe A : de 10.0.0.0 à 10.255.255.255 soit 1 adresse réseau
de classe A privée
- classe B : de 172.16.0.0 à 172.31.255.255 soit 16 adresses
réseau de classe B privées
- classe C : de 192.168.0.0 à 192.168.255.255 soit 255 adresses
réseau de classe C privées
Le problème d'utiliser les adresses privées vient de leur
définition, : pas de routage sur Internet. Il a donc fallu
trouver des solutions pour permettre à ceux qui les utilisent de
pouvoir communiquer vers l'extérieur. Des mécanismes de
traitement interm édiaires ont été mis en place, notamment la
translation d'adresse (NAT) et la mise en place de proxys .
L'objet de la première partie de ce site Web est de vous
pr ésenter ces deux m écanismes.
Voyons donc d'abord la translation d'adresse.III) [NAT]
III.1) Principe Général
La NAT (Network Adress Translation) est un syst ème utilisé quand
on souhaite connecter un réseau consitué de machines posédant
des adresses priv ées à Internet.
Le protocole NAT est implémenté sur des routeurs. Ce protocole
repose sur IP.
Nous pr ésenterons ici le mécanisme de base de la NAT, il existe
aujourd'hui des m écanismes beaucoup plus évolués.
En effet, une station de travail du r éseau (possédant une
adresse priv ée) qui souhaite communiquer vers l'extérieur
enverra les données à transmettre vers son routeur par défaut
(routeur définit dans la configuration de la machine ou obtenu
par DHCP).
Le routeur aura donc pour mission de transmettre la demande à
l'extérieur, de récupérer la réponse et de la transmettre à la
station qui a fait la requête. Pour ce faire, il met en oeuvre
la NAT.
Trois types de NAT peuvent être utilisés : la NAT statique, la
NAT dynamique et la NAT multiple .
Voyons dans un premier temps la NAT statique. Son fonctionnement
plus simple nous permettra de comprendre plus facilement les
autres mécanismes.
III.2) NAT Statique et dynamique
Le principe de NAT statique et dynamique est tr ès simple et très
proche. Voyons dans un premier temps la NAT statique.
NAT Statique
Son principe est d'associer une adresse IP interne (privée) à
une adresse IPpublique. Son fonctionnement est très simple :
Lorsque A fait une requête sur le serveur Web :
l La station A envoie à son routeur par défaut le message en
pr écisant, comme pour toute communication, son adresse IP :
IPa (privée) comme adresse source et l'adresse IP du serveur
Web : Ipweb comme adresse destination.
l Le routeur NAT qui re çoit ce datagramme regarde dans sa
table et voit qu' à l 'adresse privée IPa est associée
l'adresse publique (ou virtuelle) IPpub.
l Il modifie donc le message pour intégrer comme adresse
source l'adresse IPpub et fait suivre le message sur soninterface connect ée à Internet.
l Le serveur Web recevra donc un message de requ ête provenant
de l'adresse IPpub.
Le schéma suivant reprend la vie du message lors de cette phase
d'envoi de requête.
Une fois que le serveur Web a traité la requête, il doit envoyer
la réponse. Voici le cheminement du mesage :
l Le serveur Web cr ée sa réponse et l'encapsule dans un
datagramme IP avec comme adresse source la sienne : Ipweb et
comme adresse destination l'adresse inscrite dans la
requête, c'est à dire IPpub.
l Ce message est donc envoyé et reçu par notre routeur NAT qui
reconna ît IPpub comme une adresse ne correspondant pas à une
adresse de son réseau mais devant être translatée pour
continuer son chemin.
l Il regarde donc de nouveau sa table de correspondance NAT et
constate qu' à l'adresse publique IPpub est associée
l'adresse privée IPa.
l Il modifie le message et le transmet sur le réseau local où
la machine A est connectée.
Le schéma ci dessous vous résume les étapes d écrites.Avec ce syst ème, une station interne aura toujours, lorsqu'elle
souhaite se connecter à Internet, la même adresse IP publique .
La NAT dynamique
La NAT dynamique fonctionne sur le même principe que la NAT
statique mis à part que l'adresse publique qui sera attribuée à
la station A (station en adressage privé) ne sera pas toujours
la même. Cette adresse sera choisie dans un "pool d'adresses" à
la disposition du routeur et donnée pour un temps d éfini.
L'adresse obtenue par A sera potentiellement à chaque fois
différente. Mais une fois toutes les adresses du pool utilisées,
les stations qui feront la demande d'une adresse publique ne
pourront pas être satisfaites, il faut donc trouver encore une
autre solution permettant de satisfaire tous les utilisateurs.
Cette solution peut âr exemple êter la NAT multiple ou PAT.
Voyons ceci.
III.3) NAT multiple
La NAT multiple
Ce que l'on appelle communément NAT dynamique est en fait la
mise en place d'une autre translation : la translation de port
ou PAT (Port Adresse Translation). Ce protocole s'appuyant sur
UDP est lui aussi impl émenté sur les routeurs en complément de
la translation d'adresse.
Principe :
La translation de port permet d'associer une même adresse IPpublique à plusieurs adresses IP privées en jouant sur les ports de connexion. Ainsi, plusieurs machines pourront se connecter en même temps à Internet alors que le routeur ne dispose que d'une adresse publique. Prenons comme exemple une situation o ù deux machines du réseau local souhaitent aller visiter un site Internet en m ême temps. La première : A, qui possède l'adresse IP IPa, initialise la connexion en choisissant au hasard le port source Porta. Au même instant, la machine B fait la même démarche, elle initialise la connexion en prenant comme port source (choisi de fa çon al éatoire) le port Portb. Nous allons nous placer dans le cas le plus défavorable, par manque de chance les deux machines A et B ont choisi le même numéro de port (Porta=Portb)... Voyons ce qui se passe au niveau du routeur NAT/PAT : Le routeur reçoit les deux demandes de connexion en même temps. Il va donc regarder dans sa table l'adresse IP source, le port source et l'adresse publique allouée (la seule à sa disposition). Il continue donc à faire suivre le paquet de la machine A sur Internet avec les caractéristiques suivantes : @src = IPpub, port src = Porta... Le paquet provenant de B arrive lui aussi au routeur, le routeur fait de même qu'avec A, il note dans sa table qu'à l'adresse source IPb et num éro de port Portb est associ é l'adresse Ip publique IPpub avec le port Portb... Mais, lors de l'arrivée des réponses en provenance du Web, le routeur qui reçoit un paquet pour @IP : IPpub et port dest Porta (=Portb) ne saura pas à qui l'envoyer... Avec ce mécanisme, il serait possible que le routeur lance des connexions vers l'extérieur avec le même numéro de port, connexions qu'il n'arriverait plus à distinguer par la suite... C'est pour celà que lorsqu'une demande de connexion arrive, le routeur, en plus de changer l'adresse IP source contenue dans le paquet, va aussi modifier le port source en en choisissant un lui même. De cette manière, il ne choisira jamais deux fois le même numéro en m ême temps, il pourra donc bien suivre toutes les connexions en même temps. Voici donc un sch éma synthétisant le fonctionnement de la translation de port: Lors de l'envoi de requêtes :
Lors de la réponse à la requête : Les mécanismes de NAT et PAT sont très liés, ils ont le même but, voyons en maintenant une comparaison :
III.4) Comparaison et problèmes
Comparaison NAT statique et NAT dynamique
NAT statique NAT dynamique NAT multiple (PAT)
1 adresse IP
1 pool d'adresses 1 seule adresse
publique par
publiques pour un publique pour un
machine du r éseau
réseau complet réseau complet
local
Initialisation des Initialisation des
Machines
connexions TCP connexions TCP
accessibles par
uniquement par uniquement par
l'extérieur
l'intérieur l'intérieur
Gestion plus Une fois que toutes
facile, on sait qui les adresses du pool
a quelle adresse IP sont utilisées, plus
publique de connexion possible
Problèmes pour ARP,
FTP
L'idéal serait donc de pouvoir coupler ces sytèmes pour n'en
garder que les avantages, ce qui est bien évidemment possible,
voici comment faire :
Couplage NAT et PAT
Sur un réseau, toutes les machines n'ont pas les mêmes besoins
en terme de connexion à Internet, d' établissement de connexion
par l'extérieur etc... Ainsi, il est possible d'impl émenter les
deux systèmes sur le routeur NAT.
Les machines devant être jointes de l'extérieur ou utilisant
fr équemment des services comme FTP peuvent utiliser une NAT
statique. Il peut s'agir par exemple de serveurs Web,
fr équemment appelés. Pour les postes de simples utilisateurs, il
est en général suffisant de faire de la PAT et donc ainsi
économiser le nombre d'adresses publiques disponibles dans
l'entreprise.
Problèmes liés à la NAT
Certains problèmes persistent quand m ême :
Requêtes ARP : Lorqu'une requête ARP est à destination d'une
machine "NAT ée", la requête se fait par l'adresse virutelle
utilisée en dehors du réseau local. Or aucune machine du réseau
ne poss ède cette adresse, c'est le routeur qui doit répondre à
la place de la machine, on dit alors que le routeur fait "proxy
ARP". Le proxy ARP est souvent implémenté automatiquement sur
les routeurs,sinon il existe plusieurs solutions pour pallier à
ce problème : mettre en place un mécanisme de proxy ARP sur la
machine qui fait de la NAT statique, ajouter une entrée statique
dans la table ARP du routeur Internet (pas le routeur NAT mais
le suivant vers Internet) avec l'adresse MAC du routeur
commande : arp -s @IPvirutelle @MACRouteurICMP : La NAT multiple demande l'utilisation des ports TCP/UDP mais certains protocoles ne les utilisent pas, c'est par exemple le cas d'ICMP, PPP ou Netbios. Par exemple ICMP, il se limite à la couche 3, il n'a donc pas de ports TCP/UDP. La plupart du temps, il faudra mettre en place une méthode sp écifique pour permettre la NAT du trafic ICMP, il suffira de baser la translation sur l'identifiant de l'entête IP plutôt que sur les numéros de port. On peut donc se demander pourquoi ce mécanisme, plus universel ne serait pas mis en place pour toutes les translations... Mais il existe maintenant une solution à ce problème, il s'agit du tracking de paquets ICMP. Ce mécanisme permet entre autres d'utiliser le procole ICMP avec la translation d'adresses. le tracking de paquets ICMP est un module compris dans un mécanisme de NAT évolué tel que "Masquerading". FTP : FTP est un protocole qui utilise deux connexions en parallèle, la première pour le contrôle de la connexion et la seconde pour le transfert des données. FTP fonctionne selon deux modes : passif (connexions initialisées de l'extérieur) ou mode actif (la demande de données vient de l'extérieur).Cette seconde possibilité empêche de faire de la NAT dynamique. De plus, le protocole FTP contient des informations concernant les machines et donc celà pose problème si les adresses de ces machines sont translat ées. Il faut alors utiliser un module capable de lire les informations contenues dans les données FTP ou utiliser un proxy FTP qui sera capable de suivre la connexion et de modifier les données FTP rendant ainsi la connexion possible. Ce type de module est également disponible dans le mécanisme de "masquerading" et il peut ête activé ou non selon l'utilisation. VPN : Les réseaux privés virtuels ( VPN) utilisent une communiaction via un tunnel. Le contenu des messages qui transitent dans ce tunnel est crypté, y compris l'entête IP du message (protocole IPsec). Ainsi, il n'est plus possible, une fois le message crypté, de trouver en clair l'adresse IP de l' émetteur ainsi que le port source, il n'est donc pas non plus possible de les modifier. Il est donc difficile de faire de la translation d'adresse dans un VPN. La solution est très simple, elle consiste à translater l'adresse avant de crypter le message IP. Là aussi, des mécanismes évolués tels que le "masquerading" permettent de résoudre le problème. Certains problèmes renconctrés avec la translation d'adresses ne le sont pas avec l'utilisation des proxys, voyons donc comment les proxys fonctionnent.
IV) Proxy
IV.1) Principe de fonctionnement du proxy
Le proxy fonctionne au niveau applicatif. Il est utilisé comme
mandataire par des machines présentes sur un réseau, n'ayant pas
d'accès direct à l'extérieur et souhaitant s'y connecter pour
une application donnée .
Comme pour les routeurs, le nom du serveur proxy doit être
configuré, pour chaque type d'application, sur les machines
clientes. Il peut alors s'agir de proxy HTTP, FTP, ARP etc...
Afin de bien comprendre comment tout celà fonctionne, prenons
comme exemple l'architecture réseau suivante avec un proxy HTTP.
Exemple 1 : La station A veut consulter le site Web Interne
Voici, vus de la machine A les mécanismes mis en place :
l Résolution DNS pour le serveur WebInterne
l Connexion TCP de A vers le serveur WebInterne
l A vers WebInterne : requête http GET URL index.htm
l WebInterne vers A : envoi du contenu de index.htm
Ici, le serveur WebInterne communique donc directement avec la
station A.Exemple 2 : La station A veut consulter le site Web Externe
La machine A ne peut pas se connecter directement à Internet,
elle regarde donc dans sa configuration et voit qu'elle doit
passer par le proxy
Voici, tout d'abord vus de la machine A les mécanismes mis en
place :
l Résolution DNS pour le serveur ProxyHttp
l Connexion TCP de A vers le ProxyHttp
l A vers ProxyHttp : requête http GET URL WebExterne/index.htm
l ProxyHttp vers A : envoi du contenu de WebExterne/index.htm
Voici ensuite, vus du proxy les mécanismes mis en place :
l Connexion TCP de A
l A vers ProxyHttp : requête http GET URL WebExterne/index.htm
l Connexion TCP de ProxyHttp vers WebExterne
l ProxyHttp vers WebExterne GET URL index.htm
l WebExterne vers ProxyHttp envoi du contenu de index.htm
l Proxy vers A envoi du contenu de WebExterne/index.htm
Nous voyons donc ici que la station A ne communique jamais
directment avec le WebExterne (pas de connexion TCP entre A et
le serveur WebExterne.
En règle génrérale, on profite du proxy pour lui adjoindre des
fonctionnalités spéciales. Nous allons donc voir quels services
peuvent lui être ajoutés.
IV.2) Services ajoutés au proxy
Comme nous venons de la voir, le proxy est simplement un
intermédiaire de connexion entre une station du réseau local et
des stations plac ées sur d'autres r éseaux. Néanmoins, des
options lui sont souvent associées, en voici quelques-unes :
Proxy-Cache
Tr ès souvent, un cache est installé sur les proxys. Le cache est
une mémoire installée sur les proxys lui permettant de conserver
dans sa propre mémoire le contenu des requêtes qui ont déjà été
effectu ées.
Le serveur de cache, avant de se connecter au r éseau externe
pour relayer la demande de son client interne, détermine s’il
peut satisfaire la demande du client avec son cache. Un serveur
Proxy utilisant le cache place une copie des objets téléchargés
dans le cache et associe à ces objets une dur ée de vie. Pendant
toute sa dur ée de vie, toutes les demandes pour cet objet seront
satisfaites par le cache. Quand la durée de vie de cet objet est
passée, le prochain client qui demandera cet objet en recevra un
tout nouveau reçu du réseau externe. Si le cache du Proxy est
plein, le serveur Proxy élimine les objets de son cache suivantcertains critères tels que l'âge, l’utilisation et la taille. Il est possible de paramètrer le cache afin de donner un temps de validité limité aux pages stockées. Ceci donne donc l' avantage d'économiser la bande passante disponible pour toute l'entreprise et aussi les coûts de connexion à Internet si l'entreprise ne dispose pas d'une connexion permanente à Internet. L'utilisation d'un proxy-cache a quand même des inconvénients . Le premier est que le serveur qui héberge le cache doit avoir de bonnes performances afin de ne pas trop ralentir les requ êtes, de plus, le passage dans ce serveur peut provoquer un goulet d' étranglement au niveau du réseau (le temps de traitement des requêtes adressées au proxy n'est pas négligeable). Il est néanmoins possible de placer plusieurs proxys en parallèle afin de leur répartir la charge. Proxy-Authentification Le fait de relier un serveur proxy à un mécanisme d'authentification permet de ne donner l'accès à Internet qu' à certaines personnes autoris ées à qui on distribue un login et un mot de passe. On évite ainsi que toute l'entreprise ait accès à Internet si les personnes qui en ont besoin sont très rares. On peut aussi profiter de ce mode de fonctionnement pour répartir les frais de la connexion à Internet en donnant un mot de passe par service et ainsi on calcule le trafic inhérent à chaque service pour redistribuer les co ûts. Proxy Anonyme Le proxy anonyme est utilis é pour permettre une conservation de la vie privée. En effet,lorsqu'une connexion Internet a lieu, des informations sur le système sont fournies au site Web. Des informations peuvent alors être utilisées pour suivre les mouvements de l'internaute. Afin d'éviter de divulguer des informations sur sa vie privée, il est possible de mettre en place des proxys anonymes. Ceux-ci détruisent les informations issues des entêtes des requ êtes provenant d'un ordinateur sp écifique. Afin de bénéficier d'un niveau de sécurité optimal, il est possible de chainer des proxys. Au lieu de saisir une demande de connexion à un site Internet de la façon suivante : http://www.enic.fr on tape : http://proxyA:portA/proxyB:portB/www.enic.fr ou http://proxyA:portA/proxyB:portB/http://www.enic.fr Failles de sécurité Comme tout équipement, le proxy souffre de failles de sécurité. Même si les pirates les détectent plus vite que les administrateurs r éseaux, il est préférable d'en connaître les principaux d éfauts.
La principale faille concerne la liste des utilisateurs
autoris és à se connecter. En effet, si la liste est inexistante
ou mal configurée, n'importe qui pourra venir s'y connecter pour
aller de façon anonyme sur Internet. Il est relativement simple
pour un hacker de se procurer sur Internet une liste de serveurs
proxys et de leur configuration car certaines entreprises
publient sans s'en rendre compte leur adresse de proxy et leur
configuration.
IV.3) Comparaison Proxy et NAT
Les proxys et la translation d'adresse ont le m ême but,
connecter des machines à Internet, mais quel système est-il
pr éférable d'utiliser ?
Vaut-il mieux mettre en place la translation d'adresse ou
utiliser des serveurs proxys ?
Selon les besoins de l'entreprise, chaque matériel peut avoir
ses avantages et ses inconv énients, voici ce qui peut faire
pencher la balance...
Penchant sur les proxys :
Le Proxy est dédi é à une seule application, l'avantage est qu'il
peut interpr éter le contenu de ce qu'il voit passer et donc il
évite des problèmes tels que l'utilisation du protocole FTP avec
la NAT.
Il est possible de mettre un cache sur un proxy, permettant
ainsi de réduire significativement le trafic de l'entreprise
vers l'extérieur si de nombreuses personnes se connectent
souvent au m ême site. La bande passante est alors mieux
utilisée.
Avec les proxys, il est possible d'autoriser ou non l'acc ès à
certaines ressources et il est possible d'avoir un bon contrôle
de ce qui passe sur le réseau.
Les proxys ne sont pas seulement utilisés quand l'entreprise
possède un r éseau en adresses privées, les services à valeur
ajoutée proposés le rendent flexible.Il peut donc être utilisé
pour accroître quelque peu la sécurité sur un réseau.
Penchant pour la NAT :
La NAT est transparente pour les utilisateurs, c'est à dire que
rien ne doit être configur é sur leurs postes pour que le système
fonctionne.
Elle est ind épendante des applications utilis ées, si une
nouvelle application apparait, elle peut tout de suite
communiquer vers l'ext érieur, il n'est pas nécessaire
d'installer un nouveau proxy.
Maintenant que la connexion à Internet est assurée , il faut voir
comment se protéger des malveillances qui peuvent provenir de
l'extérieur. Pour celà, étudions les firewalls.V) Firewall
V.1) Principe général
Selon la définition de Cheswick et Bellovin, un firewall (ou
pare-feu en français) est un ensemble de composants placé entre
deux réseaux ayant les propriétés suivantes :
l Tout le trafic transitant entre les deux r éseaux passe
nécessairement par le firewall
l Seul le trafic explicitement autorisé par la politique de
sécurité appliqu ée localement est autorisé à passer au
travers du firewall
l Le firewall est immunisé contre toute intrusion.
Il s'agit donc ici de contr ôler tout ce qui se passe à
l'interconnection des deux réseaux et de garantir que
l' équipement réalisant ce contrôle ne peut pas lui-même être
attaqué afin de modifier ses r ègles de filtrage.
Les notions de NAT et de proxy vues précédemment aideront
largement à la compréhension du fonctionnement des firewalls
puisque ces mécanismes y sont utilis és.
Deux principaux types de firewalls existent, les filtres de
paquets et les passerelles applicatives, ceci fera l'objet de la
suite de ce site.
Il faut néanmoins noter qu'il ne suffit pas de mettre en place
un firewall pour se pr émunir de toutes les attaques sur un
réseau, une politique de gestion de la sécurité doit être
définie, surveillée et mise à jour régulièrement, n'oublions pas
que la machine ne fera que ce que l'homme (la femme) lui aura
demandé de faire !
Voyons donc comment se définit une politique de sécurité.
V.2) Politique de sécurité
Stratégies de configuration d'un firewall
Deux grandes stratégies sont utilis ées pour configurer les
firewalls :
l Tout ce qui n'est pas explicitement interdit est autorisé
l Tout ce qui n'est psa explicitement permis est interdit.
La seconde règle est la plus utilisée, elle permet en effet de
limiter les failles de sécurité dues à des oublis ou à de
nouvelles sortes d'attaques. Elle est néanmoins longue à mettreen place et à appliquer. c'est celle qui est la plus souvent
choisie.
Un langage de définition des politiques de sécurité a été cr éé
afin de définir les règles de filtrage. Il a été étudié à l' IETF
et peut se r ésumer comme suit :
SI ALORS
La condition reprend un critère de s élection (par exemple
l'adresse IP source) en relation avec un opérateur et une
catégorie d'utilisateurs . Les op érateurs sont les suivants : IN,
NOT IN, EQUALS, GREATER THAN, GREATER THAN OR EQUAL TO, LESS
THAN, LESS THAN OR EQUAL TO.
Les actions sont PERMIT (trafic autorisé) et DENY (trafic
interdit). Il existe également une action REJECT qui, en plus de
refuser le passage du paquet, avertit l'émetteur que son paquet
a été détruit. Cette action est très peu utilis ée car elle peut
donner des informations à l'éventuel intru, on préfèrera donc
utiliser DENY.
Différents types de firewalls
dans la suite de ce document, vous connaitrez les deux
principaux types de firewall, leurs fonctionnalités, leur mise
en place et leurs protections.
Le filtre de paquets
La passerelle applicative
V.3) Filtres de paquets
Il filtre le trafic des données au niveau des couches réseau et
transport (niveaux 3 et 4 du modèle OSI).
Le filtrage est principalement r éalisé en fonction des critères
suivants :
l Numéros de protocole
l Adresses IP source et destination
l Numéros de ports sources et destinations
l Drapeaux de connexion TCP
Gr âce aux numéros de port, il est possible d'effectuer un
filtrage en fonction des services proposés car il existe une
correspondance entre les numéros de ports et les services
associés. Néanmoins, ceci n'est pas tout à fait satisfaisant car
des num éros de port non r éservés existent et peuvent être
utilisés sans être filtrés. Il faut donc bien faire l'inventairedes ports utilisés par les applications de l'entreprise et
veiller à n'ouvrir que ces ports.
Dans le cas du filtrage par paquets, le firewall ne prête aucune
attention aux données véhiculées sur le réseau. De ce fait, il
ne peut s'agir que d'une maille dans le système de s écurité et
il ne constitue en lui même pas un rempart suffisant.
2 types de filtres de paquets :
Filtre sans Etat : Il ne garde en m émoire aucun contexte, il
traite de fa çon identique tous les paquets IP qu'il voit passer,
c'est à dire qu'il analyse l'ent ête IP selon ses r ègles de
filtrage. C'est le type de filtre de paquet le plus couramment
utilisé.
Filtre avec Etat : Le premier paquet d'une communication IP est
analysé selon les règles de filtrage. L'action réalisée (DENY ou
PERMIT) est gardée en mémoire. Les paquets suivants faisant
partie de la même communication seront traités avec la même
action.
En règle générale, les filtres de niveau paquet offrent de tr ès
bonnes performances en terme de temps de traitement, par contre,
ils ne savent pas comprendre ce qui circule dans la partie
"donnée" des messages ce qui peut être également dangereux. Pour
ce faire, les passerelles applicatives ont été créé es.
V.4) Les Passerelles
La passerelle agit de la couche transport à la couche
application du modèle OSI.
Ici, le firewall effectue un filtrage plus ou moins fin sur les
données échangées entre deux réseaux, pour un service TCP/IP
particulier.
La passerelle sera donc placée sur le même réseau que le client
qui devra obligatoirement passer par elle pour se connecter à
l'extérieur. Ainsi, deux connexions TCP doivent être prises en
compte : une connexion du client vers la passerelle applicative
et une autre de la passerelle applicative vers l'ext érieur. Dans
ce cas, le firewall effectue un contr ôle pour voir s'il autorise
ou non le transit des paquets sur ces connexions. Le firewall va
alors chercher dans ses règles de fonctionnement pour savoir
s'il doit relayer le trafic ou le bloquer.Il existe deux principaux types de passerelles, les passerelles
de niveau circuit et les passerelles applicatives. Elles sont en
général regroupées sous le terme générique de "passerelles
applicatives" mais ne fonctionnent en fait pas de la même
manière :
Passerelles de niveau circuit :
Dans ce cas, le client effectue une connexion TCP vers la
passerelle pour demander sa connexion au serveur. La passerelle
peut effectuer des contrôles relatifs permettant :
l de contrôler l'adresse IP d'un client,
l d'autoriser pour une durée maximale fixée les communications
sur un port donné
l de permettre la r éutilisation d'un même port seulement après
un délai fix é
l d'authentifier un terminal
Ici, une seule passerelle peut être mise en oeuvre pour toutes
les applications basées sur TCP/IP.
Dans ce type de configuration, il est nécessaire de modifier la
configuration de la pile TCP/IP du client afin de forcer le
client à se connecter via la passerelle.
Passerelles Applicatives :
Il s'agit en fait ici de mettre en oeuvre le mécanisme de proxy(d écrit plus tôt dans cet exposé). Il faudra par contre
installer une passerelle applicative par service utilisé dans
l'entrprise devant se connecter à Internet. Ceci permet d'avoir
un filtrage très fin au niveau de l'analyse du contenu de ce qui
transite mais cel à peut s'avérer lourd à gérer car, dès qu'une
nouvelle application qui doit communiquer vers l'ext érieur
apparait, il faut installer un nouveau proxy. Il est possible
d'héberger sur un même serveur plusieurs proxys, limitant ainsi
les coûts au niveau matériel.
Plusieurs types d'architectures permettent d'obtenir le niveau
de sécurité souhaité et de résoudre certains problèmes, par
exemple le fait de devoir installer un proxy par application.
C'est ce que nous allons voir dans le chapitre Architectures.
V.5) Architectures
Il existe plusieurs solutions permettant de connecter le
firewall au réseau Internet, selon le niveau de paranoïa du
responsable sécurité de l'entreprise. Nous allons donc voir ici
quelques possibilités d'architecture et leur intérêt :
Il existe deux éléments indispensables à toutes ces
architectures :
Le routeur filtrant : il s'agit ici d'un routeur où sont
implémentées certaines règles lui permettant de savoir, en
fonction des adresses IP, des protocoles utilis és ou des num éros
de ports à quelle machine envoyer le message.
Le bastion : On appelle bastion un serveur regroupant plusieurs
proxys.Un routeur filtrant et un bastion ayant deux interfaces r éseau : Avec ce type d'architecture, le routeur filtrant va vérifier que tous les paquets issus d'Internet sont adressés au bastion. Le bastion utilise ses règles de filtrage pour savoir s'il doit relayer ou non les paquets. Ce type d'architecture est très fiable car seuls les services pour lesquels un proxy a été install é peuvent communiquer. Le problème est donc toujours persistant pour les services qui ne disposent pas de proxys (certains protocoles propriétaires, par exemple Lotus Notes ou le service DNS). De plus, toute la fiabilité de cette architecture repose sur le bastion, une simple faille au niveau de celui -ci rend toute la structure ouverte aux attaques.
Un routeur filtrant et un bastion ayant une seule interface réseau : Ici, le routeur v érifie la conformit é des paquets issus d'Internet, il vérifie qu'ils sont bien adressés au bastion. Un avantage et un inconvénient proviennent du fait que le routeur peut être contourné. Ceci peut se révéler utile lorsqu'on souhaite utiliser des services qui ne disposent pas de proxys, DNS par exemple. On ordonne alors au routeur d'envoyer ce type de paquets directement sur le réseau, ceci donne une certaine flexibilité. La sécurité est ici basée sur les tables de filtrage du routeur autorisant ou non la connexion directe au réseau interne.
Deux routeurs filtrants et un bastion : Ici, une zone dite démilitarizée est créé e entre les deux routeurs, elle est appelée DMZ. L'intérêt vient du fait qu'il est nettement plus difficle de r éussir à contourner deux routeurs filrants. Le routeur R1 envoi les données qui doivent être filtrées au bastion et les autres vers le second routeur filtrant. Le second Routeur (R2) vérifie que toutes les informations qui doivent être filrées viennent du proxy et il laisse passer les messages qui ne doivent pas être filtrés. Comme dans l'exemple précédent les services ne disposant pas de firewall peuvent passer. Autres utilisation des DMZ : De nombreux firewall permettent sur au moins une de leurs branches une DMZ. On place alors sur la DMZ tous les serveurs qui peuvent être accessibles de l'Internet (ne contenant pas de données critiques). Ainsi, tout le reste du réseau reste inaccessible de l'extérieur. Voici un exemple d'architecture qui intègre une DMZ pour une entreprise qui souhaite héberger elle- même son serveur Web et avoir un serveur de mail accessible à partir d'Internet. Le firewall dans ce cas peut aussi bien être un filtre de paquets ou une passerelle applicative.
Nous voyons donc ici qu'il n'est pas simple d'installer un
firewall, il faut savoir quelle politique appliquer, quel type
de filtrage on souhaite réaliser, quelles applications auront le
droit de communiquer vers l'extérieur mais aussi quel type
d'architecture mettre en place. Tout dépend du degr é de sécurité
souhait é, des moyens à disposition mais aussi des données à
protéger... car malgré la présence d'un firewall, toutes les
attaques ne peuvent pas être arr êtées, nous verrons dans la
prochaine partie comment attaquent les pirates et s'il existe
des solutions pour déjouer ces attaques.
V.6) Problèmes
Aussi performant que pourra être un firewall, il existera
toujours des failles qu'il ne pourra pas g érer et pour faire
face à des attaques spécifique il devra être configurée de
manière optimale.
Failles
Il existe trois catégories de failles contre lesquelles les
firewalls restent impuissants :
La première catégorie met en cause les protocoles des couches
basses du modèle OSI (de 2 à 4) comme par exemple TCP, IP, UDP,
Ethernet, Token Ring qui ne sont pas nativement sécurisés. En
effet ces protocoles ne nécessitent en aucun cas une
authentification et la confidentialit é des données qu'ils
supportent n'est pas assurée car toutes les informations
circulent en clair.La deuxième catégorie est liée aux protocoles des couches hautes et notamment à certains, utilisés fréquemment sur intenet et pouvant facilement être utilisée à des fins malveillantes par exemple Telnet ou FTP. En effet il est délicat de noter dans les régles du firewall que l'utilisation de ces services est interdit car ils sont pratiques et fr équement utilisés. Bien sur le firewall ne peux les accepter que s'ils proviennent de certaines adresses, mais si un pirate usurpe les adresses autoris ées il pourra faire transiter le contenu qu'il souhaite sans avoir à s'authentifier, et/ou il pourra lire les informations qui transitent puisqu'elles ne sont pas codées. Le troisième risque provient des faiblesses des sytèmes d'exploitation utilis és sur les réseaux locaux. Il est tr és facile pour les pirates d'obtenir des renseignements sur les faiblesses de sécurité des différents système et de concevoir des attaques appropriées qui ne pourront être détectées par le firewall qui pensera que ce sont des messages normaux ou et sans risques. De plus il faut bien r éaliser que le firewall est incapable d'empêcher les attaques ne passant pas par lui. Par exemple il n'est pas rare de constater que certains utilisateurs possèdent des liaisons modem directe vers l'internet, ce qui constitue une porte d'entr ée idéale pour un pirate. Il faut également être conscient que la sécurité absolue n'est pas encore possible et que la meilleure façon de protéger des documents sensible est de les stocker sur des supports non accessibles depuis le réseaux : réseau ou machine en "standalone" c'est à dire sans liaisons avec le reste de l'entreprise, support de stockage physique : cd -rom, bandes magnétiques... Les firewalls ne sont également pas bien adapter à la protection contre les virus car ce ne sont rien d'autre que des programme ou documents à l'apparence des plus normale, et il existe tellement de mani ère de coder les informations qu'il est difficile de détecter les virus sur le firewall. Il est donc nécessaire de bien sensibiliser les utilisateurs aux problème de sécurité et leur donner les directives de bases, la première étant de ne rien ouvrir provenant d'un mail dont on n'est pas sur de la provenance. L'investissement dans un firewall est assez lourd et une bonne administration prend énormément de temps. Quelques types d'attaques : Voici quelques types d'attaques qu'il est possible de contrer grace à une bonne configuration du firewall. Le "SYN flooding" . Cette attaque s'adresse aux équpement fonctionnant avec le protocole TCP. Le principe étant d'inonder la machine avec des messages comporantant le drapeaux SYN à 1 et de ne pas répondre, la machine visée reste donc dans l'attente d'un message avec le drapeau ACK à 1. Cela n'affecte pas l'intégriter du système mais le mais dans l'incapacit é de répondre à d'autre requète, cela le rend indisponible. La
solution est de configurer le firewall pour qu'il examine les requettes TCP et qu'il contrôle le nombre de messages SYN émis par une même source. L´IP spoofing. La mascarade autrement appelée IP spoofing consiste à falsifier l´adresse source d´un datagramme IP pour se connecter à une machine qui connaît ses hosts amis. La machine estime donc qu´elle a affaire à un utilisateur reconnu et laissera ouvertes ses protections. Cette attaque qui est causée par les faiblesse de certain protocole ne faisant pas d'authentification, peut être éviter si le firewall fais lui même de l'authentification (notament en dialoguant avec un serveur d'authentification) en controlant de manière performante l'identité du correspondant (mécanisme de signature digitales ou à base de clef secrète). Le Pinging. L´exploitation de ces failles se traduit par un certain nombre de techniques. La première se nomme "pinging" ou "ping of death". Son principe est très simple : la machine cible est bombardée par des milliers de messages (de type ICMP envoyés par la commande ping). Cet équipement se trouve alors saturé et passe en mode administration. Le pirate peut alors reconfigurer le syst ème à sa guise. La parade est la même que pour toutes les attaques de type "flood" c'est à dire de controler le nombre de message de type signalisation à destination d'une même machine. Les attaques sur les autres matériels réseaux. En effet si un routeur est attaquer et que le pirate parvient à modifier les table de routage afin de rediriger du traffic sur sa propre machine, le firewall sera impuissant. Il faut donc le positionner corectement et notament avant les routeur internes à l'entreprise. Les journaux de s écurité . Afin de ne laisser aucune trace de son passage le pirate peux saturer les journaux de sécurité avec des tentatives de connexions "leure" puis réaliser en toute discrétion une véritable attaque, puisque les actions ne seront plus enregistrée. Afin de paré à ce problème il faut que l'administation du firewall soit irréprochable et surtout que cette machine soit la moins visible possible par un pirate. Par exemple il ne faut en aucun cas héberger d'autre service sur cette m ême machine car elle risquerais d' être vue de l'extérieur. En conclusion, on pourra dire que si les capacités du firewall et sa puissance entrent en jeu dans le niveau de sécurité qu'il procurera, l'élément essentiel réside dans une administration et une configuration des plus soign ées et des plus rigoureuses.
VI) Glossaire Vous trouverez dans ce glossaire les termes que nous avons utilisés ainsi qu'une définition rapide de ceux-ci. Certains termes ont été plus expliqu és dans le site lui-même, n'h ésitez pas à aller consulter les parties correspondantes. AFNIC : Association Française pour le Nommage Internet en Coopération ARP : (Adresse Resolution Protocole) : Protocole permettant sur un réseau local, d'associer les adresses physique des machines (adresses MAC) au adresses IP en envoyant une requette en diffusion à toute les machine pour demander laquelle posséde l'adresse ip recherché. Broadcast : Ou diffusion, mécanisme permettant à toutes les stations d'un réseau de recevoir le message envoyé. Pour le protocole IP les adresses de broadcast se terminent par 255, par exemple un message envoyé à l'adresse 192.168.1.255 sera pris en compte par toutes les machines du réseau 192.168.1.10. Cache : Le cache est une notion trés présente dans les réseaux, il s'agit de conserver en m émoire une information que l'on vient d'aller chercher sur le réseau afin de ne plus avoir à emprunter le réseau pour la retrouver. Naturellement, il faut mettre en place des mécanismes de durée de vie limitée ou de mise à jour pour s'assurer de la validité de l'information. CIDR : (Classless Inter Domain Routing) Système permettant de réaliser un seul réseau logique à partir de plusieurs adresses de classe C contigues. On s'arrange pour que les adersses de classe C choisies aient le même masque de "Sur -Réseau". Datagramme : Suite de bit Standardisée. Pour IP, l'entête comporte 20 octets précisant notamment l'adresse source et l'adresse destination du message. Les donn ées de la couche supérieure suivent cet ent ête. DHCP : Système permettant d'attribuer dynamiquement aux machines d'un réseau donné une configuration réseau, contenant notamment l'adresse IP, le masque de sous réseau et le routeur par défaut. DNS : (Domain Naming Service) Le DNS est un service qui fournit une base de donnée permettant de faire la relation entre une adresse IP et le nom de la machine correspondant à cette adresse IP. Firewall : Machine placée au point de communication d'un réseau vers l'extérieur assurant la non-intrusion dans ce réseau. FTP : (File Transfert Protocole) Protocole applicatif utilisé
dans le transfert de fichier. HTTP : (HyperText Transfert Protocole). Protocole applicatif de transmission de donnée s'appuyant sur le protocole TCP. C'est le protocole le plus employé sur l'Internet notamment pour le transfert des pages Web. ICANN : Entitée charg ée de gérer les noms de domaines au niveau mondial de l'Internet (www.icaan.org) ICMP : (Internet Control Message Protocole) Protocole permettant la communication entre routeur pour échanger des informations. Les messages ICMP sont encapsuler dans les datagramme IP. PPP (Point to Point protocol) Protocole utilis ée le plus souvent pour les connexion modem entre le modem et un routeur. IETF : Internet Engineering Task Force. Il s'agit d'une communauté internationale regroupant des architectes réseau, des op érateurs, des vendeurs concernés par l' évolution d'Internet et de son architecture. l'IETF publie des RFC (Request for Comment) donnant des instrutions sur l'utilisation d'Internet. voir site IETF. voir RFC 1918 Intrusion : En réseau, la notion d'intrusion signifie qu'une personne malveillante a réussi à pouvoir lancer des commandes sur la machine dans laquelle elle s'est "introduite" sans y être autoris ée. IP : (Internet Protocol) Protocole - : Protocole de réseau (de niveau 3) non fiable, c'est à dire qu'on ne sait pas si les messages envoy és sont réceptionnés. IP fait communiquer des machines grâce aux adresses IP. Datagramme IP : Voir datagramme IPSec : Protocole IP sécurisé. Ce protocole encrypte les datagrammes IP afin de garantir leur intégrité. IL s'occupe de chiffrer non seulement les données présentes amis aussi l'entête. Mandataire : Persone à qui on délègue un service, par exemple on délègue à un mandataire automobile l'achat d'une voiture. NAT : (Network Adress Translation) Ce mécanisme de translation d'adresses permet de routeur sur Internet les adresses privées d'un réseau. Voir exposé . NAT est souvent associé à PAT (translation de Port). Voir PAT NetBios : L'interface NetBios permet d'établir des communications poste à poste. C'est un progicile d'interface entre le système d'exploitation d'un ordinateur et les applications. Ce standard permet de g érer les échanges entre ordinateurs dans un réseau. OSI (modèle) : C'est un plan de base mis au point par l'ISO (International Standard Organization), qui définit comment seront envoy és les paquets d'informations sur les réseaux
Vous pouvez aussi lire