Bon, maintenant, bête question qu'est ce qui peut arriver sur une buntu qui serait visible depuis l’extérieur ?
Question très simple, dont un cas a été survolé ici dans le cadre exclusif de la nécessite ou non d'un pare-feu sur un poste de travail "de base". Maintenant, pour répondre clairement à cette question voici des détails, en plusieurs cas... Étant donné qu'on est sur un fil qui parle de pare-feu, je termine à chaque fois sur ce qu'apporterait (ou non) un pare-feu (cela dit, il y a des usages plus complexes du pare-feu, je reste sur des cas globaux et des explications simples).
Avant de commencer, je précise bien dans tous les cas qu'il s'agit d'éventualités d'attaque, que je ne lie pas du tout à l'importance de la machine : un attaque complexe ne sera certainement pas mise en œuvre pour pénétrer le PC de madame Michu... Et mine de rien, sur ce forum on parle surtout de la machine de madame Michu 🙂
Cas 1/ aucun logiciel serveur n'est en place sur cette machine, qui est maintenue à jour
Aucun port n'est en écoute, un pirate n'aura alors pas moyen de pénétrer sur la machine, sauf éventuellement entre la publication d'une mise à jour de sécurité du noyau et son application par l'utilisateur/administrateur ou alors s'il s'agit d'une faille zero-day (faille ayant été exploitée avant d'être rendue publique). Il faut savoir que les failles réseau du noyau rendant possible une pénétration sur la machine sont rares et très difficiles à exploiter, surtout quand on met régulièrement sa machine à jour, ne laissant ainsi pas le temps à un éventuel pirate de pénétrer la machine.
Ici, le pare-feu est inutile.
Cas 2/ aucun logiciel serveur n'est en place sur cette machine, qui n'est pas maintenue à jour
Aucun port n'est en écoute, un pirate n'aura alors pas moyen de pénétrer sur la machine en "attaquant un port". Par contre, il pourra tenter de pénétrer la machine en utilisant une faille du noyau qui n'aurait pas été corrigée sur cette machine non mise à jour : il a alors tout le temps qu'il veut pour tenter d'exploiter cette faille qui, bien que rare et difficile à exploiter, suffit à pouvoir affirmer que la machine n'est plus inviolable.
Ici, le pare-feu complexifierait le travail du pirate mais n'enlèverait pas la faille.
Cas 3/ Un ou plusieurs logiciel(s) serveur(s) est/sont en place sur cette machine, qui est maintenue à jour - ce(s) logiciel(s) est/sont correctement configuré(s)
Un ou plusieurs port(s) est/sont en écoute. Cela ne veut pas dire que la machine est corrompue ou corruptible : tant que le(s) logiciel(s) serveur(s) est/sont correctement configuré(s), il n'y a grosso modo pas de risque. La machine étant régulièrement mise à jour, une éventuelle faille sur l'un ou l'autre de ces logiciels serait rapidement corrigée. Il y a toujours le risque de la faille zero-day, ou d'un délai entre disponibilité et application de la mise à jour ; parfois, certaines failles sont exploitables sans trop de difficulté, il y a là un risque, mais plutôt minime.
Ici, le pare-feu peut éventuellement permettre de ne rendre accessible le port qu'à partir de certaines adresses IP, réduisant ainsi le risque qui est lui-même déjà minime. Cela peut toutefois être contourné par des attaques de type "spoofing".
Cas 4/ Un ou plusieurs logiciel(s) serveur(s) est/sont en place sur cette machine, qui n'est pas maintenue à jour - ce(s) logiciel(s) est/sont correctement configuré(s)
On est dans un cas assez proche du précédent, sauf que là si une faille est présente sur l'un des logiciels serveurs (ou dans le noyau), elle ne sera pas corrigée : le pirate a alors tout le loisir d'exploiter cette faille, en prenant le temps qu'il faut.
Le pare-feu a ici le même usage que dans le cas précédent, il réduit le risque mais ne le supprime pas.
Cas 5/ Un ou plusieurs logiciel(s) serveur(s) est/sont en place sur cette machine, qui est maintenue à jour - ce(s) logiciel(s) est/sont mal configuré(s)
On est dans un cas assez similaire au cas 3. On ajoute cependant un risque lié aux erreurs de configuration : une mauvaise configuration peut parfois permettre à un pirate de pénétrer la machine sans même utiliser une faille. On est ici dans un cas assez courant sur ce forum : celui du gars qui veut faire son serveur lui-même, qui suit des tutoriels sans vraiment les comprendre puis qui laisse sa machine "vivoter".
Le pare-feu n'apporte pas plus de sécurité qu'avec les cas 3 et 4.
Cas 6/ Un ou plusieurs logiciel(s) serveur(s) est/sont en place sur cette machine, qui n'est pas maintenue à jour - ce(s) logiciel(s) est/sont mal configuré(s)
Là, on est dans le pire des cas : on cumule les risques d'exploitation de failles aux risques liés à la mauvaise configuration du système et à sa non-maîtrise.
Le pare-feu n'apporte pas plus de sécurité qu'avec les cas 3, 4 et 5.
-----
Quand j'évoque ici une mauvaise configuration, je ne peux pas être beaucoup plus précis : il y a autant de cas qu'il y a de directives pour chacun des logiciels que l'on peut placer comme serveur. On peut évoquer :
- l'utilisation de mots de passe trop simples
- l'activation de fonctionnalités d'administration simplifiées, par le réseau (webmin et cie)
- l'activation ou la non-désactivation d'un accès un peu trop "large" (par exemple si avec un serveur FTP on laisse l'utilisateur "anonymous" accéder à l'intégralité de l'arborescence des disques)
- etc
C'est pour cela que je conseille toujours de s'adresser à un professionnel quand on veut mettre en place un "vrai" serveur d'entreprise : le (bon) professionnel ne fait pas que suivre des tutoriels : il a de l'expérience, il sait ce qu'il faut sécuriser, il sait comment sécurisé et il maîtrise le système qu'il met en place. Et surtout, il comprend ce qu'il faut.
-----
Enfin, notons qu'une manière "facile" de pénétrer une machine est simplement de récupérer les identifiants permettant de s'y connecter... Si vous laissez traîner les clés de votre maison dans la poche de votre veste sur une chaise dans l'entrée chez un ami qui fait une soirée, beaucoup de gens auront l'opportunité de la copier...
À partir de là, soit cette personne peut avoir accès physique à la machine concernée (et se connecter comme vous le feriez vous-même), soit un accès distant (comme un serveur SSH) est disponible et il n'a plus qu'à se connecter...