Chaque ordinateur connecté à Internet (et d'une manière plus générale à n'importe quel
réseau) est susceptible d'être victime d'une intrusion pouvant compromettre l'intégrité
du système ou bien y altérer les données.
Les pirates informatiques ayant l'intention de s'introduire dans les systèmes informatiques
recherchent dans un premier temps des failles, c'est-à-dire une vulnérabilité nuisible à la
sécurité du système, dans les protocoles, les systèmes d'exploitations, les applications,
voire même le personnel d'une organisation ! Ils scrutent
donc le réseau (en envoyant des paquets de données de manière aléatoire) à la recherche d'une machine connectée
(machine cible), puis cherchent une faille de sécurité afin de l'exploiter et d'accéder aux données s'y trouvant.
Cette menace est d'autant plus grande que la machine est connectée en permanence à Internet.
En effet dans le cas d'une connexion permanente à haut débit :
- La machine cible est susceptible d'être connectée sans pour autant être surveillée
- La machine cible est généralement connectée avec une plus large bande passante
- La machine cible ne change pas (ou peu) d'adresse IP
Ainsi, il est nécessaire, notamment pour les entreprises connectées à internet
et les internautes ayant une connexion de type câble ou ADSL, de se
protéger des intrusions en installant un système pare-feu.
Un pare-feu (firewall en anglais), est un système physique (matériel) ou logique
(logiciel) servant d'interface entre un ou plusieurs réseaux afin de contrôler et éventuellement bloquer
la circulation des paquets de données, en analysant les informations contenues dans les couches
3, 4 et 7 du modèle OSI. Il s'agit donc d'une machine
(machine spécifique dans le cas d'un firewall matériel ou d'un ordinateur sécurisé
hébergeant une application particulière de pare-feu) comportant au minimum deux interfaces réseau :
- une interface pour le réseau à protéger (réseau interne)
- une interface pour le réseau externe
Le pare-feu représente ainsi généralement dans les
entreprises un dispositif à l'entrée du réseau qui permet de protéger le
réseau interne d'éventuelles intrusions en provenance des réseaux externes (souvent internet).
Les terminologies suivantes sont parfois également utilisées :
- garde-barrière (gate-keeper)
- porte coupe-feu
- antéserveur
- écluse
Lorsque certaines machines du réseau interne ont besoin d'être accessible de
l'extérieur (comme c'est le cas par exemple pour un serveur web, un serveur de messagerie, un
serveur FTP public, ...) il est souvent nécessaire de créer une nouvelle interface vers un réseau
à part, accessible aussi bien du réseau interne que de l'extérieur, sans pour autant risquer
de compromettre la sécurité de l'entreprise. On parle ainsi de zone démilitarisé
(souvent notée DMZ pour DeMilitarized Zone) pour désigner cette zone isolée hébergeant
des applications mises à disposition du public.
Dans le cas où la zone protégée se limite à l'ordinateur sur lequel le firewall est installé
on parle de firewall personnel.
Un système pare-feu contient un ensemble de règles prédéfinies permettant :
Le choix de l'une ou l'autre de ces méthodes dépend de la politique de
sécurité adoptée par l'entité désirant mettre en oeuvre un filtrage
des communications. La première méthode est sans nul doute la plus sûre, mais elle impose
toutefois une définition précise et contraignante des besoins en terme de communication.
Le fonctionnement des systèmes pare-feu, historiquement assuré par les routeurs,
est basé sur le principe du filtrage de paquets IP, c'est-à-dire sur l'analyse
des en-têtes des paquets IP (aussi appelés datagrammes) échangés
entre deux machines. En effet les machines d'un réseau relié à Internet
sont repérées par une adresse appelée adresse IP.
Ainsi, lorsqu'une machine de l'extérieur se connecte à une machine du réseau
local, et vice-versa, les paquets de données passant par le firewall contiennent les en-têtes
suivants, qui sont analysés par le firewall:
- L'adresse IP de la machine émettrice
- L'adresse IP de la machine réceptrice
- Le type de paquet (TCP, UDP, ...)
- Le numéro de port (rappel: un port est un numéro associé à un service ou une application réseau)
Les adresses IP contenues dans les paquets permettent d'identifier la machine émettrice et la machine cible, tandis que
le type de paquet et le numéro de port donnent une indication sur le type de service utilisé. Lorsque le filtrage
est basé sur les adresses IP on parle de filtrage par adresse (adress filtering), tandis que
le terme de filtrage par protocole (protocol filtering) est utilisé lorsque le type de paquets et le port sont analysés.
Certains ports sont associés à des service courants (les ports 25 et 110 sont généralement associés au courrier électronique,
et le port 80 au Web) et ne sont généralement pas bloqués.
Toutefois, il est recommandé de bloquer tous les ports qui ne sont pas indispensables (selon la politique de sécurité retenue).
Le port 23 par exemple est critique car il correspond au service
Telnet qui permet d'émuler un accès par terminal à une machine du réseau
de manière à pouvoir exécuter des commandes saisies au clavier à distance...
Le fonctionnement décrit ci-dessus ne s'attache qu'à examiner les paquets IP, ce qui
correspond au niveau 3 du modèle OSI. Or, de nombreux services (le FTP par exemple) initient
une connexion sur un port statique, mais ouvrent dynamiquement (c'est-à-dire de manière aléatoire)
un port afin d'établir une session entre la machine faisant office de serveur et la machine cliente.
Ainsi, il est impossible de prévoir les ports à laisser passer ou à interdire. Pour y remédier,
l'entreprise Check point a breveté un système de filtrage dynamique de paquets
(le terme anglo-saxon exact étant stateful inspection) basé sur l'inspection des couches
3 et 4 du modèle OSI, permettant d'effectuer un suivi des transactions entre le client et le serveur
et donc d'assurer la bonne circulation des données de la session en cours.
Si le filtrage dynamique est plus performant que le filtrage de paquets basique, il
ne protège pas pour autant de failles applicatives, c'est-à-dire les failles liées aux logiciels,
représentant la part la plus importante des risques en terme de sécurité.
Le filtrage applicatif permet, comme son nom l'indique, de filtrer les communications
application par application, ce qui signifie qu'il travaille au niveau de la couche 7
du modèle OSI.
Le filtrage applicatif suppose donc une connaissance
de l'application, et notamment de la manière de laquelle elle structure les données échangées.
Un firewall effectuant un filtrage applicatif est appelé
passerelle applicative car il permet de relayer des informations entre deux réseaux
en effectuant un filtrage fin au niveau du contenu des paquets échangés. Il s'agit donc d'un dispositif
performant assurant une bonne protection du réseau, pour peu qu'il soit correctement administré.
En contrepartie une analyse fine des données applicatives requiert une grande puissance de calcul
et se traduit donc souvent par un ralentissement des communications.
Le fait d'installer un firewall n'est bien évidemment pas signe de sécurité absolue.
Les firewalls ne protègent en effet que des communications passant à travers eux.
Ainsi, les accès au réseau extérieur non réalisés au travers du firewall sont
autant de failles de sécurité. C'est par exemple le cas des connexions effectuées à
l'aide d'un modem. D'autre part, le fait d'introduire des supports de stockage provenant de l'extérieur
sur des machines internes au réseau peut être fort préjudiciable pour la sécurité
de ce dernier.
La mise en place d'un firewall doit donc se faire en accord avec une véritable politique de
sécurité. D'autre part la mise en place d'un système pare-feu n'exempt pas de se tenir
au courant des failles de sécurité et d'essayer de les minimiser...
|