Potresti aver sentito parlare di questo vecchio adagio:"boot access==accesso root" . È proprio vero! Chiunque possa accedere al boot loader può facilmente ottenere l'accesso come 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 ripristinare 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 una sicurezza extra proteggendo il Grub Bootloader 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 su sistemi CentOS 6.x e CentOS 7.x e ha funzionato perfettamente come descritto di seguito.
Bootloader GRUB di protezione con password in RHEL 6.x, CentOS 6.x
Nelle vecchie distribuzioni Linux come CentOS 6.x, RHEL 6.x, Grub è il bootloader predefinito. Questa sezione descrive come impostare la password grub nei sistemi CentOS 6.x.
Prima di apportare modifiche, si consiglia sempre di eseguire il backup del file di configurazione di GRUB
# cp /etc/grub.conf /etc/grub.conf.bak
Innanzitutto, dobbiamo crittografare la password. Per farlo, accedi al tuo sistema centos come utente root e crea un file chiamato grub
come mostrato di seguito. Tutti i comandi forniti di seguito devono essere eseguiti come root
utente.
# touch grub
Quindi, crittografa la password utilizzando "md5crypt
" comando. Per farlo, 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 digitare comunque la password e premere INVIO, quindi digitare nuovamente la stessa password e premere INVIO.
La password è stata crittografata. Successivamente, dobbiamo aggiungere questa password in /etc/grub.conf
file.
Ora aggiungiamo la password nel grub.conf
file. Per farlo, apri i due file grub e /etc/grub.conf
file.
# vi /root/grub /etc/grub.conf
Il comando precedente aprirà entrambi i file in vi
editore.
Vedrai la password crittografata come di seguito. Sposta il cursore e posizionalo davanti alla password. Quindi, digita yy
per strappare (copiare) la password.
Password:Ridigita password:$1$Ch0NF/$0XsWw8.EW31vRjm5zsnPb/
E poi, digita :n (due punti n ). Questo passerà al file successivo, ad esempio /etc/grub.conf
.
Dopo il splashimage=(hd0,0)/grub/splash.xpm.gz
riga, premere p
per incollare 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 allo screenshot seguente per ulteriori chiarimenti.
Qui, $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 puoi modificare il menu di grub senza prima inserire la password.
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.
Ora puoi apportare le modifiche che desideri nel menu di avvio di grub.
Bootloader GRUB2 di protezione con password in RHEL 7.x, CentOS 7.x
In RHEL 7 e nei suoi cloni come CentOS 7, Scientific Linux 7, Grub2 è il bootloader predefinito. La protezione del bootloader Grub2 con password è diversa da quella del bootloader grub.
Innanzitutto, crea la password crittografata utilizzando il seguente comando come root
utente:
# grub2-mkpasswd-pbkdf2
Risultato di esempio:
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 è consigliato per modificare e incollare la password appena generata direttamente nel file di configurazione principale di grub2.
Invece, dovremmo aggiungere la password in un file di menu Grub2 personalizzato che si trova in /etc/grub.d/
directory e infine aggiornare il file di configurazione principale di Grub2, ad esempio /etc/grub.cfg
.
Crea una copia del file di menu personalizzato di Grub2:
# cp /etc/grub.d/40_custom /etc/grub.d/40_custom.bak
Quindi, modifica il file di configurazione del menu Grub2 personalizzato come root
utente:
# 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
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 usando il comando:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Risultato di esempio:
Generazione del file di configurazione di grub ...Trovato immagine Linux:/boot/vmlinuz-3.10.0-327.22.2.el7.x86_64Trovato immagine initrd:/boot/initramfs-3.10.0-327.22.2.el7.x86_64. imgTrovato immagine Linux:/boot/vmlinuz-3.10.0-327.13.1.el7.x86_64Trovato immagine initrd:/boot/initramfs-3.10.0-327.13.1.el7.x86_64.imgTrovato immagine Linux:/boot/vmlinuz-3.10 .0-123.9.3.el7.x86_64Trovato immagine initrd:/boot/initramfs-3.10.0-123.9.3.el7.x86_64.imgTrovato immagine Linux:/boot/vmlinuz-3.10.0-123.el7.x86_64Trovato immagine initrd :/boot/initramfs-3.10.0-123.el7.x86_64.img Immagine linux trovata:/boot/vmlinuz-0-rescue-e250d471d5594282ba042c653cfa0172 Immagine initrd trovata:/boot/initramfs-0-rescue-e250d471d5294282ba0>4img382ba0>Puoi verificare se la password è stata impostata correttamente in
/etc/grub2.cfg
file come mostrato di seguito.# cat /etc/grub2.cfgL'output di esempio sarebbe:
Siamo tutti a posto. Riavvia il sistema per verificare se il bootloader è stato protetto con password.
Dopo aver riavviato il sistema, prova a modificare il bootloader Grub2. Per farlo, premi
e
.Ti verrà chiesto di inserire il nome utente e la password che abbiamo definito nel passaggio precedente.
Se hai inserito il nome utente e la password corretti, sarai in grado di modificare il bootloader Grub2.
Ora sai come proteggere con password il bootloader Grub e Grub2 in Linux. L'impostazione della password Grub potrebbe non proteggere completamente il tuo sistema. Tuttavia, aggiungerà sicuramente un ulteriore livello di sicurezza ai tuoi server CentOS Linux.