Ricerca nel sito web

Come proteggere con password il bootloader GRUB in Linux


Bootloader Grub sicuro in CentOS 6 e 7

Potresti aver sentito parlare di questo vecchio adagio: "accesso boot==accesso root". E' proprio vero! Chiunque possa accedere al boot loader può facilmente ottenere l'accesso root al tuo sistema. Abbiamo già pubblicato una guida che descrive come reimpostare la password di root in Linux. Quel tutorial ti ha insegnato come reimpostare o recuperare facilmente la password dell'utente root tramite il bootloader Grub. Una volta che qualcuno ha accesso fisico e/o bootloader a una macchina, non c'è modo di fermarlo. Ecco perché dobbiamo aggiungere un'ulteriore sicurezza proteggendo il Bootloader Grub con una password complessa. Se sei un amministratore Linux, dovresti sapere come proteggere il tuo bootloader. Questa guida spiega come proteggere il bootloader Grub con password in CentOS. Ho testato questa guida sui sistemi CentOS 6.xe CentOS 7.x e ha funzionato perfettamente come descritto di seguito.

Proteggi con password il bootloader GRUB in RHEL 6.x, CentOS 6.x

Nelle distribuzioni Linux precedenti come CentOS 6.x, RHEL 6.x, Grub è il bootloader predefinito. Questa sezione descrive come impostare la password di grub nei sistemi CentOS 6.x.

Prima di apportare qualsiasi modifica, è sempre consigliabile eseguire il backup del file di configurazione di GRUB

cp /etc/grub.conf /etc/grub.conf.bak

Per prima cosa dobbiamo crittografare la password. Per fare ciò, accedi al tuo sistema centos come utente root e crea un file chiamato grub come mostrato di seguito. Tutti i comandi indicati di seguito devono essere eseguiti come utente root.

touch grub

Successivamente, crittografa la password utilizzando il comando "md5crypt". Per fare ciò, esegui il seguente comando dal Terminale e premi il tasto INVIO.

grub-md5-crypt >grub

Inserisci la tua password due volte. Tieni presente che non vedrai nulla mentre digiti la password sullo schermo. Basta comunque digitare la password e premere INVIO, quindi digitare nuovamente la stessa password e premere INVIO.

La password è stata crittografata. Successivamente, dobbiamo aggiungere questa password nel file /etc/grub.conf.

Ora aggiungiamo la password nel file grub.conf. Per fare ciò, apri i due file grub e /etc/grub.conf.

vi /root/grub /etc/grub.conf

Il comando precedente aprirà entrambi i file nell'editor vi.

Vedrai la password crittografata come di seguito. Spostare il punto del cursore e posizionarlo davanti alla password. Quindi, digita yy per estrarre (copiare) la password.

Password:
Retype password:
$1$Ch0NF/$0XsWw8.EW31vRjm5zsnPb/

Copia la password di Grub

Quindi digita :n (due punti n). Questo ti porterà al file successivo, ad esempio /etc/grub.conf.

Passa al file successivo

Dopo la riga splashimage=(hd0,0)/grub/splash.xpm.gz, premi p per incolla la password crittografata dal file precedente.

Quindi, premi i e aggiungi la riga password --md5 prima della password crittografata come mostrato di seguito.

password --md5 $1$I2w2s1$EPZtrLn/h2M4qfh48ZL8O0

Fare riferimento alla schermata seguente per ulteriori chiarimenti.

Proteggi con password il bootloader Grub in CentOS 6

Ecco, $1$I2w2s1$EPZtrLn/h2M4qfh48ZL8O0 è la password grub crittografata del mio sistema CentOS 6. Sostituiscilo con il tuo.

Quindi, premi ESC e digita :wq per salvare il file e chiuderlo.

Riavvia il sistema.

D'ora in poi, non potrai modificare il menu di grub senza prima inserire la password.

Menu Grub di CentOS 6

Per modificare il menu di Grub, premi p. Ti verrà chiesto di inserire la password. Basta inserire la password per sbloccare il menu di avvio di Grub.

Sblocca il menu di avvio di Grub

Ora puoi apportare tutte le modifiche che desideri nel menu di avvio di grub.

Menu Grub sbloccato

Proteggi con password il bootloader GRUB2 in RHEL 7.x, CentOS 7.x

In RHEL 7 e nei suoi cloni come CentOS 7, Scientific Linux 7, Grub2 è il bootloader predefinito. Proteggere il bootloader Grub2 con password è diverso dal bootloader grub.

Innanzitutto, crea la password crittografata utilizzando il seguente comando come utente root:

grub2-mkpasswd-pbkdf2

Esempio di output:

Enter password: 
Reenter password: 
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.62C46DE64C6BDE39A440092F521F86E24F486F5F9FE58B38D1CA9DDA27D6DDA6A6F5615836537B31AF2D06D2C5A8C6BE26709269A08E81286357501882016523.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4B

Abbiamo appena creato una password crittografata per proteggere il bootloader Grub2.

Come forse già saprai, non è consigliabile modificare e incollare la password appena generata direttamente nel file di configurazione principale di grub2.

Dovremmo invece aggiungere la password in un file di menu personalizzato di Grub2 che si trova nella directory /etc/grub.d/ e infine aggiornare il file di configurazione principale di Grub2, ovvero /etc/grub.cfg.

Crea una copia del file del menu Grub2 personalizzato:

cp /etc/grub.d/40_custom /etc/grub.d/40_custom.bak

Quindi, modifica il file di configurazione del menu Grub2 personalizzato come utente root:

vi /etc/grub.d/40_custom

Aggiungi le seguenti righe. Assicurati di aver incollato la password corretta che abbiamo generato in precedenza.

set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.62C46DE64C6BDE39A440092F521F86E24F486F5F9FE58B38D1CA9DDA27D6DDA6A6F5615836537B31AF2D06D2C5A8C6BE26709269A08E81286357501882016523.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4B

Imposta la password per Grub

Premi ESC e digita :wq per salvare e chiudere il file.

Ora è il momento di aggiornare il file di configurazione principale di Grub2.

Assicurati di avere una copia di backup del file di configurazione principale di Grub2.

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak

Aggiorna il file di configurazione del bootloader Grub2 utilizzando il comando:

grub2-mkconfig -o /boot/grub2/grub.cfg

Esempio di output:

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-327.22.2.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.22.2.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-327.13.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.13.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-123.9.3.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-123.9.3.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-123.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-e250d471d5594282ba042c653cfa0172
Found initrd image: /boot/initramfs-0-rescue-e250d471d5594282ba042c653cfa0172.img
done

Puoi verificare se la password è stata impostata correttamente nel file /etc/grub2.cfg come mostrato di seguito.

cat /etc/grub2.cfg

L'output di esempio sarebbe:

Visualizza il contenuto del file Grub2

Siamo tutti pronti. Riavvia il sistema per verificare se il bootloader è stato protetto con password.

Dopo aver riavviato il sistema, prova a modificare il bootloader Grub2. Per fare ciò, premi e.

Modifica il bootloader Grub2

Ti verrà chiesto di inserire il nome utente e la password che abbiamo definito nel passaggio precedente.

Inserisci la password per sbloccare Grub2

Se hai inserito il nome utente e la password corretti, sarai in grado di modificare il bootloader Grub2.

Grub2 sbloccato

Ora sai come proteggere con password il bootloader Grub e Grub2 in Linux. L'impostazione della password di Grub potrebbe non proteggere completamente il tuo sistema. Tuttavia, aggiungerà sicuramente un ulteriore livello di sicurezza ai tuoi server CentOS Linux.

Articoli correlati