Mot de passe root perdu ? Un peu de sécurité…

(Cet article s’adresse aux serveurs utilisant GRUB au démarrage)
Sur un serveur Linux, on se croit toujours en sécurité … Et pourtant …
Par défaut, le GRUB n’est pas sécurisé c’est pourquoi on peut réinitialiser le mot de passe root facilement.
Nous allons donc passer en revue plusieurs méthodes pour sécuriser au maximum votre serveur Oracle.

  • Dans un premier temps, comment réinitialiser un mot de passe root perdu.
  • Ensuite, comment protéger GRUB pour, justement, ne plus pouvoir réinitialiser le mot de passe sans sécurité.
  • Puis, comment enlever la sécurité du GRUB si vous avez oublié le mot de passe root et celui du GRUB
  • Et enfin, l’ultime méthode pour protéger votre serveur au démarrage … Quoique …

Pour l’exemple, j’utilise Oracle Enterprise Linux 5.3.

Réinitialiser un mot de passe root:

Dans un premier temps, il va falloir démarrer votre serveur en mode single-user.
Pour ce faire, voici les étapes :

  • Redémarrez votre serveur et à l’affichage du GRUB, appuyez sur ‘e’

  • Dans le nouveau prompt, placez vous à la ligne qui commence par ‘kernel’, et appuyez de nouveau sur ‘e’
  • Vous n’aurez pas forcement le même prompt que moi, mais à la suite de ce qui est déjà écrit, ajoutez ‘ single’ puis appuyez sur Entrer
  • Vous allez revenir au prompt précédent, vous pouvez alors appuyer sur ‘b’ pour booter en mode single-user.
  • Une fois votre serveur démarré, vous pouvez taper la commande suivante pour réinitialiser votre mot de passe :

Protéger GRUB

Il est possible de mettre un accès sécurisé au GRUB, de cette manière il sera impossible d’éditer le GRUB sans en avoir le mot de passe.

  • Dans un prompt shell en root, tapez :
    [root]# /sbin/grub-md5-crypt
  • Et entrez le mot de passe que vous souhaitez mettre à votre GRUB:
    Password:
    Retype password:
    $1$4/Cmc$hptVHyIfGIKxmP9xBTqE./
    
  • Ensuite, il va falloir copier la chaine de caractère généré, dans le grub.conf.
    [root]# vi /boot/grub/grub.conf
  • En dessous de votre ‘timeout’, ajoutez :
    password --md5 votre_md5_généré
  • Si vous redémarrez votre serveur, vous vous apercevrez que l’option ‘e’ dans votre GRUB n’est plus disponible, il faut maintenant appuyer sur ‘p’ et entrer le mot de passe.

Enlever la sécurité du GRUB

Si, par manque de chance, vous oubliez aussi votre mot de passe GRUB, car vous voulez réinitialiser votre mot de passe root, car vous l’avez oublié (…), il est possible d’enlever la ligne que vous avez précédemment enregistrée dans votre grub.conf.

  • En démarrant à partir d’un live cd, vous pourrez monter votre partition avec la commande mount :
    $sudo mount /dev/hda1 /mnt
  • Ensuite, dans /mnt vous pourrez naviguer jusqu’à votre grub.conf et supprimer votre ligne ‘password –md5’
  • Au redémarrage, vous pourrez accéder de nouveau à votre GRUB sans mot de passe 🙂

Dernière solution

Si vous ne pouvez pas vous contenter de cette sécurité, vous pouvez alors ajouter un mot de passe à votre BIOS. Sachez aussi qu’il est possible de le réinitialiser en flashant la CMOS…

3 réflexions sur “Mot de passe root perdu ? Un peu de sécurité…”

  1. A partir du moment ou qq un a acces a la phase de boot, pour moi la messe est deja dite : on peut deja copier les donnees avec un live CD ou une cle USB bootable. Comme sur solaris ou windows …
    Le mdp grub c’est bien … pour perdre du temps en cas de gros souci du cote du systeme. Pour le reste …. je deconseille

  2. On peut toujours désinstaller le GRUB et / ou utiliser un autre Boot Loader 🙂

Les commentaires sont fermés.