Come proteggere GRUB con una password (Linux)

Normalmente dedichiamo buona parte del nostro tempo impedire l'accesso non autorizzato ai nostri team: configuriamo firewall, permessi utente, ACL, creiamo password complesse, ecc.; ma raramente ci ricordiamo proteggere l'avvio delle nostre apparecchiature.

Se una persona ha accesso fisico al computer, può riavviarlo e modificare i parametri di GRUB per ottenere l'accesso come amministratore al computer. Basta aggiungere un "1" o una "s" alla fine della riga "kernel" di GRUB per ottenere quel tipo di accesso.


Per evitare ciò, è possibile proteggere GRUB utilizzando una password, in modo che se non è nota non è possibile modificarne i parametri.

Se hai installato il boot loader GRUB (che è più comune se usi le distribuzioni Linux più popolari), puoi proteggere ogni voce nel menu GRUB con una password. In questo modo, ogni volta che scegli un sistema operativo da avviare, ti chiederà la password che hai specificato per avviare il sistema. E come bonus, se il tuo computer viene rubato, gli intrusi non saranno in grado di accedere ai tuoi file. Suona bene, vero?

GRUB-2

Per ogni voce di Grub è possibile stabilire un utente con privilegi per modificare i parametri delle voci che compaiono su GRUB all'avvio del sistema, oltre al superutente (quello che ha accesso per modificare Grub premendo il tasto “e”). Lo faremo nel file /etc/grub.d/00_header. Apriamo il file con il nostro editor preferito:

sudo nano /etc/grub.d/00_header

Alla fine incolla quanto segue:

gatto < < EOF
imposta superutenti="utente1"
password utente1 password1
EOF

Dove user1 è il superutente, esempio:

gatto < < EOF
set superusers="superutente"
password superutente 123456
EOF

Per creare più utenti, aggiungili di seguito:

password superutente 123456

Sembrerebbe più o meno come segue:

gatto < < EOF
imposta superutenti="superutente"
password superutente 123456
password utente2 7890
EOF

Una volta stabiliti gli utenti desiderati, salviamo le modifiche.

Proteggi Windows 

Per proteggere Windows, è necessario modificare il file /etc/grub.d/30_os-prober.

sudo nano /etc/grub.d/30_os-prober

Cerca una riga di codice che dice:

voce di menu "$ {LONGNAME} (su $ {DEVICE})" {

Dovrebbe assomigliare a questo (superutente è il nome del superutente):

voce di menu "$ {LONGNAME} (su $ {DEVICE})" - utenti superutente {

 
Salva le modifiche ed esegui:

sudo update-grub

Ho aperto il file /boot/grub/grub.cfg:

sudo nano /boot/grub/grub.cfg

E dov'è la voce di Windows (qualcosa del genere):

voce di menu "Windows XP Professional" {

cambiarlo in questo (user2 è il nome dell'utente che ha i privilegi di accesso):

voce di menu "Windows XP Professional" - utenti utente2 {

Riavvia e vai. Ora, quando provi ad accedere a Windows, ti chiederà la password. Se premi il tasto "e", ti verrà richiesta anche la password.

Proteggi Linux

Per proteggere le voci del kernel Linux, modificare il file /etc/grub.d/10_linux e cercare la riga che dice:

voce di menu "$ 1" {

Se vuoi che solo il superutente sia in grado di accedervi, dovrebbe assomigliare a questo:

menuentry "$ 1" –users user1 {

Se desideri che un secondo utente possa accedere a:

menuentry "$ 1" –users user2 {

Puoi anche proteggere la voce dal controllo della memoria modificando il file /etc/grub.d/20_memtest:

voce di menu "Memory test (memtest86 +)" - utenti superutente {

Proteggi tutte le voci

Per proteggere tutte le voci eseguire:

sudo sed -i -e '/ ^ menuentry / s / {/ –users superuser {/' /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-prober / etc / grub.d / 40_custom

Per annullare questo passaggio, esegui:

sudo sed -i -e '/ ^ menuentry / s / –users superuser [/ B] {/ {/' /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os- prober /etc/grub.d/40_custom

GRUB

Cominciamo aprendo l'ambiente GRUB. Ho aperto un terminale e ho scritto:

larva

Quindi, ho inserito il seguente comando:

md5crypt

Ti chiederà la password che desideri utilizzare. Scrivilo e perison Enter. Otterrai una password crittografata, che dovrai conservare con molta attenzione. Ora, con i permessi di amministratore, ho aperto il file /boot/grub/menu.lst con il tuo editor di testo preferito:

sudo gedit /boot/grub/menu.lst

Per inserire la password nelle voci di menu di GRUB che preferisci, devi aggiungere quanto segue a ciascuna delle voci che desideri proteggere:

password --md5 mia_password

Dove my_password sarebbe la password (crittografata) restituita da md5crypt: Prima:

titolo Ubuntu, kernel 2.6.8.1-2-386 (modalità di ripristino)
root (hd1,2)
kernel /boot/vmlinuz-2.6.8.1-2-386 root = / dev / hdb3 ro single
initrd /boot/initrd.img-2.6.8.1-2-386

allora:

titolo Ubuntu, kernel 2.6.8.1-2-386 (modalità di ripristino)
root (hd1,2)
kernel /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

Salva il file e riavvia. Così facile! Per evitare non solo che un malintenzionato possa modificare i parametri di configurazione della voce protetta, ma anche che non possa nemmeno avviare quel sistema, è possibile aggiungere una riga alla voce "protetta", dopo il parametro del titolo. Seguendo il nostro esempio, sarebbe simile a questo:

titolo Ubuntu, kernel 2.6.8.1-2-386 (modalità di ripristino)
bloccare
root (hd1,2)
kernel /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 prossima volta che qualcuno vorrà avviare quel sistema, dovrà inserire la password.

fonte: delanover & MakeUseOf & Forum di Ubuntu & Sviluppatore Elav


Aggiungi come fonte preferita in Google