|
Nous passons normalement une bonne partie de notre temps sur empêcher tout accès non autorisé à nos équipes: nous configurons des pare-feu, des permissions utilisateurs, des ACL, créons des mots de passe forts, etc.; mais on se souvient rarement protéger la mise en service de nos équipements.
Si une personne a un accès physique à l'ordinateur, elle peut le redémarrer et modifier les paramètres GRUB pour obtenir les droits d'administrateur. Il lui suffit d'ajouter un « 1 » ou un « s » à la fin de la ligne « kernel » de GRUB pour obtenir ces droits. |
Pour éviter cela, GRUB peut être protégé en utilisant un mot de passe, de sorte que s'il n'est pas connu, il ne soit pas possible de modifier ses paramètres.
Si le chargeur de démarrage GRUB est installé (ce qui est le plus courant si vous utilisez les distributions Linux les plus courantes), vous pouvez protéger chaque entrée du menu GRUB avec un mot de passe. De cette façon, chaque fois que vous choisissez un système d'exploitation pour démarrer, il vous demandera le mot de passe que vous avez spécifié afin de démarrer le système. Et en prime, si votre ordinateur est volé, les intrus ne pourront pas accéder à vos fichiers. Ça sonne bien, non?
GRUB-2
Pour chaque entrée Grub, vous pouvez établir un utilisateur avec des privilèges pour modifier les paramètres des entrées qui apparaissent dans GRUB au démarrage du système, à l'exception du superutilisateur (celui qui a accès pour modifier Grub en appuyant sur la touche «e»). Nous allons le faire dans le fichier /etc/grub.d/00_header. Nous ouvrons le fichier avec notre éditeur préféré:
sudo nano /etc/grub.d/00_header
À la fin, collez ce qui suit:
chat < < EOF
définir les superutilisateurs = "user1"
mot de passe utilisateur1 mot de passe1
EOF
Où user1 est le superutilisateur, exemple:
chat < < EOF
définir les superutilisateurs = "superutilisateur"
mot de passe du superutilisateur 123456
EOF
Pour créer plus d'utilisateurs, ajoutez-les ci-dessous:
mot de passe du superutilisateur 123456
Cela ressemblerait plus ou moins comme suit:
chat < < EOF
définir les superutilisateurs = "superutilisateur"
mot de passe du superutilisateur 123456
mot de passe user2 7890
EOF
Une fois que nous avons défini les utilisateurs souhaités, nous enregistrons les modifications.
Protégez Windows
Pour protéger Windows, vous devez éditer le fichier /etc/grub.d/30_os-prober.
sudo nano /etc/grub.d/30_os-prober
Recherchez une ligne de code qui dit:
menuentry "$ {LONGNAME} (sur $ {DEVICE})" {
Cela devrait ressembler à ceci (le superutilisateur étant le nom du superutilisateur):
menuentry "$ {LONGNAME} (sur $ {DEVICE})" - superutilisateur des utilisateurs {
Enregistrez les modifications et exécutez:
sudo mise à jour-grub
J'ai ouvert le fichier /boot/grub/grub.cfg:
sudo nano /boot/grub/grub.cfg
Et où est l'entrée Windows (quelque chose comme ça):
menuentry "Windows XP Professionnel" {
changez-le en ceci (user2 étant le nom de l'utilisateur qui a les privilèges d'accès):
menuentry "Windows XP Professionnel" - utilisateurs user2 {
Redémarrez et partez. Maintenant, lorsque vous essayez d'entrer Windows, il vous demandera le mot de passe. Si vous appuyez sur la touche "e", il vous demandera également le mot de passe.
Protégez Linux
Pour protéger les entrées du noyau Linux, éditez le fichier /etc/grub.d/10_linux, et recherchez la ligne qui dit:
menuentry "$ 1" {
Si vous souhaitez uniquement que le super-utilisateur puisse y accéder, cela devrait ressembler à ceci:
menuentry "$ 1" - utilisateurs user1 {
Si vous souhaitez qu'un deuxième utilisateur puisse accéder:
menuentry "$ 1" - utilisateurs user2 {
Vous pouvez également protéger l'entrée de la vérification de la mémoire, en éditant le fichier /etc/grub.d/20_memtest:
menuentry "Test de mémoire (memtest86 +)" –users superuser {
Protégez toutes les entrées
Pour protéger toutes les entrées, exécutez:
sudo sed -i -e '/ ^ menuentry / s / {/ –users superutilisateur {/' /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-prober / etc / grub.d / 40_custom
Pour annuler cette étape, exécutez:
sudo sed -i -e '/ ^ menuentry / s / –users superutilisateur [/ B] {/ {/' /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os- prober /etc/grub.d/40_custom
GRUB
Commençons par ouvrir l'environnement GRUB. J'ai ouvert un terminal et écrit:
ver
Ensuite, j'ai entré la commande suivante:
md5crypt
Il vous demandera le mot de passe que vous souhaitez utiliser. Tapez-le et entrez. Vous obtiendrez un mot de passe crypté, que vous devez garder très soigneusement. Maintenant, avec les autorisations d'administrateur, j'ai ouvert le fichier /boot/grub/menu.lst avec votre éditeur de texte préféré:
sudo gedit /boot/grub/menu.lst
Pour mettre le mot de passe dans les entrées du menu GRUB que vous préférez, vous devez ajouter ce qui suit à chacune des entrées que vous souhaitez protéger:
mot de passe --md5 my_password
Où my_password serait le mot de passe (chiffré) renvoyé par md5crypt: Avant:
titre Ubuntu, noyau 2.6.8.1-2-386 (mode de récupération)
root (hd1,2)
noyau /boot/vmlinuz-2.6.8.1-2-386 root = / dev / hdb3 ro single
initrd /boot/initrd.img-2.6.8.1-2-386
Après:
titre Ubuntu, noyau 2.6.8.1-2-386 (mode de récupération)
root (hd1,2)
noyau /boot/vmlinuz-2.6.8.1-2-386 root = / dev / hdb3 ro single
initrd /boot/initrd.img-2.6.8.1-2-386
password –md5 $1$w7Epf0$vX6rxpozznLAVxZGkcFcs
Enregistrez le fichier et redémarrez. C'est simple! Pour éviter non seulement qu'une personne malveillante puisse modifier les paramètres de configuration de l'entrée protégée, mais aussi qu'elle ne puisse même pas démarrer ce système, vous pouvez ajouter une ligne dans l'entrée "protected", après le paramètre title. En suivant notre exemple, cela ressemblerait à ceci:
titre Ubuntu, noyau 2.6.8.1-2-386 (mode de récupération)
bloquer
root (hd1,2)
noyau /boot/vmlinuz-2.6.8.1-2-386 root = / dev / hdb3 ro single
initrd /boot/initrd.img-2.6.8.1-2-386
password –md5 $1$w7Epf0$vX6rxpozznLAVxZGkcFcs
La prochaine fois que quelqu'un voudra démarrer ce système, il devra entrer le mot de passe.
Source : Delanover & Makeuseof & Forums Ubuntu & Elavdeveloper