Cela peut paraître étrange de parler de sécurisation sans pare-feu. Pourquoi, vous pensiez que le pare-feu était une fin en soi en terme de sécurité ?
Attention, ce qui suit n'est pas un cours sur le fonctionnement des réseaux et des pare-feu, mais quelques mécanismes de fonctionnement qu'il faut assimiler (à mon avis) avant de connecter sa machine personnelle sur Internet. Dans le cadre cette note, une connexion de type ADSL est utilisée, soit via un modem ADSL ou une box (Freebox, Livebox, ...) soit un routeur (qu'on soit en WiFi ou pas). Le pare-feu dont il est question ici est un pare-feu local, c'est à dire un logiciel fonctionnant sur sa machine. Evidemment le pare-feu dont il est question ici est basé sur Netfilter/iptables 
Par où commencer ?
Il était une fois ... un programme qui écoutait sur Internet ... mais n'avait pas été conçu pour traiter des données incohérentes ...
Les services, le maillon faible ?
De nombreux services Linux écoutent sur le réseau dans l'attente d'une commande. Malheureusement, tout programme a ses faiblesses et l'envoi de données incohérentes peut le faire planter. Pire, dans certains cas il peut permettre à l'assaillant de prendre le contrôle du système ! C'est ce qu'on appelle une faille de sécurité qui permet un exploit.
Il est donc fortement conseillé :
- d'arrêter les services non utiles
- voire même de désinstaller les logiciels non utilisés
- de maintenir à jour son système
A savoir : le service dm, c'est à dire le serveur X ou plus prosaiquement le système qui gère l'affichage, est configuré par défaut pour écouter le réseau. Ceci est indispensable pour pouvoir utiliser l'interface graphique en mode déporté (càd à partir d'une autre machine). Dans notre cas, cette fonctionnalité n'est pas utilisée. Il faudra donc veiller à désactiver cette option ou configurer le pare-feu pour interdire le port associé au protocole X11 (port numéro 6000) car arrêter ce service n'est pas la solution 
Comment communiquent les programmes via le réseau ?
Pour communiquer entre eux, deux programmes distants utilisent une connexion réseau suivant un certain protocole (TCP ou UDP). Sur cette connexion, un programme est identifié par l'adresse IP de la machine sur laquelle il s'exécute et un numéro de port (un port représente un point d'écoute sur un système). Certains numéros de port sont associés à un service connu. Par exemple, le port 80 est réservé au service Web. Le port utilisé par le programme à l'initiative de la connexion est en général différent du port utilisé par le programme qui accepte la connexion.
Connexion sur http://www.google.fr Une connexion réseau peut être vue comme un tuyau reliant 2 systèmes. Les données échangées entre les 2 machines sont véhiculées dans ce tuyau par le réseau.
A savoir : tout programme qui utilise le réseau pour communiquer n'est pas forcément un service. Par exemple, votre navigateur utilise le réseau pour communiquer mais n'est pas un service.
Que peut faire un pare-feu ?
- Cacher l'existence de son système à tout ou partie du monde extérieur (càd du réseau)
- Interdire/Autoriser l'accès à certains services de son système, à tout ou partie du monde extérieur
- Interdire/Autoriser l'accès à certains services de systèmes distants
- Interdire/Autoriser l'accès au réseau aux services ou programmes fonctionnant localement
- Détruire automatiquement toute requête invalide (transfert de données sans ouverture de connexion préalable par exemple)
- Tracer l'activité réseau
Un pare-feu permet donc de protéger un système contre les tentatives d'accès non autorisés mais aussi peut être utilisé pour éviter qu'un programme local n'envoie des informations vers l'exterieur (espiogiciel par exemple).
Un pare-feu, est-ce bien utile ?
Si vous voulez qu'un des services fonctionnant sur votre système (serveur FTP par exemple) soit accessible depuis Internet, il faut ouvrir l'accès au port qui sert d'accès à ce service. A partir de là, votre pare-feu ne protège plus à 100% votre système car si une faille de sécurité existe dans le logiciel qui gère le service accessible depuis Internet, c'est potentiellement tout votre système qui est piratable.
Mais en supposant qu'aucun service réseau ne soit démarré sur sa machine, est-ce bien utile d'activer un pare-feu ? - Etes-vous vraiment sûr qu'aucun service réseau ne soit démarré sur votre système ? Souvenez-vous du serveur X ... il y en a peut-être d'autres.
- Etes-vous vraiment sûr qu'en surfant vous n'allez pas récupérer un logiciel espion ?
- Etes-vous de ne pas avoir installé un logiciel qui transmet certaines données vers l'exterieur sans vous prévenir ?
Un pare-feu ne doit pas être exclusivement vue comme une porte qui n'autorise que certains flux à entrer, il sert aussi à filtrer les flux sortants !
Et si on est derrière un routeur ?
Lorsqu'on accède à Internet via un routeur, c'est le routeur qui est visible d'Internet (c'est à dire, le routeur dispose d'une adresse IP publique), pas le ou les ordinateurs qui sont derrière (ils disposent d'une adresse IP privée). Dans ce cas faut-il activer un pare-feu sur le PC ?
Oui :
- Pensez aux flux sortants !
- Si on a un service visible depuis Internet - le routeur a dû être configuré pour transmettre les données au PC - et qu'on veuille explicitement interdire l'accès à ce service à certaines machines (identifiées par leurs adresses IP)
Néanmoins, une attaque par balayage de ports se sera pas visible du PC, seul le routeur en aura la connaissance. Dans ce cas, Mandi (le pare-feu interactif) ne servira pas.
Configurer son pare-feu
Un pare-feu bien configuré est un pare-feu qui interdit tout par défaut. Et au fur et à mesure de l'utilisation de son système, on ouvre consciemment les ports utilisés.
L'article suivant explique comment configurer le pare-feu intégré au Centre de Contrôle Mandriva.
Date de création : 05/12/2005 @ 21:50
Dernière modification : 13/12/2005 @ 21:08
Catégorie : Sécurité
Page lue 7332 fois
Prévisualiser la page
Imprimer la page
|