Vous le savez, Linux est un -si ce n’est le- plus stable des OS que l’on puisse croiser de nos jours. C’est aussi un système très populaire. Peut importe ce dont vous avez besoin, vous trouverez chaussure a votre pied… Mais il ne faut pas faire les choses n’importe comment, je vais donc essayer d’aborder ici un point très important: La sécurité.
Attention, je n’ai jamais eu la prétention d’être un expert dans ce domaine, je vais donc seulement vous parler de ce je connais.. (les bases). Lire cet article ne vous rendra pas aussi populaire que Kevin Mitnik ou assimilé. De plus c’est un domaine très vaste et en constante évolution. Un bon administrateur saura se tenir informé et devra s’y intéresser: http://www.securityfocus.com/, http://www.linuxsecurity.com/… seront de bonnes sources d’inspiration :)
Tout d’abord je vais supposer que vous savez installer la distribution qui vous intéresse et que c’est fait – beau raccourci, hein ! – Mais sans X11.. parceque-c’est-moche-et-que-je-suis-un-l33t ? Non. Mais dans ce tutoriel, je ne l’aborderais pas.
Règle n°1: Si vous n’avez pas besoin de quelque chose (services, applications..) ne l’activez pas ! C’est très important, la raison est simple: Plus vous avez de services activés, plus vous encourez le risque d’être vulnérable a un exploit… Un chemin royal pour qui en voudrait a vôtre machine.
Première étape pour sécuriser vôtre serveur, plusieurs choses importantes:
Changer le mot de passe root: J’insiste sur ce point, mais je vois trop souvent de mot de passes composés de quelques lettres ! Dans la plupart des cas, il devra être composé d’au moins 12 caractères dont 4 spéciaux (%*/;…) et 4 numériques. ex: Rv1-45/o;.V6 qui est considéré comme fort. Hey, vous au fond ! Inutile de l’écrire sous le clavier, juste un petit effort pour le retenir.. ;)
De plus, le changer régulièrement c’est pas une mauvaise chose.. tout les 2 mois par exemple.
Sachez qu’il existe des application qui peuvent « scanner » vos machines pour essayer différents mot de passes a partir de « dictionnaires », donc évitez la date de naissance de votre belle-mère.
Pour ce qui est des scanners (brute-force) nous verrons, plus tard comment s’en protéger un minimum.
Pour changer votre mot de passe root:
1 | # passwd |
Pour changer le mot de passe de l’un de vos utilisateurs:
1 | # passwd lenomdelutilisateur |
Désactiver les suid: Parfois très pratiques – et très dangereux – le SUID (« Set User ID ») vous permet de faire fonctionner une application en tant qu’autre utilisateur. Imaginez que quelqu’un ai accès a l’une de ces applications (via un shell, apache).. et puisse lire votre /etc/shadow.. toute la sécurité de votre serveur serait compromise.
Pour trouver tout les binaires qui utilisent un SUID, tapez la ligne suivante:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # ls -alF `find / -perm -4000` | more -rwsr-xr-x 1 root root 60104 Apr 1 2002 /bin/mount* -rwsr-xr-x 1 root root 35192 Apr 18 2002 /bin/ping* -rwsr-xr-x 1 root root 19116 Apr 8 2002 /bin/su* -rwsr-xr-x 1 root root 30664 Apr 1 2002 /bin/umount* -r-sr-xr-x 1 root root 120264 Apr 9 2002 /sbin/pwdb_chkpwd* -r-sr-xr-x 1 root root 16992 Apr 9 2002 /sbin/unix_chkpwd* -rwsr-xr-x 1 root root 37528 Jan 17 2002 /usr/bin/at* -rwsr-xr-x 1 root root 34296 Mar 27 2002 /usr/bin/chage* -rws--x--x 1 root root 12072 Apr 1 2002 /usr/bin/chfn* -rws--x--x 1 root root 11496 Apr 1 2002 /usr/bin/chsh* -rwsr-xr-x 1 root root 21080 Apr 15 2002 /usr/bin/crontab* -rwsr-xr-x 1 root root 36100 Mar 27 2002 /usr/bin/gpasswd* -rwsr-xr-x 1 root root 19927 Apr 17 2002 /usr/bin/lppasswd* -rws--x--x 1 root root 4764 Apr 1 2002 /usr/bin/newgrp* -r-s--x--x 1 root root 15104 Mar 13 2002 /usr/bin/passwd* -rwsr-xr-x 1 root root 14588 Jul 24 2001 /usr/bin/rcp* -rwsr-xr-x 1 root root 10940 Jul 24 2001 /usr/bin/rlogin* -rwsr-xr-x 1 root root 7932 Jul 24 2001 /usr/bin/rsh* -rwsr-xr-x 1 root root 219932 Apr 4 2002 /usr/bin/ssh* ---s--x--x 1 root root 84680 Apr 18 2002 /usr/bin/sudo* -rwsr-xr-x 1 root root 32673 Apr 18 2002 /usr/sbin/ping6* -r-sr-xr-x 1 root root 451280 Apr 8 2002 /usr/sbin/sendmail.sendmail* -rwsr-xr-x 1 root root 20140 Mar 14 2002 /usr/sbin/traceroute* -rwsr-xr-x 1 root root 13994 Apr 18 2002 /usr/sbin/traceroute6* -rws--x--x 1 root root 22388 Apr 15 2002 /usr/sbin/userhelper* -rwsr-xr-x 1 root root 17461 Apr 19 2002 /usr/sbin/usernetctl* |
NOTE: Le « s » signifie que le fichier est SUID.
La plupart des administrateurs systèmes recommandent de désactiver les services comme « ping » ou traceroute » (lorsque vous n’en avec pas besoin).. Je vous conseillerais de désactiver, dans ce cas: chage, chfn, chsh, mount, umount, gpasswd, usernetctl, traceroute, traceroute6, newgrp, ping6, ping.
Désactiver le SUID sur ces binaires empêche tout autre utilisateur que le propriétaire de l’exécuter (tout en sachant que la plupart de ces services aurons besoin d’être exécuté en root pour fonctionner)
1 2 | # chmod 111 /chemin/du/binaire # chattr +I /chemin/du/binaire |


