Les firewalls
Transcription
Les firewalls
Célérier Nicolas http://users.skynet.be/nistorm Les firewalls Travail de fin d'études secondaires Remerciements Qu’il me soit permis de remercier M. Meurice DE DORMALE, Professeur au Collège Sainte-Gertrude à Nivelles, ainsi que Philippe TEMESI, Technicien, Expert Linux et Firewall. Table des matières Introduction ............................................................................................................................. 1 1. Introduction à la notion de sécurité .................................................................................. 1.1. Pourquoi pirater un système ? ...................................................................................... 1.1.1. Pour le fun, le défi .............................................................................................. 1.1.2. En politique ........................................................................................................ 1.1.3. Par vengeance ..................................................................................................... 1.2. Comment se fait-il qu’un système puisse être piraté ? ................................................. 1.2.1. Mauvaise administration ..................................................................................... 1.2.2. Les trous de sécurité (« Security hole » ) ............................................................ 1.2.2.1. Hardware et logiciels ........................................................................ 1.2.2.2. Denial of services ............................................................................. 1.2.2.3. Autres méthodes ............................................................................... 1.2.3. Collaborateurs véreux ......................................................................................... 1.3. Comment se protéger ? ................................................................................................. 3 3 4 4 5 5 6 7 7 7 7 8 8 2. Les firewalls ........................................................................................................................ 2.1. Introduction à la notion de firewall ............................................................................. 2.1.1. Rôle d’un firewall ............................................................................................ 2.1.2. Avez-vous besoin d’un firewall ? .................................................................... 2.2. Firewall software ......................................................................................................... 2.2.1. Linux SuSe 8.1 Professionnel .......................................................................... 2.2.1.1. Description du firewall software ....................................................... 2.2.1.2. Objectif à atteindre ............................................................................ 2.2.1.3. Réaction du firewall en sortie ........................................................... 2.2.1.3.1. Routage ........................................................................... 2.2.1.3.2. Masquerading / NAT ...................................................... 2.2.1.3.3. Service mandataire (proxy) ............................................. 2.2.1.3.4. Deny ................................................................................ 2.2.1.3.5. Reject .............................................................................. 2.2.1.4. Réaction du firewall en entrée .......................................................... 2.2.2. Les firewalls software sous Windows ............................................................. 2.3. Firewall hardware ........................................................................................................ 9 9 9 10 11 11 11 13 15 15 15 16 17 17 17 18 18 3. Les protections .................................................................................................................... 3.1. Blocage de ports .......................................................................................................... 3.1.1. D’un client vers le serveur d’une entreprise .................................................... 3.1.2. D’une entreprise vers l’extérieur ..................................................................... 3.1.3. Le proxy d’une entreprise ................................................................................ 3.2. Blocage conditionnel ................................................................................................... 3.2.1. Les IP sources .................................................................................................. 3.2.2. Par authentification .......................................................................................... 3.2.3. Le nombre de connections ............................................................................... 3.2.4. La gestion du matériel ...................................................................................... 3.3. Dislocation de paquets IP ............................................................................................ 3.4. SSH .............................................................................................................................. 3.4.1. Le cryptage des données .................................................................................. 3.4.2. L’authentification des machines ...................................................................... 3.5. RSA ............................................................................................................................. 19 19 19 20 20 21 21 22 23 23 24 25 25 26 27 4. Conclusion ........................................................................................................................... 28 5. Lexique ................................................................................................................................ 28 Bibliographie .......................................................................................................................... 29 Annexe ..................................................................................................................................... 29 Introduction Depuis la création d’internet, le but premier est d’améliorer les vitesses de transmission des données, en ne se souciant pas de la sécurité dans un premier temps. Au début, il n’y avait que peu de personnes ayant accès à internet, et la plupart des administrateurs possédaient des bases rudimentaires en termes de sécurité, ce qui n’empêchait pas des individus de violer des systèmes bien entendu. De nos jours, ce n’est plus le cas : chacun peut avoir accès à internet chez lui en n’ayant aucune connaissance informatique, et il est même facile de monter un serveur web chez soi en n’ayant qu’une connaissance médiocre de la sécurité. Internet se démocratisant de plus en plus, tout le monde en parle ! Que ce soit dans les journaux, à la télévision, dans les livres … : naviguer sur la toile est devenu monnaie courante. Naviguer pour certains devient alors trop simple, trop commun, ils vont vouloir se démarquer. Ces internautes vont donc vouloir en connaître plus : quelles sont les origines d’internet ? Comment fonctionne t-il ? Qu’est-ce qu’une adresse IP ? Comment fonctionne un serveur web ? Tant de questions auxquelles ils pourront bientôt répondre et devenir des bidouilleurs, des pirates ! Hackers ou crackers, ils scrutent les ordinateurs du réseau dans l’espoir d’y déceler une faille, pour tenter une intrusion ou pour provoquer un plantage ! Et cela peut-être sur votre ordinateur, pour le meilleur et pour le pire. Rassurez vous ! Les programmeurs ne vous ont pas laissé sans armes contre ces pirates. Les firewalls (ou pare-feu en français) vont vous permettre de protéger vos PC en filtrant les données entrantes et sortantes. Les firewalls - 1 - Maintenant, c’est peut-être vous qui vous poserez des questions ? Qu’est-ce qu’un firewall ? Qu’est-ce qui se cache derrière ce nom ? Comment un firewall fonctionne t-il ? C’est ce que nous allons tenter de vous expliquer dans ce TFE ! Les firewalls - 2 - 1. Introduction à la notion de sécurité : Tout au long de ce travail je vous parlerai d’adresse IP, c’est donc pourquoi j’ai décidé de commencer mon travail de fin d’étude en vous expliquant le fonctionnement du protocole TCP/IP. Le protocole qui est à la base d’internet, qui permet de transmettre des données, est le protocole TCP/IP. Il est assez ingénieux, mais n’est pas très sur en termes de sécurité. Le protocole TCP (Transmission Control Protocol), lorsque vous voulez envoyer une information, va découper celle-ci en plusieurs petits paquets facilement transportable. Ensuite, le protocole IP (Internet Protocol), en prenant le chemin le plus court, va faire parvenir les paquets à la machine souhaitée. Chez le destinataire, TCP va reconstituer l’information de départ à partir des paquets reçus. Sur le réseau, chaque machine est identifiée par un numéro unique, l’adresse IP, composée de 12 chiffres maximum. Exemple : 80.201.172.236 Afin que les paquets ne soient envoyés que sur un seul et même ordinateur au final, ils comportent chacun des données de contrôle, telles que les adresses IP de l’expéditeur et du destinataire. Maintenant que vous en connaissez un peu plus sur le TCP/IP, nous pouvons commencer. Dans ce chapitre, je vous expliquerai les raisons qui poussent certaines personnes à pirater, pourquoi un système peut-être piraté et pour finir je vous dirai comment vous protéger. 1.1 Pourquoi pirater un système ? Les principales raisons pour lesquelles des personnes attaquent des systèmes sont au nombre de trois. La première, la plus fréquente, est pour le fun, la deuxième est d’un point de vue politique. Et pour finir, la troisième, par vengeance. Les firewalls - 3 - 1.1.1. Pour le fun, le défi : Pirater pour le fun, pour le défi, est la première cause de piratage. Ce sont généralement des personnes âgées de moins de 25 ans qui s’y adonnent. Lorsque vous piratez pour le fun, il ne faut pas nécessairement être un pro du piratage. Cela peut aller du piratage d’un simple site internet, au piratage d’un site internet gouvernemental. Vous pouvez aussi pirater l’ordinateur d’un ami, ou d’un ennemi. Mais à quoi cela peut-il servir ? Les principales raisons sont les suivantes : La première et la plus fréquente, pour montrer ce dont vous êtes capable, que vous savez bidouiller, rentrer dans des systèmes, les modifier. Par exemple, lorsque vous voulez épater vos amis en leur montrant que vous savez pirater des sites internet, même les leurs, ou leur voler des mots de passe. La deuxième raison, lorsque vous n’acceptez pas certaines idées que revendique un site internet. Imaginez qu’un site web parle de choses complètement dénuées de sens, dangereuse, pédophile, etc. … N’est-ce pas un beau défi utile ? Ainsi certains pirates de haut niveau considèrent le hacking comme un jeu. Kevin Mitnick, après être sorti de prison disait dans une interview pourquoi il piratait des systèmes : « Pour échapper à la réalité, pour le fun ». 1.1.2. En politique : Les systèmes informatiques gouvernementaux ont beau être parmi les mieux protégés du monde, ce n’est pas pour cela qu’ils ne sont pas inviolables. Avec la politique du « zéro papier », appliquée par beaucoup de sociétés et par les gouvernements, l’espionnage intergouvernemental est alors possible. Ainsi les gouvernements, alliés entre eux ou non, vont s’espionner, pour connaître des informations confidentielles. Prenons un exemple concret, qui a eu lieu durant la dernière décennie aux Etats-Unis. Ceuxci ont été la cible d’espionnage industriel et technologique. En 1997, l’ASIS (American Les firewalls - 4 - Society for Industrial Security), a identifié plusieurs pays qui se livraient à de l’espionnage industriel aux Etats-Unis. Les pays principaux étaient les suivants : l’Allemagne, la France, Israël, la Chine et la Corée du Sud. A l’époque, quatre de ces pays étaient alliés des EtatsUnis. Cela ne se passe pas qu’au niveau intergouvernemental mais aussi au sein des pays mêmes. Les sites web des partis politiques par exemple, peuvent être la cible des hackers. Ceux-ci peuvent en modifier le contenu. Une telle attaque s’évalue généralement en terme de perte d’image ou de crédibilité vis à vis des personnes qui verront cela. En effet, les hackers remplacent généralement les pages par des photos pornographiques ou changent certaines phrases ayant pour but de ridiculiser ces sites web. 1.1.3. Par vengeance : Cette cause de piratage est assez rare. Plusieurs situations peuvent illustrer cela. Par exemple, lorsqu’un de vos amis vous à fait un sale coup ou lorsque vous vous êtes fait licencier par votre patron. Dans les boites d’haute technologie, afin d’éviter au maximum qu’un employé ne se venge, on lui apprend qu’il est licencié et qu’il doit quitter son bureau dans les minutes qui suivent, avec des personnes qui veilleront à ce qu’il ne fasse rien qui pourrait par la suite causer préjudice à l’entreprise. En effet, il pourrait détruire des fichiers, causer une faille dans le système pour l’exploiter plus tard, etc. … 1.2. Comment se fait-il qu’un système puisse être piraté ? Nous verrons dans cette partie pourquoi un système sait être piraté. Trois problèmes majeures sont expliqués : la mauvaise administration, les trous de sécurité, ainsi que les collaborateurs véreux. Les firewalls - 5 - 1.2.1. Mauvaise administration : C’est dans les petites entreprises, chez les indépendants et chez les privés qu’une mauvaise administration du système, due à la mauvaise connaissance (ou pas) de la sécurité informatique, se retrouve généralement. Ce problème se retrouve moins dans les grosses entreprises. En effet, celles-ci doivent faire plus attention aux attaques, et engagent du personnel qualifié, rien que pour s’occuper de la sécurité de leur système ; ce que les indépendants et les petites entreprises ne font pas, faute de moyen. Cependant, si ces derniers veulent tout de même protéger leur système, ils peuvent très bien demander à une personne travaillant déjà pour eux de s’occuper de la sécurité, mais en plus du travail qu’il fait déjà. Cela aura pour conséquence que la personne ne saura pas s’occuper de la sécurité du système à 100%, et elle ne sera probablement pas experte en sécurité. Ces petites entreprises peuvent aussi avoir recours à une société externe. Mais cela peut engendrer certains problèmes. Primo, cette société externe n’a pas une vision globale de l’entreprise. En effet, elle ne connaît pas l’entreprise à 100% Secundo, des problèmes de communication peuvent exister entre cette société et vous. Notre entreprise, ne s’y connaissant pas trop en sécurité, demandera peut-être une solution qui n’offrira pas une protection optimale, oubliera de spécifier certains critères, certaines machines, … à la société externe. Tertio, des problèmes d’évolution, de réparations d’urgences, la prise en charge de la sécurité de l’entreprise par une nouvelle société peuvent aussi intervenir dans l’insécurité du système. Les firewalls - 6 - 1.2.2. Les trous de sécurité ( Security Hole ) : 1.2.2.1. Hardware et logiciels : Les trous de sécurité se présentent ou bien dans le hardware ou les logiciels existants. Pour les supprimer, dans le hardware, il y a possibilité de remplacer le firmware présent par un plus récent, de flasher les puces, etc. … Pour les logiciels, des patchs et des mises à jour existent. Tous les défauts qui ne sont pas encore connus ne possèdent pas de patchs ou de mises à jour. Il faudra attendre qu’une faille sois exploitée par un pirate ou que la société fabriquant ces moyens de protections la découvre pour qu’une mise à jour, un firmware, etc. soient mis au point. 1.2.2.2. Denial of services : C’est une attaque qui consiste à faire planter le système distant. Cela est assez pratique pour les sites internet. En effet, ce genre d’attaque peut mettre hors service une page web, et donc les personnes ne peuvent plus y avoir accès. 1.2.2.3. Autres méthodes : D’autres méthodes pour provoquer des trous de sécurité, comme l’overflow, le spoofing, ou d’autres attaques standards peuvent fonctionner et provoquer des trous de sécurité. L’overflow est un débordement de capacité. Prenons l’exemple d’un serveur web comme Google qui est une moteur de recherche (http://www.google.com/). Ce site tourne donc sur une machine qui fait office de serveur web. Tout tourne en mémoire sur ce serveur (OS, site, …). Lorsque vous vous rendez sur leur page, vous pouvez choisir des mots de recherche. Ce champ accepte donc des variables. Si on arrive à faire déborder ces variables pour les faire passer en code exécutable, le hacker peut s’emparer du système. Les firewalls - 7 - Le spoofing, ou usurpation d’identité, est une technique qui permet à une machine d’être authentifiée auprès d’une autre grâce à des paquets semblant provenir d’une adresse source approuvée. On peut donc soit dévier du trafic qui ne nous est pas destiné, ou prendre l’adresse IP d’un autre et s’en servir. 1.2.3. Collaborateurs véreux : Ce cas se retrouve dans les petites ou les grandes entreprises. Les raisons peuvent être diverses. La principale est le fruit d’une vengeance suite à un licenciement. Dans les grandes entreprises d’IT, il n’y a pas de préavis. La personne licenciée doit partir dans les minutes après qu’on le lui ai dit et est surveillée pour être sûr qu’elle ne fasse rien d’anormal (comme détruire certaines choses, mettre des backdoors, …). En effet, la société pourrait perdre des millions. 1.3. Comment se protéger ? Pour être protégé de manière optimale, plusieurs choses sont importantes. La première se situe au niveau software. En effet, il vaut mieux avoir un antivirus et un firewall pour protéger votre système contre les virus et les intrusions. La deuxième est au niveau des mises à jour de vos programmes. Non pas seulement de votre antivirus et de votre firewall, mais des programmes qui ont accès à la connexion internet. En effet, des failles de sécurité sont découvertes tout les jours dans vos programmes favoris tel que votre navigateur internet (Internet Explorer, Mozilla, Opera, …) dans votre logiciel de messagerie (Outlook, Eudora, …) et même dans votre OS (Operating system comme Windows, Linux, …). Il faudra donc, pour supprimer ces failles, installer des patchs, des versions plus récentes des programmes utilisés, etc… Evidemment, dans les grandes sociétés, cela n’est pas toujours facile car il faut bien vérifier que tout refonctionne comme avant. Le problème se pose moins chez les particuliers. Les firewalls - 8 - 2. Les firewalls : C’est dans ce chapitre que nous allons commencer à parler des firewalls, à mieux comprendre leur fonctionnement. Vous retrouverez aussi dans ce chapitre la partie pratique de mon travail : un firewall software configuré sous Linux. Nous aborderons aussi les firewalls hardware. 2.1. Introduction à la notion de firewall : Le rôle d’un firewall est de protéger un réseau intérieur contre toute intrusion du dehors. Lorsque vous êtes connecté à internet, les risques d’intrusion peuvent être réduits, mais pas éliminés. Un firewall ne pourra donc jamais remplacer la supervision et la bonne gestion de vos systèmes. 2.1.1. Rôle d’un firewall : A la base, un firewall isole votre réseau intérieur d’un réseau extérieur. Les machines placées en amont ne peuvent pas voir celles placées en aval du firewall. Ainsi le réseau extérieur ne « voit » que le firewall apparaissant comme unique source et destination du trafic de votre organisation. Cette description est assez simpliste. En effet, elle ne s’applique que dans le cas d’un petit réseau et non dans le cas d’un réseau étoffé. Le rôle du firewall repose sur deux techniques de base : le filtrage des paquets de données et courroie de transmission. La première est la technique la plus élémentaire pour protéger un réseau. Chaque paquet reçu est comparé avec un ensemble de règles, pour choisir le traitement à réaliser. Plusieurs stratégies pour le filtrage de paquets sont envisageables. Vous pouvez par exemple décider de bloquer tout ce qui peut être dangereux, ou alors, mais plus restrictif, bloquer tout par défaut. Les firewalls - 9 - La deuxième sert à masquer les machines de votre réseau derrière le firewall. Cela permet donc à un serveur de se faire passer pour la machine à l’origine d’un paquet. Par exemple, si un utilisateur demande une page web à un serveur HTTP, et que cette requête traverse le firewall, ce dernier retransmettra le paquet comme s’il était à l’origine de la requête. Ainsi, une seule machine est visible sur internet et vous n’avez besoin que d’une seule adresse IP, les machines de votre réseau pouvant alors disposer d’adresses IP privées. 2.1.2. Avez-vous besoin d’un firewall ? Tout cela dépend du type d’utilisateur que vous êtes et de votre connexion. En effet, les besoins en protections ne sont pas les mêmes si vous êtes un particulier qui surfe de temps en temps sur internet ou si vous employez votre connexion internet 24 heures sur 24 pour votre entreprise et son site web. De plus, votre bande passante n’est pas la même lorsque vous êtes connecté avec un modem 56Kbps ou avec une connexion ADSL/Câble. En effet, votre bande passante est alors plus ou moins grande, votre IP est dynamique ou statique (c’est généralement le cas pour les utilisateurs du câble) ce qui peut faciliter la tâche du pirate. Si vous êtes un particulier, des firewalls logiciels tels que Norton Firewall ou Zone Alarm devraient faire l’affaire. Créer un firewall sous Linux serait une perte de temps ou en avoir un spécifique serait une perte d’argent. En effet, en tant que petit utilisateur sur la toile, votre système n’est pas connecté en permanence à internet, vos heures de connexion sont aléatoires, votre adresse IP est probablement dynamique, et vous consommez une grande partie de votre bande passante. Un pirate aura donc plus de mal à vous pirater. Par contre, si vous avez un site web d’entreprise, il est mieux d’avoir un firewall plus spécifique. Un firewall créé sous Linux, et donc gratuit, peut très bien faire l’affaire face à un firewall spécifique qui lui peut coûter des milliers de francs. Mais attention ! Il ne faut pas non plus oublier qu’un firewall peut vous compliquer l’existence ! Ainsi, si la personne ne connaît pas grand chose en sécurité, ou vraiment très peu, elle ne pourrait plus faire certaines choses si elle ne sait pas que le problème vient du firewall. En effet, un firewall ne fait pas qu’empêcher les intrus d’accéder à votre système. Il empêche aussi le trafic légitime d’en sortir. Les firewalls - 10 - 2.2. Firewall software : Les firewalls softwares, ou logiciels, sont les plus répandus chez les particuliers car ces firewalls coûtent beaucoup moins cher que les firewalls hardwares. Certains sont gratuits, d’autres payants et coûtent en moyenne 60€. Evidemment, cette baisse de prix entraîne un niveau de protection moins évolué. Nous avons regardé comment le firewall réagissait lorsque nous étions sur internet et lorsque faisions certaines actions. Je vous parlerai principalement d’un firewall software que j’ai configuré avec Philippe TEMESI sous Linux SuSe dans sa version 8.1 Professionnelle. 2.2.1. Linux SuSe 8.1 Professionnel : Ce firewall software sous Linux SuSe 8.1 Professionnel constitue la partie pratique de mon travail approfondi. 2.2.1.1. Description du firewall software : La configuration hardware de notre firewall était la suivante : Processeur Pentium 2 400Mhz 128Mo de mémoire SDRAM Disque dur de 6Go 2 cartes réseaux 10/100 Le système d’opération était Linux SuSE 8.1 Professionnel Le minimum de mémoire RAM à mettre dans un petit serveur de PME est de 64Mo. Lorsque le serveur est un peu plus gros 128Mo sont conseillés. Cela peut monter jusqu’à 1Go pour les gros sites. Les firewalls - 11 - Pour avoir accès à internet, nous n’avions pas d’autres possibilités que de connecter la première carte réseau à un autre firewall hardware. L’idéal pour le disque dur est d’être d’au moins 5, 6 Go, le minimum étant 2 Go. 500Mo sont réservés au système d’exploitation et à ses applications. Le reste peut alors être utilisé pour mettre des informations en cache. En effet, il est plus intéressant de télécharger sur un réseau local que sur internet car il faut payer les excédents de Go et cela permet d’augmenter les performances d’un point de vue bande passante. Pour créer un firewall et qu’il ait un sens, il faut au moins deux interfaces réseaux. Cela nous permet de ne pas mélanger le trafic entre les deux interfaces. Le trafic passe donc par des filtres et le réseau est mieux protégé contre les attaques. Il est aussi impossible de sniffer (capturer des données) d’un côté à l’autre. Par exemple, si vous êtes sur internet, vous ne pouvez pas sniffer ce qui se passe dans le réseau interne. Seule une personne dans le réseau interne peut sniffer le trafic du réseau interne. La première interface réseau peut par exemple être reliée à internet, et la deuxième relier le réseau interne. Il peut bien entendu y avoir plus de deux interfaces réseaux (vers d’autres réseaux locaux, le web, l’intranet, …) Les firewalls - 12 - Lors de notre travail, les deux interfaces réseaux étaient « eth0 » et « eth1 ». Eth0 et eth1 car nous étions sur un réseau local (donc avec des cartes réseaux ethernet). Le première interface réseau, eth0, était relié à un autre firewall donnant accès à internet. Son adresse IP était 192.168.0.23 et était dynamique. La deuxième interface réseau, eth1, n’était reliée à rien. Elle n’avait donc pas d’adresse IP Interfaces réseaux eth0 eth1 Adresse IP 192.168.0.23 Rien pour le moment Type d’IP Dynamique Rien 2.2.1.2. Objectif à atteindre : L’objectif à atteindre est le suivant : il faut que le firewall relie l’entreprise en réseau local à internet. La première interface, eth0, sera reliée à internet avec une adresse IP dynamique ou statique. Tandis que la seconde reliera l’entreprise avec une IP fixe de réseau local. Interfaces réseaux Eth0 Eth1 Adresse IP Dynamique/Statique Adresse fixe de réseau local Vers Internet Réseau de l’entreprise Il faudra donc pour chaque interface réseau un routage et savoir ce qui passera. Maintenant, les deux grandes questions sont : 1) Qu’accepte-t-on venant d’internet ? Nous avons notre firewall d’un coté et de l’autre notre client avec une adresse IP quelconque. Il va donc demander quelque chose qui se trouve derrière le firewall et devra passer par celui-ci avant de recevoir ce qu’il a demandé. Les firewalls - 13 - 2) Que laisse-t-on faire aux utilisateurs du réseau local ? Nous avons un pc sur le réseau local et un serveur de l’autre coté. L’utilisateur veut atteindre le serveur qui se trouve de l’autre coté. Il devra donc passer par le firewall. Ce sont les principaux cas qui se passent avec un firewall. Laisser entrer et sortir des informations. Analysons maintenant les réactions du firewall, en entrée ainsi qu’en sortie, lorsqu’il accepte et lorsqu’il refuse de laisser passer une information. Les firewalls - 14 - 2.2.1.3. Réaction du firewall en sortie : Lorsqu’un employé du réseau interne d’une entreprise veut accéder à internet, ou à d’autres services comme le serveur de mails, il doit passer par le firewall de l’entreprise. Lorsque le firewall accepte que l’employé accède à ce qu’il a demandé, trois cas peuvent être envisagés : 2.2.1.3.1. Routage : Premièrement, le firewall peut faire du routage pur et dur, ce qui est très basique pour un firewall. L’employé va donc passer par le firewall, et accéder à ce qu’il demande. Le serveur verra cette personne avec sa propre adresse IP, et non pas avec celle du firewall. N’oublions cependant pas que l’employé doit avoir une adresse IP internet et non pas une adresse IP d’un réseau interne. En effet, les adresses internes (généralement de ce genre : 192.168.0.xxx) d’un réseau ne sont pas compatibles avec les services se trouvant sur internet. 2.2.1.3.2. Masquerading / NAT Deuxièmement, le firewall peut faire du « Masquerading / NAT », ou plus simplement, transition d’adresse IP. Cela revient toujours à faire du routage, mais en moins basique. Les firewalls - 15 - L’itinéraire est toujours le même : l’employé veut accéder à quelque chose sur internet et doit passer par le firewall de l’entreprise … Mais il y a un hic ! L’employé dispose d’une adresse IP du réseau interne de l’entreprise et ne peut donc pas aller sur le serveur … C’est ici qu’intervient la transition d’adresse IP. L’employé va être vu comme s’il était le firewall, qui lui dispose d’une ou plusieurs adresses IP internet. Mais pourquoi ne pas avoir tout simplement donné une adresse IP internet à l’employé comme dans le cas précédent ? Tout simplement car il est assez rare d’avoir une IP officielle sur tout les PC du réseau local (imaginez qu’une société ait vingt mille employés, … ca fait beaucoup d’adresses IP internet !) et cela permet en plus de renforcer la sécurité. 2.2.1.3.3. Service mandataire (proxy) : Troisièmement, il peut y avoir un proxy derrière le firewall. L’employé demande au firewall de faire tout à sa place, et le proxy lui renverra les informations demandées. L’avantage est que tout se fait en local. (Voir 3.1.3. Le proxy d’une entreprise) Les firewalls - 16 - Le firewall peut très bien accepter que des informations sortent, tout comme il peut refuser que l’employé ait accès à certaines pages, certaines informations. Le firewall peut alors lui refuser l’accès de deux manières : par « Deny » ou « Reject » 2.2.1.3.4. Deny L’employé reçoit une réponse du firewall lui disant que ce qu’il demande est interdit, qu’il n’a pas le droit d’accéder à tel ou tel service. 2.2.1.3.5. Reject Ici, l’employé ne reçoit aucune réponse. Il fait sa demande, mais rien ne se passe … Le but du reject est de mettre plus longtemps à scanner un serveur ou autre, laissant la personne voulant l’atteindre dans l’attente : elle ne sait pas si il y a quelque chose ou non, et si il y a quelque chose, c’est peut-être parce que le réseau est surchargé. 2.2.1.4. Réaction du firewall en entrée : Lorsque quelqu’un tente d’accéder par exemple au site d’une entreprise, il doit passer par le firewall de celle-ci, ou directement sur une machine de l’entreprise. Encore une fois, cet employé pourrait recevoir l’information demandée, tout comme cette information pourrait lui être refusée. Les firewalls - 17 - Ici, c’est très simple, soit on accepte et le firewall renvoie la personne sur le serveur web, soit le firewall lui fournit les informations qu’il a demandé. Et lorsque cette personne ne peut pas accéder à ce qu’elle demande, le firewall lui en refuse l’accès par deny ou reject. 2.2.2. Les firewalls software sous Windows : Les firewalls software pour windows ont la particularité (du moins pour la plupart) d’être déjà quasiment configurés et ne demandent pas autant de connaissance que celui que nous avons monté nous même sous Linux. L’installation se fait comme n’importe quel autre programme. Les produits les plus connus sont Norton Firewall, Zone Alarm, Kaspersky Anti-Hacker, … 2.3. Firewall hardware : Les firewalls hardware les plus simples sont sous forme de boîtier incluant deux connecteurs réseau. Le premier pour relier le réseau interne, le second pour relier l’extérieur (Internet par exemple) Les sociétés les plus réputées fabriquant des firewalls hardware sont : Cisco, Alturion, Nokia, 3com … Les prix de ces pare-feu vont de 2.500€, et plus. Le haut de gamme de chez alturion coute approximativement trois millions d’euros Les firewalls hardware ont aussi la particularité d’être très résistants aux pannes : il n’y a pas de mémoire volatile, ni de disque dur. Ils ne sont pas non plus SPF, Single Point of Failure, c’est à dire que tout est redondant : si une puce, ou d’autres composants cessent de fonctionner, un deuxième vient prendre le relais. Les firewalls - 18 - 3. Les protections Dans ce chapitre nous parlerons dans un premier temps des règles que peut appliquer un firewall, à savoir le blocage de port, le blocage conditionnel et la dislocation de paquets. Dans un deuxième temps nous vous parlerons du SSH et du RSA 3.1. Le blocage de port Une IP ne suffit pas pour exécuter des tâches sur un réseau. Il faut des ports, qui vont permettre à l’ordinateur de pouvoir distinguer les différentes sources de données et ainsi exécuter l’application souhaitée. Plusieurs cas peuvent se présenter, nous vous présenterons les plus fréquents. 3.1.1. D’un client vers le serveur d’une entreprise : Nous avons plusieurs clients qui veulent se connecter au serveur web d’une entreprise. Etant donné que c’est un serveur web, seul le port 80 sera accessible et autorisé lorsque les clients voudront se connecter sur le serveur. Le firewall laissera donc passer tout les clients qui veulent voir le site web de l’entreprise. Par contre, les clients qui veulent accéder à une autre porte que la porte 80, par exemple la porte 5631, du serveur ne pourront pas y accéder car le trafic sur ce port n’est pas autorisé. Le firewall leur bloque donc l’accès. Les firewalls - 19 - 3.1.2. D’une entreprise vers l’extérieur : Nous voici dans l’autre sens. Ici, ce sont les clients de l’entreprise qui veulent accéder à différente application. Dans l’exemple ci-dessous, nous remarquons que les clients peuvent voir des pages web, mais qu’ils ne peuvent pas aller sur Msn Messenger. En effet, le firewall bloque tout accès au port 1863 aux personnes de l’entreprise. Le port 1863 étant celui utilisé par le programme Msn Messenger. 3.1.3. Le proxy d’une entreprise : Ce genre de blocage de ports se retrouve plus souvent dans les grandes entreprises. Lorsque les clients de l’entreprise veulent aller sur un site web ou accéder à d’autres services (FTP, mail,…), ils doivent d’abord passer par le proxy. Le proxy demandera les informations au serveur et les renverra à l’utilisateur les ayant demandées. S’ils essaient de ne pas passer par le proxy, ils ne peuvent rien atteindre. Le rôle d’un proxy est de limiter le nombre de connexions sortantes. En effet, seul le proxy accède à internet en direct. Les firewalls - 20 - 3.2. Le blocage conditionnel : Le blocage conditionnel est un peu plus complexe que le blocage de ports. Il peut y en avoir de plusieurs sortes. Tout comme le blocage de ports, les blocages conditionnels nous permettent de bloquer l’accès à des sites web, des réseaux internes d’entreprises, etc.. Nous parlerons des quatre méthodes de blocages conditionnels les plus fréquents. 3.2.1. Les IP sources : Pour refuser l’accès à un serveur, nous pouvons nous baser sur les IP sources. C’est à dire que nous pouvons par exemple refuser l’accès d’un site web selon l’adresse IP de l’utilisateur qui tente de s’y connecter. Ainsi, un fournisseur d’accès internet peut n’accepter que les connexions venant de chez ses propres clients pour accéder à certaines pages (comme la gestion de l’abonnement, le paramétrage des comptes de courrier électronique, …) C’est le cas avec le fournisseur d’accès belge Skynet. Les firewalls - 21 - 3.2.2. Par authentification : Avant que le firewall ne laisse passer un client, il faut que celui-ci s’authentifie. Il peut le faire grâce à un login et un mot de passe, ou bien par un code généré. Le plus souvent, lorsque l’on parle de code généré, on parle de « Secure ID ». Ces codes sont valables pendant une minute et sont fait de six chiffres. Aujourd’hui, utiliser des Secure ID est monnaie courante. En effet, vous utilisez ce système pour vos connecter à votre compte bancaire via internet. Prenons un exemple concret. Nous avons deux personnes qui veulent accéder à un compte bancaire. Entre les clients et le serveur sécurisé, il y a le firewall et le serveur Secure ID. Le premier demande pour se connecter au serveur sécurisé en donnant la Secure ID, qu’il a générée, au firewall. Le firewall va alors envoyer cette clé au serveur Secure ID pour savoir si la clé est bonne ou non (1). Pour notre premier client, elle est bonne. Le serveur Secure ID renvoie alors une confirmation au firewall disant que la clé envoyée est bonne (2). Le firewall va donc laisser le client accéder à son compte. C’est la même chose pour le deuxième jusqu’au moment ou le firewall à envoyé la clé au Les firewalls - 22 - serveur Secure ID. Ici, la clé est incorrecte. Le serveur Secure ID envoie donc l’information au firewall comme quoi la clé est incorrecte (2). Le firewall ne laissera donc pas passer le client. 3.2.3. Le nombre de connections : Un firewall peut vérifier le nombre de connexion simultanée chez une personne pour qu’elle ne se connecte pas plus de 2, ou 3 fois simultanément à un même site. 3.2.4. La gestion du matériel : Cette méthode de protection est généralement utilisée sur les réseaux ethernet. Ici, on vérifie physiquement où se trouve la connexion internet grâce aux « Mac Address ». Cette Mac Address est un code spécifique à chaque carte réseau. Cette méthode est plus souvent utilisé dans les grandes sociétés. Les firewalls - 23 - 3.3. Dislocation de paquets : Ici, le firewall regarde ce qu’il y a dans chaque paquets d’informations envoyés par le client vers le serveur de l’entreprise. Dans notre exemple, le client essaie de se connecter au serveur web de l’entreprise. Entre les deux, nous avons notre firewall qui analyse ce que demande le client. Le firewall va s’assurer de la nature des paquets, de leur contenu. Il ne faut pas que les informations que le client envoie sur le serveur web soient autres que de l’http et donc à destination du port 80. En effet, les autres protocoles sont interdits. Un firewall est capable de faire de la dislocation de paquets pour d’autres protocoles bien connus tel que FTP, POP, SMTP, etc… Avant que le firewall ne fasse une dislocation des paquets, il exécute d’abord les protections par blocage de ports et les blocages conditionnels. En effet, regarder à l’intérieur de chaque paquet demande beaucoup de ressources, il ne faut donc pas faire cela inutilement. Le firewall peut aussi utiliser des systèmes de détection, tels que l’IDS. En effet, il existe certaines méthodes pour contrer certains envois de paquets envoyés d’une manière plus spéciale. Snort est un système IDS (http://www.snort.org). Les firewalls - 24 - 3.4. SSH : Avant qu’il n’y ait SSH, il y avait des services comme Telnet qui permettaient d’envoyer des informations. Malheureusement, Telnet ne cryptait rien, et une personne qui sniffait le trafic entre deux réseaux pouvait facilement voir ce qui passait d’un réseau à l’autre et ainsi voler des données personnelles telles que des mots de passe, des textes, etc. … Il fallait donc remédier à ce problème, et la réponse fut le « Secure Shell » ou SSH. SSH apporta deux nouveautés majeures par rapport à Telnet : le cryptage des données, et un système d’authentification de machines. 3.4.1. Le cryptage des données : Grâce au cryptage de données, la moindre information est cryptée, plus rien ne passe en clair. Ainsi, il est beaucoup plus difficile pour les pirates de sniffer des logins et des mots de passe. Celui-ci peut toujours les sniffer, mais il sera obligé de les décrypter. Le décryptage peut prendre très peu comme beaucoup de temps. Cela dépend de la puissance de chiffrement, qui peut-être de 1 bit, à l’infini de bits. Si l’émetteur envoie une information à une autre personne en crypté, comment le destinataire fait il pour la décrypter ? Et si il peut la décrypter, le sniffer pourra en faire de même ! C’est ici qu’interviennent les clés publiques et les clés privées ! L’expéditeur crypte l’information grâce à la clé publique du destinataire et celui-ci décrypte l’information grâce à sa clé privée, que lui seul possède ! Le sniffer, qui ne possède pas la clé privée du destinataire, devra donc trouver la clé privée pour arriver à lire le message ! Si la puissance de chiffrement est petite, comme du 16 bits, cela ne demandera que quelques minutes à l’ordinateur du sniffer pour trouver la clé privée … Mais si la puissance de chiffrement est plus grande, du 1024 bits par exemple, il n’y arrivera pas ! Les firewalls - 25 - Pourquoi ? Tout simplement parce que la clé devient de plus en plus grande suivant la puissance du chiffrement. Même si nous utilisions tous les ordinateurs sur terre, avec leur puissance actuelle, la recherche d’une clé privée de 1024 bits prendrait, accrochez-vous bien, plus de temps que l’âge de l’univers pour être décryptée ! … Notre sniffer peut donc tout de suite aller se rhabiller ! Lorsqu’une clé publique est générée, une clé privée l’est aussi en même temps. Ainsi, chaque clé publique va de paire avec une, et une seule clé privée. Notre destinataire possédant la clé privée, il n’aura aucune difficulté pour décrypter le message de l’expéditeur qui a été crypté avec la clé publique du récepteur. Sceptique, je vous entend déjà dire : « Oui, mais si une personne lui vole sa clé privée, cette personne pourra lire le message ». Mais il faut savoir que ces clés sont impossibles à mémoriser … En effet, elles sont composées de nombres, de lettres en majuscules ou minuscules, et sont très longues … De plus, mais moins fréquent, des mots de passe peuvent être rajoutés à ces clés, ce qui rendra la tâche du sniffer encore plus difficile ! En effet, il devra à la fois voler la clé privée, mais aussi un mot de passe … Rapidement, les clés publiques et les clés privées sont générées grâce à une formule mathématique qui est : (A x B) MOD N = 1. Cette méthode de cryptage est appelée RSA et est utilisée par SSH. Nous en reparlerons dans le point suivant. 3.4.2. L’authentification des machines : L’authentification de machines sur un serveur est une chose assez pratique, et de sécurisant grâce au système de clés publiques et clés privées. Par exemple, vous vous connectez à un serveur X pour la première fois. Lors de cette première connexion, un échange de clés publiques s’effectuera entre le client et le serveur, qui sera votre login et votre mot de passe pour aller dessus. Ce dernier va mémoriser votre Les firewalls - 26 - clé publique. Ainsi, à chaque connexion, le serveur regardera si votre clé publique correspond à sa clé privée, et vous ne devrez plus taper de nom d’utilisateur, ni de mot de passe pour être authentifié. 3.5. RSA Ce système de cryptographie est le plus connu et le plus sûr de nos jours. L’abréviation RSA provient des noms des trois mathématiciens qui l’ont mis au point en 1977 : Rivest, Shamir et Adleman. Le RSA se base sur la formule mathématique dont nous parlions plus haut, à savoir : (A x B) MOD N = 1. Cette formule générant, je vous le rappelle, une paire de clé publique et privée. Comme le RSA se base sur cette formule, il répondra à la même problématique que celle-ci, c’est-à-dire qu’il est impossible de trouver grâce à la clé publique A, la clé privée B. La nouveauté du RSA, se trouve dans l’utilisation de nombres premiers, ce qui le rend plus sécurisé. En effet, il n’existe pas actuellement sur terre une fonction mathématique permettant de les trouver. Nous sommes donc obligés de les « découvrir » lorsqu’on échoue en essayant de les diviser par tous ceux existant déjà. Nos trois mathématiciens se sont alors demandés si le N, de (A x B) MOD N = 1, pouvait ne pas être le même N que celui utilisé comme constante dans l’algorithme de chiffrement final … Et Bingo ! C’est possible ! Vous retrouverez un exemple en annexe. Les firewalls - 27 - 4. Conclusion Je conclurai mon travail de fin d’étude en répondant à sa question fondamentale : quel est le degré d’utilité des firewalls ? Nous l’avons montré à travers les différents chapitres de ce travail, que l’importance d’avoir un firewall varie selon le type d’utilisateur que vous êtes. Si vous utilisez votre connexion en tant que simple utilisateur, l’importance d’avoir un firewall sera moindre que si vous utilisiez votre connexion pour héberger le site web de votre entreprise. Ce besoin sera d’autant plus grand selon l’ampleur de votre entreprise, si vous ne voulez pas être victime d’une perte de crédibilité et tout ce qui en découle. Imaginez une société spécialisée dans la mise en place de firewall, ou dans la sécurité sur internet en général, se faire pirater sa page web … Imaginez-vous les conséquences ! Ainsi, comprenez l’importance d’avoir une bonne protection, des firewalls bien configurés, pour des sites gouvernementaux, des sites de partis politiques. C’est primordial ! Nous ne devons donc pas, utilisateurs lambda, céder à la panique. En effet, nous ne sommes pas des cibles potentielles pour les pirates. Les petits pirates en herbes qui scanneront le réseau à la recherche de failles, chercheront les ordinateurs les plus faciles à hacker, et un firewall de base les fera bien vite fuir … 5. Lexique Les définitions de certains mots provenant d'un livre, je ne peux vous les mettre sur ce site. Néanmoins je vous recommande quelques sites proposant un dictionnaire online : http://www.dicofr.com/ http://www.onversity.com/ Les firewalls - 28 - Bibliographie Ouvrages de références généraux Sécurité Optimale 2e édition, écrit par un hacker (anonyme), éd. CampusPress Référence. Linux Sécurité, écrit par Robert L. Ziegler, éd. CampusPress Référence. Les articles et les revues spécialisées Login n°98, dossier « Cryptographie » : Codes secrets : Les bases de la cryptographie, p31-41 Linux Magazine, novembre 2001, dossier « SSH », p16-24 Contacts personnels Philippe Temesi (Société Ebug, Nivelles) Internet http://www.commentcamarche.com http://www.secuser.com http://sebsauvage.net/comprendre/proxy/ Interview et histoire de Kevin Mitnick. 10/03/2000 http://www.emmanuellerichard.com/Articles/ArticleScanBIS/Articlesscan/Libe_kevin.htm Le p2p et les port … 22/03/2003 http://www.sandvine.co.uk/news/pr_detail.asp?ID=22 Onversity (définitions) http://www.onversity.com/ Annexe L'annexe provenant d'une revue (Login n°98 – Dossier Cryptographie, page 40 : Le RSA ou l'utilisation des nombres premiers), je ne peux vous la mettre sur ce site. Les firewalls - 29 -