Il bootloader GRUB memorizza la password in un file di testo normale, quindi è richiesta qualsiasi forma crittografata della password. Per generare una password crittografata possiamo utilizzare grub-crypt comando. Finora abbiamo usato il comando grub-md5-crypt . Ma ora MD5 è ampiamente considerato rotto. grub-crypt utilizza SHA-256 o SHA-512 hash, che sono considerati più sicuri. La sintassi generale/l'utilizzo del comando grub-crypt è come mostrato di seguito:
# grub-crypt --help Usage: grub-crypt [OPTION]... Encrypt a password. -h, --help Print this message and exit -v, --version Print the version information and exit --md5 Use MD5 to encrypt the password --sha-256 Use SHA-256 to encrypt the password --sha-512 Use SHA-512 to encrypt the password (default) Report bugs to [[email protected]]. EOF
Utilizzo di hash SHA-265 o SHA-512
1. Come utente root, usa il comando grub-crypt per generare l'hash della password. Digita la password e ridigita la password per conferma.
grub-crypt Password: Retype password: $6$GXGrYVEnbKXAnQoT$p64OkyclNDt4qM2q47GMsgNxJxQaclNs79gvYYsl4h07ReDtJpt5P5kQn1KQ52u2eW8pKHTqcG50ffv0UlRcW0
2. Copiare la password crittografata restituita nell'ultima riga dell'output che sembrerebbe una lunga stringa criptata. Incollalo prima dell'istruzione TITLE in /boot/grub/grub.conf file, come questo:
# vi /boot/grub/grub.conf .... default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu password --encrypted $6$GXGrYVEnbKXAnQoT$p64OkyclNDt4qM2q47GMsgNxJxQaclNs79gvYYsl4h07ReDtJpt5P5kQn1KQ52u2eW8pKHTqcG50ffv0UlRcW0 title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64) ....Nota:assicurati che i permessi del file /boot/grub/grub.conf siano impostati su sola lettura per non consentire a nessuno di modificarlo.
# ls -lrt /boot/grub/grub.conf -rw-------. 1 root root 845 Oct 11 14:43 /boot/grub/grub.conf
3. Al termine, gli stivali futuri richiederanno la password prima che GRUB ti permetta di modificare le opzioni di avvio.
Utilizzo di password in testo normale
Sebbene non sia sicuro, ma se desideri comunque impostare una password GRUB in testo normale leggibile dall'utente, utilizza la procedura seguente:
1. Modifica /boot/grub/grub.conf in un editor di testo e aggiungi una nuova riga "password PASSWORD-GOES-HERE" prima della prima stanza del titolo, ad esempio:
default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu password my-not-so-hidden-password title Red Hat Enterprise Linux ...
2. Assicurati che le autorizzazioni su grub.conf non consentano a nessuno tranne a root di leggerlo :
# chmod 600 /boot/grub/grub.conf # ls -l /boot/grub/grub.conf -rw------- 1 root root 678 Feb 02 14:12 /boot/grub/grub.conf
Utilizzo degli hash MD5
Come detto in precedenza nel post, MD5 è ampiamente considerato rotto. Ma se vuoi ancora usarli, segui la procedura seguente:
1. Esegui grub-md5-crypt per generare la password con hash :
# grub-md5-crypt Password: Retype password: $1$vweqo$CLFlozZ6ELHjGmL.0.37..
Aggiungi una nuova riga "password –md5 HASH-GOES-HERE" prima della prima riga del titolo, ad esempio:
default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu password --md5 $1$vweqo$CLFlozZ6ELHjGmL.0.37.. title Red Hat Enterprise Linux ...
Come passaggio finale delle migliori pratiche, assicurati che le autorizzazioni su grub.conf non consentano a nessuno tranne a root di leggerlo:
# chmod 600 /boot/grub/grub.conf # ls -l /boot/grub/grub.conf -rw------- 1 root root 678 Jan 29 18:27 /boot/grub/grub.conf
Riavvia il sistema e prova a premere p per inserire la password per sbloccare e abilitare le funzionalità successive nell'elenco di grub.