Mais pourquoi s'embêter ? La sécurité ? "Moi, je m'en fois, ya rien de précieux sur ma machine... personne n'a intérêt à me pirater". FAUX ! Les pirates recherchent les machines vulnérables pour avoir un accès à un compte sur ces machine et pouvoir lancer des attaques depuis cette machine... et pas directement depuis là leur. Comme çà, on remonte beaucoup moins facilement jusqu'à eux. J'ai Linux donc je suis tranquille... FAUX ! Il y a des failles de sécurité, même sous Linux. Par exemple, sur les noyaux 2.2.19 et inférieurs, ainsi que sur les noyaux 2.4.12 et inférieurs, une faille permet à n'importe quel utilisateur de devenir root ! On appelle ça un "local root exploit". D'où l'importance de se tenir au courant.
  1. Les ports ouverts Lors de cette formation, nous avons installé des serveurs SSH, Web, FTP, Samba... Ces serveurs "écoutent" sur certains ports TCP (22 pour SSH, 80 pour Apache...). La liste complète des ports et des services associés est disponible dans /etc/services. Pour voir la liste des ports ouverts (on dit faire un scannage de ports), il faut utiliser nmap en root (disponible dans le package nmap). Il suffit alors de taper :
    nmap localhost
    pour voire la liste des ports ouverts sur ta babasse et les noms des services associés. Attention, tu as le droit de faire un scannage de ports sur ta machine... mais pas sur la machine des autres ! En effet, faire un scannage de ports est considéré comme la première étape d'une attaque. Les pirates ne peuvent s'introduire que par des ports ouverts. Il leur suffit ensuite de trouver une faille dans le programme qui écoute sur un des ports pour avoir accès à ta machine... avec les mêmes droits que le programme en question. Par exemple, le serveur SSH, qui écoute sur le port 22, est lancé en root. Pour t'en convaincre, tape :
    ps aux | grep sshd
    ce qui te donne une ligne du genre :
    root       285  0.0  1.2  2772  800 ?        S    16:30   0:01 /usr/sbin/sshd

    et tu vois dans la première colonne qu'il est lancé en root. Donc, si le serveur SSH a une faille de sécurité, la personne qui arrive à l'exploiter pourra s'introduire sur ta machine par le port 22 et aura alors les droits de root sur ta machine. C'est ce qu'on appelle un "remote root exploit". C'est ce qui est arrivé le 20 Février 2001. Mais l'avantage d'appartenir au monde open source... est que tout le monde peut corriger la faille. La corrections des failles est donc beaucoup plus rapide que sous d'autres OS non libres. Pour voir la liste des connections ouvertes à l'instant t sur ta babasse, utilise netstat (qui est dans la package "netbase") :
    netstat -p.
  2. Mettre à jour et se tenir au courant Avec Debian, quand un package a une faille de sécurité, il est rapidement mis à jour sur le site FTP de Debian-Security. Il faut donc rajouter dans la liste des packages à aller chercher l'adresse de Debian-Security. Dans le fichier /etc/apt/sources.list, rajoute la ligne suivante :
    deb ftp://security.debian.org/debian-security potato/updates main contrib non-free Pour être mis au courant d'une mise à jour de sécurité de Debian-Security, il faut s'abonner à la mailing-list "debian-security-announce". Pour s'inscrire, il suffit de se rendre à l'adresse www.debian.org/MailingLists/subscribe. Il est bon de s'abonner aussi à "debian-announce" par la même occasion. Cette dernière mailing-list annonce les releases de Debian. Quand une faille de sécurité est corrigée par Debian, tu reçois un mail par la mailing-list "debian-security-announce". Ce mail te décris la faille et te demande de mettre à jour. Avec la ligne que tu as rajouté dans /etc/apt/sources.list, la procédure de mise-à-jour est très simple : apt-get update
    apt-get upgrade
  3. Utiliser des mots de passe complexes Comme tu as installé un serveur SSH, on peut se logguer à distance sur ta babasse. Pour cela, il suffit de connaître ton login et ton mot de passe. Ton mot de passe doit donc être le plus compliqué possible, et comporter au moins 8 caractères. Une bonne méthode pour obtenir un mot de passe complexe et facile à retenir consiste à choisir une phrase et à prendre la première lettre de chaque mot, avec quelques complications en plus. Par exemple, la phrase "Linux, moi j'y comprends rien de rien !" donne Lmjycr2r!. Pour vérifier que les mots de passe des utilisateurs du système sont vraiment complexes, le root peut s'amuser à les soumettre à un cracker de mots de passe... et voire combien de temps ils résistent. Pour cela, on va installer john, avec le package du même nom, et le lancer en root (pour qu'il puisse lire le fichier /etc/shadow où sont stockés les mots de passe) dans un screen en lui disant que l'on utilise des mots de passe au format MD5 :
    screen john -format:md5 /etc/shadow
    Pour voire si john a réussi à cracker des mots de passe, il suffit de réattacher le screen ou de taper :
    john -show /etc/shadow
    et il te dira alors qui sont les utilisateurs dont il a réussi à cracker le mot de passe et quel est leur mot de passe. Attention, john est un truc très gorêt qui utilisera ton processeur à 100 % !
  4. Lire les logs Les logs sont des fichiers textes produits par le système, dans lequel celui-ci raconte ce qu'il fait et ce qui lui arrive. Il donne des rensignements sur ce que font les programmes, les connections qui arrivent à ta babasse, les personnes qui s'y connectent. Les logs se trouvent dans le répertoire /var/log. Il faut appartenir au groupe "adm" pour pouvoir les lire. Rajoute donc ton utilisateur au groupe "adm" en tapant en root :
    adduser toto adm. Les fichiers de logs les plus importants sont : Lire régulièrement les logs de sa machine permet de voire si quelqu'un qui essaye de t'attaquer. Cela permet aussi de voire si tout ce passe bien au niveau du système, du noyau, etc...


  Précédent   Index   Suivant