Firewall ou pare-feu : guide de la sécurité informatique
Le par
khaalel (iTeam)
| 4 commentaire(s)
- Introduction
- Définitions et politique de sécurité
- Mettre en place une politique de sécurité
- Social engineering et hackers
- Fonctionnement des pare-feu
- Virtual Private Network
- Les différents types de firewalls
- Protocoles, Ports et DMZ
- Conclusion

Qu'est-ce qu'un firewall ' Comment fonctionne un pare-feu ' Quels sont les règles de sécurité à adopter et les moyens mis à notre disposition pour assurer notre sécurité. Les réponses dans ce guide.
Introduction
I] Introduction
Nous allons, au fil de ces pages, vous introduire dans le monde des firewalls ou en bon français des pare-feu. Un firewall est, en quelque sorte, une porte blindée qui se situe à l’endroit où votre réseau s’arrête et Internet commence. Il est de coutume que les spécialistes en sécurité en informatique fassent une analogie entre les firewalls et les frontières des états : nous n’allons pas déroger à la coutume et s’exécuter.
Nous allons, au fil de ces pages, vous introduire dans le monde des firewalls ou en bon français des pare-feu. Un firewall est, en quelque sorte, une porte blindée qui se situe à l’endroit où votre réseau s’arrête et Internet commence. Il est de coutume que les spécialistes en sécurité en informatique fassent une analogie entre les firewalls et les frontières des états : nous n’allons pas déroger à la coutume et s’exécuter.
Donc comme nous le disions, une analogie avec les états est possible. Chaque gouvernement / nation / état peut ouvrir ses frontières et décider de sécuriser / protéger chaque ville. A une époque, Internet fonctionna de cette manière : on y plaçait des machines ( serveurs et / ou clients ) et chaque administrateur devait sécuriser les machines dont il avait la charge une à une. Mais bon, cela était ainsi avant 1989-1990 à une époque où il y avait très peu d’attaques ( en 1988, le CERT – pour Computer Emergency Response Team - en lista seulement 6 ).

Comme il est facile de se l’imaginer, plus il y avait de machines plus les administrateurs se
rendirent compte que ce fonctionnement devenait lourd, ennuyant,
inutile et surtout dangereux dans le fait que les pirates pouvaient
accéder au réseau, le polluer et exploiter la bande passante. Les
grandes universités qui possédaient des connexions réseaux commencèrent
à se rendre compte de ce problème très tôt ( dès le début des années
1990 ) : heureusement pour eux !!!
Une deuxième solution pointa son nez : sécuriser un ensemble de machines avec la même politique de sécurité ( nous définirons cette notion un peu plus tard ) regroupées dans un seul et même réseau. C’est ainsi que fonctionne la sécurité intérieure des états : des frontières physiques sont établies et on applique les mêmes règles ( la plupart du temps en tout cas ) au sein de cet espace formant l’état.
Pour en revenir à notre article, les firewalls sont comme ces frontières délimitant un espace où se trouvent les machines à protéger. Mais dans le cas d’un réseau informatique, les frontières / limites sont plus virtuelles que physiques : cela est dû à la nature même de l’ Internet qui a pour but de lier les réseaux du monde entier et qui sont donc séparés physiquement. Maintenant que la mise en bouche est finie, rentrons dans le vif du sujet en commençant par une définition précise et concise d'un pare-feu.
../..
Définitions et politique de sécurité
II] Définition, but et baratin de management de sécurité« Un
mur pare-feu (traduction française de Firewall) est un système ou un
logiciel qui va analyser et contrôler le trafic entre votre système,
Internet et d’autres systèmes dans tous les sens possibles dans le but
de sécuriser votre ordinateur / réseau au maximum. »
Définition tirée de l’ouvrage "La protection des sites informatiques face au hacking".« Un firewall est un système ou un groupe de systèmes qui appliquent une politique de sécurité entre plusieurs réseaux / machines ».

Une
politique de sécurité, de l’anglais security policies, est un ensemble
de règles ( on peut aussi dire de lois, mais je n’aime guère employer ce
terme ) et de pratiques qu’une entreprise met en œuvre dans le but de
définir le rôle que doivent avoir des systèmes ( et aussi des personnes
comme les administrateurs et les utilisateurs ) et dans l’optique de
sécuriser au mieux l’infrastructure de l’organisation sans entraver la
commodité des utilisateurs et leur confiance dans un système
d’information. Iimaginez qu’à cause de réglages / maintenance / analyse
anti-virale, etc., dus à la politique de sécurité, le serveur de mail soit
bloqué pendant quelque instants par soir !
Certains me diront que travailler sur le serveur de mail le soir ne gênera personne, et bien si, il peut y avoir des utilisateurs exilés au Japon qui n’ont pas le même fuseau horaire que nous : je parle du Japon car j’ai eu un jour l’occasion d’entendre une DRH en voyage d’affaires au Japon qui ne pouvait pas accéder à sa boîte mail car cette dernière avait été déconnectée pour analyse antivirale : je vous assure, ce n’était pas beau à entendre !!!.
Certains me diront que travailler sur le serveur de mail le soir ne gênera personne, et bien si, il peut y avoir des utilisateurs exilés au Japon qui n’ont pas le même fuseau horaire que nous : je parle du Japon car j’ai eu un jour l’occasion d’entendre une DRH en voyage d’affaires au Japon qui ne pouvait pas accéder à sa boîte mail car cette dernière avait été déconnectée pour analyse antivirale : je vous assure, ce n’était pas beau à entendre !!!.
Mettre
en place une politique de sécurité est assez complexe parfois et cela
nécessite un article entier, mais je vais vous donner quelques
techniques ( assez basiques, il est vrai ) pour rédiger une « petite »
politique.
Avant tout, il faut savoir qu’une politique de sécurité doit répondre aux 4 questions suivantes :
Avant tout, il faut savoir qu’une politique de sécurité doit répondre aux 4 questions suivantes :
- Des
techniques de sécurisation et des règles claires, précises et concises
ont-elles bien été mises en œuvre dans les différents services de
l’organisation '
- Chaque système d’information a-t-il bien son cadre d’utilisation '
- S’il y a un problème, le service informatique ( et les utilisateurs dans un second temps ) savent-ils à qui s’adresser '
- Est-ce que des sessions de formation et de sensibilisation ont lieu '
../..
Mettre en place une politique de sécurité
Pour mettre en place une politique de sécurité, nous allons utiliser la
solution la plus rudimentaire. Nous allons prendre 3 feuilles, un
crayon et une gomme.
Sur la première feuille, il faut marquer
les besoins des utilisateurs ( par exemple: pouvoir envoyer des emails
de manière sécurisée... ), sur la deuxième feuille, il faut noter les
règles de sécurité qui nous semblent être les meilleures. Enfin, sur la
troisième feuille, à l'aide des deux feuilles précédentes, on va essayer
de faire des compromis, car la sécurité est quand même l'ensemble des
techniques permettant d'empêcher les pertes ( de matériel, de bande
passante, économiques... ) et le but est de créer un équilibre entre
sécurité et commodité.
Les administrateurs informatiques ne devraient pas avoir à écrire ce document ( en tout cas tout seul ! ), cette tâche devrait être confiée au RSSI – Responsables de la Sécurité des Systèmes d’Information – et aux responsables hiérarchiques de chaque type d’utilisateurs de l’entreprise - il peut y avoir des développeurs, des spécialistes base de données, des physiciens, des automaticiens, des commerciaux, des designers etc., et ils ont tous des besoins spécifiques qu’un administrateur ne peut connaître.
Voici maintenant des règles que doivent observer les personnes s'occupant du réseau :
Les administrateurs informatiques ne devraient pas avoir à écrire ce document ( en tout cas tout seul ! ), cette tâche devrait être confiée au RSSI – Responsables de la Sécurité des Systèmes d’Information – et aux responsables hiérarchiques de chaque type d’utilisateurs de l’entreprise - il peut y avoir des développeurs, des spécialistes base de données, des physiciens, des automaticiens, des commerciaux, des designers etc., et ils ont tous des besoins spécifiques qu’un administrateur ne peut connaître.
Voici maintenant des règles que doivent observer les personnes s'occupant du réseau :
- Choisir des mots de passe de plus de 8 caractères contenant des
lettres, des chiffres et des caractères spéciaux (comme /, *, -, +, \,
|, @, (, ), [, ], = ...)
- Ne pas centraliser des composants réseaux ( firewalls, IDS... ) sur un même poste.
- Ne jamais utiliser les configurations par défaut des logiciels et des systèmes d'exploitation.
- En ce qui concerne les virus, analyser les pièces jointes des
emails, mais aussi les en-têtes MIME, SMTP, HTTP, les balises HTML,
les codes javascripts, et désactiver l'exécution des macros VBS.
- Pour les navigateurs, il faut privilégier OPERA ou Firefox à Internet Explorer.
- Pour les systèmes d'exploitation, il faut privilégier Linux à Windows.
- Il faut former les personnes aux problèmes de sécurité. Cela est très important, car derrière ces problèmes il y a souvent une incompréhension des principes de sécurité.
Ces principes peuvent
s’appliquer à une entreprise mais aussi au sein d’une famille car ce
sont des règles générales que tout un chacun doit appliquer.
Pour information, bien que je fasse un article sur les pare-feux ( ça pourrait aussi bien être sur les antivirus ), cela fait quelques temps que je n’utilise plus de firewall : je fais régulièrement un check up de mes machines ( à peu près tous les mois ). Et pendant tout ce temps, aucun virus, vers, ou autres cochonneries de ce genre ne sont venus me perturber car je m’astreins à respecter des règles que j’ai mises en place. J’ai même du demander à un ami de me laisser utiliser son ordinateur pour pouvoir récupérer Sasser & co pour les disséquer et explorer les listings ASM que me donne mon désassembleur.
Dans la suite de cet article, nous allons parler de l’aspect technique des firewalls. Cette longue introduction et définition ont eu pour but de montrer que bien qu’un firewall est très important sur un système et, à plus grande échelle, dans un réseau informatique, ce formidable outil est loin d’être la solution miracle. La sécurité à 100% n’existe pas et pleins d’autres facteurs vont pouvoir permettre à un pirate d’infiltrer votre ordinateur / votre réseau même si vous possédez le firewall dernier cri de la société de Gil Shwed, fondateur et Président de Check Point. Ce gars est un vrai modèle / mentor : parcours atypique qui inspire le respect.
Pour information, bien que je fasse un article sur les pare-feux ( ça pourrait aussi bien être sur les antivirus ), cela fait quelques temps que je n’utilise plus de firewall : je fais régulièrement un check up de mes machines ( à peu près tous les mois ). Et pendant tout ce temps, aucun virus, vers, ou autres cochonneries de ce genre ne sont venus me perturber car je m’astreins à respecter des règles que j’ai mises en place. J’ai même du demander à un ami de me laisser utiliser son ordinateur pour pouvoir récupérer Sasser & co pour les disséquer et explorer les listings ASM que me donne mon désassembleur.
Dans la suite de cet article, nous allons parler de l’aspect technique des firewalls. Cette longue introduction et définition ont eu pour but de montrer que bien qu’un firewall est très important sur un système et, à plus grande échelle, dans un réseau informatique, ce formidable outil est loin d’être la solution miracle. La sécurité à 100% n’existe pas et pleins d’autres facteurs vont pouvoir permettre à un pirate d’infiltrer votre ordinateur / votre réseau même si vous possédez le firewall dernier cri de la société de Gil Shwed, fondateur et Président de Check Point. Ce gars est un vrai modèle / mentor : parcours atypique qui inspire le respect.
Gil Shwed, fondateur et Président de Check
Point
Un firewall pourra, généralement, vous
protéger des attaques DoS peu évoluées, des connexions non désirées
provenant d’Internet, de quelques attaques de vers / virus, des
grotesques outils de tunneling avec lesquels des pirates inexpérimentés
pensent pouvoir contrôler votre réseau… Mais contre des attaques
évoluées, du Social Engineering, des backdoors ( portes dérobées ), des
disquettes / CDs vérolés importés par les utilisateurs, des attaques
internes… un firewall ne pourra absolument rien faire.
../..
Social engineering et hackers
Le social
engineering n'est pas une technique de piratage mais une technique
millénaire servant à se faire passer pour une autre personne.
Cette technique est très souvent utilisée par les pirates informatiques dans le but d'obtenir des identifiants, des mots de passe, des numéros de cartes de crédit ou pour que les personnes contactées exécutent ou leur fournissent ce qu’ils recherchent.
Le trashing consiste à faire les poubelles de la cible dans le but de trouver des informations intéressantes ( vous ne vous imaginez pas ce que l'on peut y trouver si on a de la chance ). Comme le social engineering, cette technique n'est pas spécifique au piratage mais peut grandement aider.

Pour résumer, dès que l’on a envie de connecter son ordinateur personnel ( ou son réseau ) à Internet, il faut mettre en place des systèmes de sécurité car il existe une infinité de fauteurs de trouble qui, très généralement, copient des logiciels et techniques de vrais hackers pour essayer de mettre le bazar dans vos biens numériques, se vantent la plupart du temps sur des chats pour des choses d’une simplicité inimaginable ou pour des choses qu’ils n’ont pas faites, utilisent des noms à faire rire avec une syntaxe illisible, ou sinon il y a, dans une proportion moins grande heureusement, de vrais crashers ( ou encore Black Hat Hackers ) qui vont exploiter leur expertise en hacking et pénétration de systèmes pour mettre le bazar, vous voler des informations, créer un zombie…
Toutefois, ne pensez pas qu’un firewall ne vous servira à rien car il y a peu de chance pour être attaqué. Cela est totalement faux car assez souvent le choix des cibles se fait aléatoirement. De plus, à moins que vous n'appliquiez quotidiennement les patchs de sécurité fournis par les logiciels que vous utilisez, à commencer par le plus grand cheval de Troie de l’univers : j’ai nommé Windows de mon ami le philanthrope et homme de l’année, vous êtes vulnérables à une attaque.

Il n’est pas nécessaire d’investir dans une infrastructure coûteuse et lourde et / ou dans des logiciels aux prix exorbitants qui vont être censés sécuriser vos données. Une chose est à faire d’abord : se poser avec d’autres membres de la famille / entreprise pour déterminer les règles auxquelles chacun doit s’astreindre, décider de quels systèmes utiliser et comment les utiliser puis établir ce que l’on appelle une politique de sécurité ( ou si le terme vous fait peur : « une charte sympathique décrivant le but de chaque système et les petites règles que doivent suivre les utilisateurs s’ils ne veulent pas voir leur compte mail et les photos des dernières vacances avec la grand-mère voler en éclat »).
Cette technique est très souvent utilisée par les pirates informatiques dans le but d'obtenir des identifiants, des mots de passe, des numéros de cartes de crédit ou pour que les personnes contactées exécutent ou leur fournissent ce qu’ils recherchent.
Le trashing consiste à faire les poubelles de la cible dans le but de trouver des informations intéressantes ( vous ne vous imaginez pas ce que l'on peut y trouver si on a de la chance ). Comme le social engineering, cette technique n'est pas spécifique au piratage mais peut grandement aider.

Pensez à vider régulièrement votre corbeille !
Pour résumer, dès que l’on a envie de connecter son ordinateur personnel ( ou son réseau ) à Internet, il faut mettre en place des systèmes de sécurité car il existe une infinité de fauteurs de trouble qui, très généralement, copient des logiciels et techniques de vrais hackers pour essayer de mettre le bazar dans vos biens numériques, se vantent la plupart du temps sur des chats pour des choses d’une simplicité inimaginable ou pour des choses qu’ils n’ont pas faites, utilisent des noms à faire rire avec une syntaxe illisible, ou sinon il y a, dans une proportion moins grande heureusement, de vrais crashers ( ou encore Black Hat Hackers ) qui vont exploiter leur expertise en hacking et pénétration de systèmes pour mettre le bazar, vous voler des informations, créer un zombie…
Toutefois, ne pensez pas qu’un firewall ne vous servira à rien car il y a peu de chance pour être attaqué. Cela est totalement faux car assez souvent le choix des cibles se fait aléatoirement. De plus, à moins que vous n'appliquiez quotidiennement les patchs de sécurité fournis par les logiciels que vous utilisez, à commencer par le plus grand cheval de Troie de l’univers : j’ai nommé Windows de mon ami le philanthrope et homme de l’année, vous êtes vulnérables à une attaque.

Il n’est pas nécessaire d’investir dans une infrastructure coûteuse et lourde et / ou dans des logiciels aux prix exorbitants qui vont être censés sécuriser vos données. Une chose est à faire d’abord : se poser avec d’autres membres de la famille / entreprise pour déterminer les règles auxquelles chacun doit s’astreindre, décider de quels systèmes utiliser et comment les utiliser puis établir ce que l’on appelle une politique de sécurité ( ou si le terme vous fait peur : « une charte sympathique décrivant le but de chaque système et les petites règles que doivent suivre les utilisateurs s’ils ne veulent pas voir leur compte mail et les photos des dernières vacances avec la grand-mère voler en éclat »).
../..
Fonctionnement des pare-feu
III] Fonctionnement des firewalls ( architectures et règle du tout ou rien )
Le
fonctionnement des pare-feu n’est pas très complexe à comprendre dès
que l’on a quelques bases en protocoles et réseaux. C’est pour cela
que nous reviendrons sur les notions de base à avoir sur les
protocoles, TCP/IP, les réseaux et les DMZ : ces « petits réseaux »
dans le réseau de l’organisation abritent les machines qui sont
directement accessibles par Internet. Ces machines peuvent être des
serveurs HTTP / HTTPS, des serveurs FTP, des systèmes de mails, des
firewalls, des serveurs plus spécifiques à l’activité de l’entreprise…
Un firewall va capturer des paquets réseaux transitants entre Internet et le réseau interne de l’entreprise. A l’aide de quelques informations que l’administrateur configure lors de l’installation du firewall, ce dernier va être capable de réaliser des actions en fonction du paquet qu’il reçoit. Si, par exemple, il reçoit un paquet provenant d’une adresse Internet que l’administrateur a autorisée, le paquet pourra continuer son chemin dans le réseau de l’entreprise. Si l’administrateur a donné comme ordre au firewall de bloquer l’accès à des sites pornographiques ou de jeux en ligne, ce dernier ne laissera pas passer les paquets qui vont à l’encontre de la règle établie.
Un firewall va capturer des paquets réseaux transitants entre Internet et le réseau interne de l’entreprise. A l’aide de quelques informations que l’administrateur configure lors de l’installation du firewall, ce dernier va être capable de réaliser des actions en fonction du paquet qu’il reçoit. Si, par exemple, il reçoit un paquet provenant d’une adresse Internet que l’administrateur a autorisée, le paquet pourra continuer son chemin dans le réseau de l’entreprise. Si l’administrateur a donné comme ordre au firewall de bloquer l’accès à des sites pornographiques ou de jeux en ligne, ce dernier ne laissera pas passer les paquets qui vont à l’encontre de la règle établie.
Ces
ordres que l’administrateur a donnés au firewall sont ce que l’on
appelle des règles ou plus généralement, dans le jargon des hackers et
consultants, des ACL pour Access Control List, ou, en français, des listes
de contrôle d’accès. Ils peuvent être définis de diverses manières : en
créant des scripts de configuration comme sous Linux avec IPTABLE ou
comme avec certains routeurs firewall CISCO. Ils peuvent aussi être
créés à l’aide d’une interface graphique qui va permettre à
l’utilisateur de cocher des cases, de sélectionner tout un ensemble
d’éléments.
J’ai volontairement changé de terme : j’ai tronqué administrateur pour utilisateur car généralement configurer un firewall réseau à l’aide de scripts est mieux que présélectionner des options avec des outils de configurations graphiques qui préfèrent la simplicité d’utilisation à l’exhaustivité et la prise en main du firewall à l’aide d’un mode expert. Bon, j’ai entendu parler, il y a quelques temps, d’un outil fonctionnant sous KDE qui permettait de configurer ses règles IPTABLE graphiquement : ne l’ayant jamais utilisé, je n’oserais pas généraliser ma dernière phrase.
Mais il faut quand même savoir qu’installer et connecter à son réseau un firewall tout-en-un, livré dans un beau papier cadeau n’est pas une bonne idée, même si la documentation vous affirme qu’il est configuré par défaut et que seuls quelques paramétrages sont nécessaires au départ : c’est comme installer Windows 2000 / XP comme serveur Web / serveur de fichiers avec la configuration de base : NetBIOS activé, une liste des services en train de tourner accessible grâce à une simple énumération, des clés de la base de registre consultables à l’aide de DumpReg, la possibilité d’utiliser le service SFTP de base inclus dans Windows pour faire ce que l’on veut…( ne rigolez pas !!! j’en ai déjà vu et heureusement que je suis gentil car même un coup de vent ferait tomber les serveurs un à un :P ).
J’ai volontairement changé de terme : j’ai tronqué administrateur pour utilisateur car généralement configurer un firewall réseau à l’aide de scripts est mieux que présélectionner des options avec des outils de configurations graphiques qui préfèrent la simplicité d’utilisation à l’exhaustivité et la prise en main du firewall à l’aide d’un mode expert. Bon, j’ai entendu parler, il y a quelques temps, d’un outil fonctionnant sous KDE qui permettait de configurer ses règles IPTABLE graphiquement : ne l’ayant jamais utilisé, je n’oserais pas généraliser ma dernière phrase.
Mais il faut quand même savoir qu’installer et connecter à son réseau un firewall tout-en-un, livré dans un beau papier cadeau n’est pas une bonne idée, même si la documentation vous affirme qu’il est configuré par défaut et que seuls quelques paramétrages sont nécessaires au départ : c’est comme installer Windows 2000 / XP comme serveur Web / serveur de fichiers avec la configuration de base : NetBIOS activé, une liste des services en train de tourner accessible grâce à une simple énumération, des clés de la base de registre consultables à l’aide de DumpReg, la possibilité d’utiliser le service SFTP de base inclus dans Windows pour faire ce que l’on veut…( ne rigolez pas !!! j’en ai déjà vu et heureusement que je suis gentil car même un coup de vent ferait tomber les serveurs un à un :P ).
Normalement, les sections Internet et réseau de votre
politique établie préalablement devraient être les versions
« littéraires » de ces ACLs.
Tous les firewalls, dignes de ce nom, assurent au moins les 3 fonctions suivantes :
Tous les firewalls, dignes de ce nom, assurent au moins les 3 fonctions suivantes :
- Filtrage par paquet
- NAT (Network Address Translation)
- Proxy
../..
Virtual Private Network
Des
firewalls un peu plus complets vous permettrons de protéger votre
réseau à toutes les couches : de la couche Liaison de Données
( Ethernet ) à la couche Application ( HTTP… ). Cela veut dire, entre autres,
qu’ils sont capables de bloquer des requêtes par filtrage de contenu.
Le filtrage par contenu consiste à analyser un trafic non seulement au
niveau de la formation des paquets réseaux sous-jacents ( IP – TCP - … )
mais aussi au niveau du contenu que véhiculent les paquets de la couche
Application. Cela va demander au pare-feu de posséder une base
d’analyse antivirale pour bloquer par exemple des codes ActiveX,
Javascript, VBS, Java… La possibilité de créer des réseaux VPN ( Virtual
Private Network ou encore Réseau virtuel privé ) peut être une option
non négligeable des firewalls.
« Le Réseau privé virtuel ( VPN ou
Virtual Private Network, en anglais ), est une extension des réseaux
locaux qui procure une norme de sécurité en télécommunications.
Un bon compromis consiste à utiliser Internet comme support de transmission en utilisant un protocole de « tunnelisation » ( en anglais tunneling ), c'est-à-dire encapsulant les données à transmettre de façon chiffrée. On parle alors de réseau privé virtuel ( aussi appelé VPN, acronyme de Virtual Private Network ) pour désigner le réseau ainsi artificiellement créé. Ce réseau est dit virtuel car il relie deux réseaux « physiques » ( réseaux locaux ) par une liaison non fiable ( Internet ), et privée car seuls les ordinateurs des réseaux locaux de part et d'autre du VPN peuvent « voir » les données.
Un bon compromis consiste à utiliser Internet comme support de transmission en utilisant un protocole de « tunnelisation » ( en anglais tunneling ), c'est-à-dire encapsulant les données à transmettre de façon chiffrée. On parle alors de réseau privé virtuel ( aussi appelé VPN, acronyme de Virtual Private Network ) pour désigner le réseau ainsi artificiellement créé. Ce réseau est dit virtuel car il relie deux réseaux « physiques » ( réseaux locaux ) par une liaison non fiable ( Internet ), et privée car seuls les ordinateurs des réseaux locaux de part et d'autre du VPN peuvent « voir » les données.
Le système de
VPN permet donc d'obtenir une liaison sécurisée à moindre coût, si ce
n'est la mise en œuvre des équipements terminaux. En contrepartie, il ne
permet pas d'assurer une qualité de service comparable à une ligne
louée dans la mesure où le réseau physique est public et donc non
garanti. »
Un autre élément non négligeable est la tolérance aux pannes : un peu comme certaines configurations en RAID des disques durs, les firewalls fonctionnent par deux, un des firewalls servant à assurer la sécurité du réseau si un problème arrive au premier firewall.
Ne pensez pas que je sois d’accord avec le principe d’ajouter des fonctionnalités de jour en jour aux firewalls : je suis un inconditionnel du principe KISS ( Keep It Simple, Stupid ), un principe ( certains disent aussi une maxime ) repris par bon nombre de développeurs et professionnels en architecture réseau qui prônent qu’un logiciel / système simple et dédié à une tâche précise est plus simple à comprendre / administrer. Mais pouvoir intégrer par défaut la tolérance aux pannes, le filtrage par contenu ( sans pour autant oublier d’installer des antivirus dans le réseau ) serait une bonne chose.
Mais avant de partir dans toutes ces considérations purement théoriques et sujettes à polémiques, revenons quelques secondes sur les trois architectures de base des firewalls.
Définition tirée de la célèbre encyclopédie libre, Wikipedia.
Un autre élément non négligeable est la tolérance aux pannes : un peu comme certaines configurations en RAID des disques durs, les firewalls fonctionnent par deux, un des firewalls servant à assurer la sécurité du réseau si un problème arrive au premier firewall.
Ne pensez pas que je sois d’accord avec le principe d’ajouter des fonctionnalités de jour en jour aux firewalls : je suis un inconditionnel du principe KISS ( Keep It Simple, Stupid ), un principe ( certains disent aussi une maxime ) repris par bon nombre de développeurs et professionnels en architecture réseau qui prônent qu’un logiciel / système simple et dédié à une tâche précise est plus simple à comprendre / administrer. Mais pouvoir intégrer par défaut la tolérance aux pannes, le filtrage par contenu ( sans pour autant oublier d’installer des antivirus dans le réseau ) serait une bonne chose.
Mais avant de partir dans toutes ces considérations purement théoriques et sujettes à polémiques, revenons quelques secondes sur les trois architectures de base des firewalls.
../..
Les différents types de firewalls
Il y a 3 principaux types de firewalls :- les firewalls filtrant par paquets
- les firewalls Proxy
- les inspecteurs d’état
Les
pare-feu filtrant par paquets sont les plus simples à créer et mettre
en place. Ils vont dans un premier temps capturer les paquets réseaux
transitant par leur interface réseau et extraire diverses informations
comme l’adresse IP de l’ émetteur de paquet, l’ adresse IP du
destinataire, le type du paquet ( cela est généralement défini sur les
couches 2 et 3 du modèle OSI ). Ces informations seront comparées aux
règles définies par les ACLs.
Le gros avantage de ces firewalls est la rapidité d’exécution car tout est réalisé sur les couches 3 et inférieures donc il n’est pas nécessaire de développer des composants lourds et complexes d’analyse de protocoles de haut niveau comme le HTTP…
Mais tout à un prix, ces firewalls ne sont absolument pas sécurisés, les ACLs peuvent être bypassées ( contournées ), des piratages assez basiques ( tunneling, firewalking, capture SNMP, fragmentation des paquets… ) pour certains seront possibles, des attaques de type refus de services pourront aussi être perpétrées.
Le gros avantage de ces firewalls est la rapidité d’exécution car tout est réalisé sur les couches 3 et inférieures donc il n’est pas nécessaire de développer des composants lourds et complexes d’analyse de protocoles de haut niveau comme le HTTP…
Mais tout à un prix, ces firewalls ne sont absolument pas sécurisés, les ACLs peuvent être bypassées ( contournées ), des piratages assez basiques ( tunneling, firewalking, capture SNMP, fragmentation des paquets… ) pour certains seront possibles, des attaques de type refus de services pourront aussi être perpétrées.
Une
version évoluée des firewalls par filtrage de paquets était plus que
nécessaire. Ainsi apparurent les firewalls qui inspectent l’état des
paquets. Qu’est-ce que cela veut dire ' A chaque fois qu’une connexion
est effectuée ou terminée entre des systèmes d’un réseau interne de
l’entreprise et des systèmes accessibles par l’intermédiaire
d’Internet, le firewall créé et met à jour une table en mémoire qui
recense l’état des différentes connexions que le firewall a eu
l’occasion de gérer. Quand un paquet passera par son interface, si
celle-ci appartient à une connexion légitime elle sera transmise, sinon
elle sera étudiée plus en profondeur par le firewall, suivant les ACLs
que l’administrateur a créées.
Ces firewalls analysent les trames réseaux des protocoles de haut niveau ( 4 et plus ) et pas seulement les paquets de bas niveau comme le font les firewalls de filtrage par paquets. Niveau avantages, c’est plus de sécurité, un meilleur contrôle du trafic transitant par le système de protection… Mais j’ai noté un gros problème, le manque de flexibilité de ce genre de firewalls. Ce n’est pas un très grand problème de sécurité mais cela peut compliquer l’administration de la machine si des composants / plugins doivent être ajoutés à chaud. De plus, plus il y a de trafic, plus la taille de la table grandit, plus le traitement est long, plus le firewall est lent…
Comme les firewalls sont à la bordure du réseau, ils peuvent aussi servir à protéger / contrôler l’accès à Internet qui est réalisé par les employés. Cela est réalisé à l’aide d’un serveur proxy.
Ces firewalls analysent les trames réseaux des protocoles de haut niveau ( 4 et plus ) et pas seulement les paquets de bas niveau comme le font les firewalls de filtrage par paquets. Niveau avantages, c’est plus de sécurité, un meilleur contrôle du trafic transitant par le système de protection… Mais j’ai noté un gros problème, le manque de flexibilité de ce genre de firewalls. Ce n’est pas un très grand problème de sécurité mais cela peut compliquer l’administration de la machine si des composants / plugins doivent être ajoutés à chaud. De plus, plus il y a de trafic, plus la taille de la table grandit, plus le traitement est long, plus le firewall est lent…
Comme les firewalls sont à la bordure du réseau, ils peuvent aussi servir à protéger / contrôler l’accès à Internet qui est réalisé par les employés. Cela est réalisé à l’aide d’un serveur proxy.
« Un serveur
mandataire ou serveur proxy est un serveur qui a pour fonction de
relayer différentes requêtes et d'entretenir un cache des réponses.
Inventé par le Centre européen de recherche nucléaire en 1994, à
l'origine pour relier à Internet des réseaux locaux n'utilisant pas le
protocole TCP / IP, il a été depuis doté de nouvelles fonctions
concernant :
- le cache ;
- l'enregistrement (logging) des requêtes ;
- la sécurité du réseau local ;
- le filtrage et l'anonymat.
Aujourd'hui, les réseaux locaux utilisent le protocole TCP/IP et peuvent être reliés à Internet via une simple passerelle ou un routeur. » ( Définition tirée de l' encyclopédie libre Wikipedia )
- le cache ;
- l'enregistrement (logging) des requêtes ;
- la sécurité du réseau local ;
- le filtrage et l'anonymat.
Aujourd'hui, les réseaux locaux utilisent le protocole TCP/IP et peuvent être reliés à Internet via une simple passerelle ou un routeur. » ( Définition tirée de l' encyclopédie libre Wikipedia )
Un
serveur Proxy agit généralement dans les hautes couches de la pile de
protocoles TCP / IP. Cela permet par exemple de filtrer certaines Url,
de bloquer l’accès à certains sites et de réaliser plein d’autres
actions de contrôle et sécurisation du réseau interne de l’entreprise.
Voila, nous en avons fini avec la présentation de l’architecture d’un firewall. Avant de passer à la suite, je veux vous donner la phrase résumant le fonctionnement d’un firewall vis-à-vis des ACLs.
Voila, nous en avons fini avec la présentation de l’architecture d’un firewall. Avant de passer à la suite, je veux vous donner la phrase résumant le fonctionnement d’un firewall vis-à-vis des ACLs.
Un firewall refuse et interdit tout ce qui n’a pas été explicitement autorisé.
../..
Protocoles, Ports et DMZ
IV] Flash-back sur les protocoles, les ports et les DMZ
TCP/IP est une pile de protocoles qui sert à faire communiquer entre elles
des machines hétérogènes. Elle repose sur le modèle OSI ( pour Open
System Interconnect ) un ensemble de spécifications, créées en 1984, sur
la structuration des protocoles et des systèmes. C’est cette fameuse
pile de protocole qui repose sur 7 couches.
Pour illustrer les couches du modèle OSI, je vais à nouveau me servir de mon ouvrage en prenant une image :
Pour illustrer les couches du modèle OSI, je vais à nouveau me servir de mon ouvrage en prenant une image :

Pour
une description plus précise du pourquoi et du but de chaque couche ( ou
niveau ), je vous redirige vers un article plus complet de Wikipedia.
Au dessus de ce modèle se sont mis en place des protocoles de communication qui vont, à l’aide de la définition d’un ensemble de règles, permettre à deux entités de communiquer et de s’envoyer des types de données bien précises. J’aime à dire que les protocoles mettent en place la partie méta communication d’un processus normal de communication. La partie méta communication consiste à s’assurer que les deux entités sont prêtes à communiquer, qu’elles s’échangent bien des informations et que des procédures sont appliquées en cas de problème sur le réseau.
Il existe une myriade de protocoles dont TCP, IP, UDP, ARP, RARP, ICMP, IGMP, SNMP, RIP, OSPF, BGP, EGP, DRP, IGRP, EIGRP, NCP, PPP, SMTP, FTP, POP/IMAP, DHCP, HTTP, OSPFIGP…
La DMZ ( zone démilitarisée ) est la seule zone ouverte à Internet : elle va contenir tous les éléments utilisant Internet dans leurs fonctionnements ou proposant des services sur le net ( comme les serveurs Web, FTP, mail… ) et elle va adopter des stratégies de défense visant à diminuer les possibilités d'attaque.
Au dessus de ce modèle se sont mis en place des protocoles de communication qui vont, à l’aide de la définition d’un ensemble de règles, permettre à deux entités de communiquer et de s’envoyer des types de données bien précises. J’aime à dire que les protocoles mettent en place la partie méta communication d’un processus normal de communication. La partie méta communication consiste à s’assurer que les deux entités sont prêtes à communiquer, qu’elles s’échangent bien des informations et que des procédures sont appliquées en cas de problème sur le réseau.
Il existe une myriade de protocoles dont TCP, IP, UDP, ARP, RARP, ICMP, IGMP, SNMP, RIP, OSPF, BGP, EGP, DRP, IGRP, EIGRP, NCP, PPP, SMTP, FTP, POP/IMAP, DHCP, HTTP, OSPFIGP…
La DMZ ( zone démilitarisée ) est la seule zone ouverte à Internet : elle va contenir tous les éléments utilisant Internet dans leurs fonctionnements ou proposant des services sur le net ( comme les serveurs Web, FTP, mail… ) et elle va adopter des stratégies de défense visant à diminuer les possibilités d'attaque.
V] Introduction au piratage des firewalls
Le
but n’est pas de faire de vous des hackers expérimentés en contournement
de firewalls, mais de vous montrer quelques outils et techniques
utilisés pour contourner des pare-feu, car ils peuvent être
contournés et transpercés et nous allons le voir dès maintenant.
V.1] Identification d'un firewall
Traceroute et tracert
Le monde des réseaux informatiques nous a offert ces deux magnifiques outils permettant de découvrir les chemins qu'un paquet emprunte pour aller jusqu'au destinataire. Grâce aux informations que renvoient traceroute et tracert, il est possible de détecter la présence d’un firewall :
Voici un tableau expliquant les flags d’envois et de retours des paquets.
Le monde des réseaux informatiques nous a offert ces deux magnifiques outils permettant de découvrir les chemins qu'un paquet emprunte pour aller jusqu'au destinataire. Grâce aux informations que renvoient traceroute et tracert, il est possible de détecter la présence d’un firewall :
-
Si
au dernier bond, l’adresse IP du destinataire n'apparaît pas, on peut
en conclure qu'il y a un système de filtrage de paquets.
- Si, en analysant bien les flags des paquets envoyés et reçus, on remarque qu'il y a une anomalie, on peut en conclure qu’il y a un système de filtrage de paquets.
Voici un tableau expliquant les flags d’envois et de retours des paquets.

Dans le jargon des hackers, on dit indifféremment flags et drapeaux.
../..
Conclusion
Balayage
Si le système de filtrage de paquets bloque ou ignore les paquets ICMP et UDP, il est possible d’utiliser un outil de scan comme nmap ( en désactivant le sondeur ping ICMP bien sûr ), hping, et firewallk ( qui utilise une technique proche de traceroute ).
Les bannières
Scanner les ports du système de filtrage pour obtenir son nom puis faire une recherche sur les failles spécifiques à ce système de filtrage de paquets. Ceci est la méthode la plus générale pour découvrir des failles sur un système d’information. Une autre possibilité s’offre à vous, essayer de récupérer les informations SNMP relatives au firewall : s’il y en a. Une autre possibilité s’offre à nous, s’il l’on connaît le nom du domaine auquel appartient le firewall, il peut être possible de réaliser un transfert de zone ( une requête DNS de type AXFR ).
Les ACLs ( Access Control List )
Avec cette technique, il faut essayer de déterminer ce que le système de filtrage de paquets autorise et ce qu’il n’autorise pas. Puis il sera possible ou non de trouver un moyen de contourner le firewall.
Nous pouvons essayer d’envoyer différents paquets ( ayant une modification au niveau de leur TTL, et étant fragmenté ) vers le système de filtrage de paquets cibles, puis forts de nos découvertes, il sera possible d’essayer de le contourner grâce à l’encapsulation de protocole, la fragmentation….
Si le système de filtrage de paquets bloque ou ignore les paquets ICMP et UDP, il est possible d’utiliser un outil de scan comme nmap ( en désactivant le sondeur ping ICMP bien sûr ), hping, et firewallk ( qui utilise une technique proche de traceroute ).
Les bannières
Scanner les ports du système de filtrage pour obtenir son nom puis faire une recherche sur les failles spécifiques à ce système de filtrage de paquets. Ceci est la méthode la plus générale pour découvrir des failles sur un système d’information. Une autre possibilité s’offre à vous, essayer de récupérer les informations SNMP relatives au firewall : s’il y en a. Une autre possibilité s’offre à nous, s’il l’on connaît le nom du domaine auquel appartient le firewall, il peut être possible de réaliser un transfert de zone ( une requête DNS de type AXFR ).
Les ACLs ( Access Control List )
Avec cette technique, il faut essayer de déterminer ce que le système de filtrage de paquets autorise et ce qu’il n’autorise pas. Puis il sera possible ou non de trouver un moyen de contourner le firewall.
Nous pouvons essayer d’envoyer différents paquets ( ayant une modification au niveau de leur TTL, et étant fragmenté ) vers le système de filtrage de paquets cibles, puis forts de nos découvertes, il sera possible d’essayer de le contourner grâce à l’encapsulation de protocole, la fragmentation….
VI] Firewalls personnels
Il
existe pas mal de firewalls personnels que vous pouvez installer sur
votre machine. Les plus connus sont Zone Alarm, firewall gratuit et
assez simple à prendre en main, ou bien encore Kerio. Google est un très
bon compagnon si vous recherchez des firewalls plus exotiques...
VII] Tester sa sécurité en ligne avec des services web
Pour
tester en ligne la sécurité de son système ( pare-feu compris ), il
existe quelques sites proposant des scans de ports, des analyses plus
complètes comme le test des failles de votre navigateur pour voir si vous
avez des troyens sur votre ordinateur…
Je vais vous donner l’adresse de quelques uns de ces services :
- https://www.grc.com/ : Cliquer sur Proceed
- http://scan.sygatetech.com/ : un ensemble d’outils développés par Sygate
- http://www.pcflank.com/ : le plus connu
- http://stealthtests.lockdowncorp.com/ : un site qui permet de tester tout un tas de choses
-
http://www.dslreports.com/scan
Les chemins empruntés sont-ils mous pour que les paquets y laissent des empreintes