Perché un boot loader Linux dovrebbe avere la protezione tramite password?
I seguenti sono i motivi principali per la protezione con password di un boot loader Linux:
1. Impedire l'accesso alla modalità utente singolo – Se un utente malintenzionato può eseguire l'avvio in modalità utente singolo, diventa l'utente root.
2. Impedire l'accesso alla console GRUB – Se la macchina utilizza GRUB come caricatore di avvio, un utente malintenzionato può utilizzare l'interfaccia dell'editor di GRUB per modificare la sua configurazione o per raccogliere informazioni utilizzando il comando cat.
3. Impedire l'accesso a sistemi operativi non sicuri – Se si tratta di un sistema dual-boot, un utente malintenzionato può selezionare al momento dell'avvio un sistema operativo, come DOS, che ignora i controlli di accesso e le autorizzazioni dei file.
Protezione con password GRUB2
Segui i passaggi seguenti per proteggere con password GRUB2 in RHEL 7.
1. Rimuovi –senza restrizioni dalla CLASS= principale dichiarazione in /etc/grub.d/10_linux file.
Questo può essere fatto utilizzando sed per sostituire
# sed -i "/^CLASS=/s/ --unrestricted//" /etc/grub.d/10_linux
2. Se un utente non è già stato configurato, utilizza grub2-setpassword per impostare una password per l'utente root :
# grub2-setpassword
Questo crea un file /boot/grub2/user.cfg se non è già presente, che contiene la password del bootloader GRUB con hash. Questa utilità supporta solo le configurazioni in cui è presente un singolo utente root.
Esempio /boot/grub2/user.cfg file :
# cat /boot/grub2/user.cfg GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.CC6F56BFCFB90C49E6E16DC7234BF4DE4159982B6D121DC8EC6BF0918C7A50E8604CA40689A8B26EA01BF2A76D33F7E6C614E6289ABBAA6944ECB2B6DEB2F3CF.4B929016A827C36142CC126EB47E86F5F98E92C8C2C924AD0C98436E4699DF7536894F69BB904FDB5E609B9A5D67E28A7D79E8521C0B0AE6C031589FA0452A21
3. Ricrea la configurazione di grub con grub2-mkconfig :
# grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-f9725b0c842348ce9e0bc81968cf7181 Found initrd image: /boot/initramfs-0-rescue-f9725b0c842348ce9e0bc81968cf7181.img done
4. Riavviare il server e verificare.
# shutdown -r now
Nota che tutte le voci del menu di grub definite ora richiederanno l'inserimento di utente e password ogni volta all'avvio; d'ora in poi, il sistema non avvierà alcun kernel senza l'intervento diretto dell'utente dalla console. Quando viene richiesto per l'utente, immettere "root". Quando viene richiesta la password, inserisci ciò che è stato passato al comando grub2-setpassword :
Rimuovi la protezione con password
Per rimuovere la protezione con password possiamo aggiungere il –senza restrizioni testo nella CLASS= principale dichiarazione in /etc/grub.d/10_linux file di nuovo. Un altro modo è rimuovere il file /boot/grub2/user.cfg che memorizza la password del bootloader GRUB con hash.
Limitazione della sola modifica delle voci del menu di GRUB
Se vuoi semplicemente impedire agli utenti di accedere alla riga di comando di grub e modificare le voci di menu (invece di bloccare completamente le voci di menu), tutto ciò che serve è l'esecuzione di grub2-setpassword comando.