Mais au fait, c’est quoi un pare-feu ?

logo1

On n’en entend plus trop parler en dehors des séries télé, et pourtant, il est le lot quotidien de tout utilisateur d’ordinateur personnel, et ce qu’il soit sous Windows ou Linux. Mais c’est quoi un pare-feu, à quoi ça sert, où on en trouve un ? Entrons dans un monde de réseau et de sécurité, mais n’ayez pas peur, c’est une découverte, pas une expertise.

Petit cours de réseau accéléré

L’intérêt d’un pare-feu ne peut se mesurer que si l’on a quelques notions de communication réseau entre appareils informatiques. Donc, pour faire simplement, chaque logiciel sur votre machine utilise ce qu’on appelle des ports, numérotés, pour émettre et/ou recevoir des données. Une porte, pourrait-on “imager”, et chaque appareil est identifié par une adresse IP.

Certains utilisateurs de jeux vidéo auront pu entendre parler d’ouvrir un port sur leur bidulebox pour résoudre des problèmes pour rejoindre des parties. Pour donner un exemple parlant, ce blog est servi par un serveur Web, qui écoute, c’est un standard, sur le port 80. Votre navigateur (Firefox, on est d’accord ?) réserve un port libre quelconque sur votre machine pour communiquer avec mon serveur sur le port 80. Et le serveur Web répondra en envoyant la page par ce même port 80, et sera reçue sur le port utilisé sur votre machine.

C’est un fonctionnement standard, qui est commun à tous les systèmes d’exploitation, de Windows à Linux, en passant par Mac OS X, Android, Windows Phone… Tout appareil qu’on peut relier à un réseau informatique moderne fonctionne sur le même modèle.

Un pare-feu, le portier ultime

Quelque soit le système d’exploitation, par défaut tous les ports sont “ouverts”, même si aucun logiciel n’écoute ou n’émet dessus. C’est gênant, notamment si vous vous retrouvez infecté (sous Windows, c’est facile, il suffit d’installer un logiciel ne venant pas du site officiel, genre depuis telecharger.com…); les infections nouvelles pourront être jointes de l’extérieur par un autre logiciel malveillant. Votre machine fera donc partie de ce qu’on appelle un botnet, et servira dès lors à différentes attaques, allant du DDoS (déni de service distribué, plusieurs ordinateurs qui attaquent en parallèle), à la distribution de spam (ces messages publicitaires non désirés et parfois aussi infectés), et autres joyeusetés.

Un pare-feu est donc le portier ultime. Il va décider si un port doit être ouvert ou fermé, et ce quelque soit l’application qui est devant ou derrière. D’ailleurs, il va gérer différemment les gens qui entrent et sortent par une même porte. Les implémentations sont différentes suivant les solutions utilisées, les systèmes d’exploitation aussi, car ça touche au fonctionnement du cœur (enfin d’une cavité du cœur qui s’occupe du réseau) du système. Mais le principe est le même.

Certains pare-feux plus évolués analysent aussi le statut des paquets, notamment TCP. Le but, libérer les connexions ouvertes avec des paquets zombies, utilisés pour saturer une machine. Exemple, le SYN flood, qui demande de connaitre le fonctionnement de TCP, qui sort un peu du cadre de cet article. Bref, là c’est plus du “t’as des baskets ? tu rentres pas“.

Principe de fonctionnement

Comme on l’a dit, sur un système informatique par défaut les portes et fenêtres sont grandes ouvertes. Un pare-feu va introduire le fonctionnement inverse : on ferme tout, et on n’autorise plus ensuite que le nécessaire au bon fonctionnement des programmes et services. On a déjà évoqué le port 80 pour les personnes utilisant un serveur Web, Windows a par exemple besoin du port 139 et 445 pour pouvoir partager des dossiers entre machines. Les programmes extérieurs cherchant à se connecter sur des ports non autorisés soient verront leur demandes rejetées, ou parfois, pour plus de sureté, sans réponse (simulant alors une machine déconnectée, donc inintéressante). De la même manière on peut interdire à une machine toute possibilité de connexion, en se basant sur son adresse IP. Plus poussé, on peut tenter de bloquer des pays entiers. Tenter, parce que ça devient compliqué de nos jours, avec une fragmentation toujours plus grande des blocs d’adresses pour pallier la pénurie.

Certains pare-feu masquent la complexité des ports pour gérer les règles par application. En gros, plutôt que de gérer les ports indépendamment des logiciels qui sont derrière (car n’importe quel port peut servir à n’importe quelle application, le fait de dire “80” pour “Web” n’est qu’une convention de protocole), ils vont adapter l’ouverture/fermeture suivant des règles associées à un programme. Par exemple, vous refusez toute communication vers l’extérieur à tout programme sauf Firefox, lorsque Firefox demandera l’accès à un port choisi aléatoirement, le pare-feu ouvrira ce port uniquement pour Firefox. Dès que Firefox est fermé, le port aussi.

Et je fais comment pour en avoir un ?

Ben c’est déjà le cas la plupart du temps. Windows, depuis le Service Pack 2 de Windows XP (sorti en septembre 2004), dispose d’un vrai pare-feu applicatif gérant les entrées et les sorties. Ce n’est ni le plus puissant ni le plus pratique, et il est aussi un peu permissif parfois (ce n’est pas le pire), mais il est là, maintenant vos ports sont maintenant sous garde. Ce pare-feu a évolué depuis, avec Vista, Seven, 8, et sera évidemment au programme de la prochaine version qui doit sortir cette année…

Ce qui n’empêche pas les différents éditeurs de solutions d’antivirus d’avoir fait évoluer leurs logiciels qu’on nomme généralement maintenant suites de sécurité. En plus de l’antivirus à proprement parler, elles remplacent le pare-feu intégré de Windows, avec à la clé, une utilisation plus transparente, en ce sens que souvent, le logiciel embarque déjà des règles pour les logiciels connus (il serait en effet étrange que vous soyez importuné par une question vous demandant d’autoriser Firefox à accéder à Internet, n’est-ce pas ?), et certains, qui ne font pas partie de la liste par défaut, peuvent être ajoutés sur les critères d’une base de réputation. Si la réputation d’un logiciel baisse fortement, ou s’il n’existe pas, ils vous posera la question. Tant que vous n’aurez pas dit oui, le programme “incriminé” n’aura aucun droit de connexion à l’extérieur.

Sous Linux, par défaut le noyau embarque, depuis la version 2.4, Netfilter. Ce dispositif s’occupe des ports, mais aussi d’autres fonctions liées au réseau (NAT entre autres). Des évolutions diverses pourraient amener la possibilité d’un pare-feu applicatif “par défaut”, et certaines solutions commerciales existent déjà, trop souvent réservées à l’entreprise, ce qui est fort dommage. Ce nom ne vous dit rien ? C’est que la commande pour le manipuler s’appelleiptables. Un nom que vous connaissez sûrement.

C’est bon je suis tranquille alors ?

De nos jours, l’utilité d’un pare-feu a été grandement occultée par la généralisation du NAT. Ce procédé est utilisé par nos Live/Free/SFR/B/Alice/box pour pouvoir connecter plus d’un appareil derrière une seule adresse IP publique. Donc les requêtes de l’extérieur arrivent d’abord sur ladite box, mais sans lui indiquer de règles pour transmettre ces requêtes, la bestiole n’y répondra pas. Pratique, même si elle soulève pas mal de questions d’un point de vue acentralisation (y’a pas de faute) du réseau.

Vous avez beau être protégé du “feu” extérieur, et ce en toute discrétion la plupart du temps, le pare-feu n’est qu’une des briques qui vous permettent de vivre en toute tranquillité sur les Internets. J’ai évoqué l’antivirus, mais sachez que les risques sont multiples, et même avec la meilleure volonté du monde, vous ne serez jamais à l’abri d’une faille dans un logiciel, et si ce n’est pas sur votre machine, ça sera sur celle de ceux qui pourraient avoir, à l’ère du cloud, des données et informations sur vous. Le cas d’Orange, qui n’est pourtant pas un débutant en matière de réseau et donc de sécurité, est assez parlant je pense.

Quand le problème ne vient pas carrément de vous en plus, à mal utiliser vos appareils (je repense là au CelebGate, qui penserait à stocker chez une société américaine ses photos cochonnes ?), à y installer n’importe quoi sans vérifier l’origine, ce qui pourrait vous obliger à faire le ménage. Vous n’avalez pas d’une traite un plat culinaire sans l’avoir goûté avant, et au restaurant sans avoir demandé les ingrédients. Certains me répondront que ça prend du temps qu’il ne veulent pas passer à apprendre, et pourtant, vous avez bien passé un permis de conduire pour votre voiture ? Nos ordinateurs, téléphone, Internet ayant pris une telle importance, à hauteur de celle d’une voiture, pourquoi négliger son apprentissage ?

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *