Dernière mise à jour : 03/10/2004
Cet article né il y a quelques années dans la section réseau vient de passer tout naturellement dans la section sécurité. Je tiens à préciser qu'il ne représente pas une seule façon de rendre votre machine sécurisée mais présente plusieurs liens et outils qui pourront sans doute vous aider à vous rendre compte du niveau de sécurité de votre machine.
Les démons et versions de logiciels
Les premiers trous de sécurité sont généralement dus à des versions de démons (SSH, FTP, WWW, etc ...) qui ne sont pas mis à jour depuis longtemps ou à temps. Si vous avez un minimum de méthode et que vous pensez sécuriser votre machine comme un serveur, vous faîtes sans doute partie de ces personnes qui visitent les sites de sécurité sur des bases régulières. C'est une bonne étape pour voir rapidement si votre distribution favorite est vulnérable.
La second option est d'aller sur le site de la distribution que vous possédez et vérifier qu'aucune mise à jour de sécurité n'est disponible depuis votre installation ou dernière mise à jour. Ainsi, dans la liste des applications le plus mises à jour, on notera : Apache, OpenSSH & OpenSSL et les démons FTP. Voici donc une liste de sites de sécurité que je vous conseille de visiter régulièrement.
- http://www.linuxsecurity.com/
- http://www.securiteam.com/
- http://www.sans.org
- http://www.securite.org
- http://www.securityfocus.com/
Après avoir mis à jour, il convient de ne laisser ouvert que ce que vous utilisez. Ainsi, si vous faîtes une installation complète de Mandrake, SuSE ou Redhat, vous pouvez vous retrouver avec les démons SSH, Apache, Apache SSL, CVS et encore d'autres choses qui ne vous sont pas vraiment nécessaires. Assurez vous de désactiver tous les services que vous n'utilisez pas. Utilisez également SSH (et par conséquent scp, qui vous permet de faire des copies de fichiers sur des machines distantes) et oubliez FTP. FTP transmet vos mots de passe en clair sur le réseau, il pourrait être récupéré rapidement par quelqu'un. Dans le cas de SSH, il est crypté. Si vous voulez un maximum de sécurité, vous pouvez également échanger la clé publique entre vos machines, cela vous permettra de vous connecter sans échanger de mot de passe.
A la demande de quelques utilisateurs, je dois clarifier l'utilisation de SSH (Secure Shell). Comme son nom l'indique, il remplace l'utilisation d'abominations telles que rsh et telnet. Il existe deux versions de SSH que vous pouvez activer ou désactiver. La version 1 du protocole se veut moins sécurisée et ne devrait plus être utilisée, préférez donc pour cela SSH2 qui comporte bien plus de sécurité et pour lequel moins de failles ont été trouvées. Dans le cas de SSH 2, il sera nécessaire de communiquer avec RSA et de fournir un échange de clés, rendant la communication moins falsifiable mais également plus sûre.
Je me permet également de vous faire une petite note sur l'utilisation du mode super-utlisateur, j'ai nommé : root. Ce compte est réservé à l'administration de votre machine, ainsi vous devriez toujours être connecté en tant que simple utilisateur. C'est généralement la première grosse erreur sous windows : tout programme peut être exécuté avec les droits complets, ne faîtes pas de même sous Linux.
Tester votre sécurité réseau
Après vous être donné du mal pour sécuriser un minimum votre machine, il serait intéressant de constater ce que cela donne. Vous pouvez donc pour se faire utiliser des logiciels pour scanner votre machine et vous indiquer ce qu'il reste à sécuriser. Je vous conseille les logiciels suivants, dans la catégorie testeurs :
- http://www.insecure.org - Le site Officiel de NMAP qui possède de nombreuses fonctions avancées pour scanner votre machine.
- http://www.nessus.org - Le site Officiel de Nessus qui bien que fastidieux à installer se révèle très bon pour vous sensibiliser sur les problèmes de sécurité courants.
Si vous n'êtes pas satisfait du résultat, il vous reste encore quelques options pour rendre votre machine plus sécurisée. Ces programmes vous permettent de fermer les portes de votre machine et de sécuriser également un serveur de ses utilisateurs locaux. Voici donc une petite liste :
- http://www.bastille-linux.org - A utiliser avec précautions, Bastille sécurise votre machine complètement (et peux même vous empêcher de vous relogger de nouveau ;).
- http://www.snort.org - Snort est un sniffer qui scrute votre interface réseau (carte éthernet ou bien modem) pour détecter les machines qui tentent d'obtenir des informations sur les services activés et le type de machine que vous possédez.
- http://www.prelude-ids.org/ - Prélude vous permet également de contrôler les intervenants du réseau sur votre machine.
- http://www.netfilter.org - Netfilter est un projet mettant à votre disponibilité iptables qui vous servira à construire un firewall sous kernel 2.4.
Je termine donc cet article sur la sécurité sous Linux. N'oubliez pas que le bon sens reste le facteur déterminant d'une machine sûre. Moins vous exposez de vulnérabilités et moins vous avez de chances de vous faire embêter. N'hésitez pas à m'écrire si vous pensez que cette article manque de clarté ou que j'ai omis un lien important.