L'uso della password come protezione per il BIOS (o equivalente BIOS) e il Boot Loader, aiutano a prevenire utenti non autorizzati che hanno un accesso fisico ai sistemi, ad effettuare un avvio usando mezzi mobili oppure ottenendo privilegi root tramite la modalità utente singolo. Le misure di sicurezza da adottare per proteggersi da tali attacchi, dipendono sia dalla importanza delle informazioni che la workstation possiede e sia dalla posizione della macchina.
Per esempio, se una macchina non contiene informazioni importanti, può non essere necessario prevenire tali attacchi. Tuttavia, se un computer portatile di un impiegato con chiavi SSH non cifrate e private per la rete corporativa, viene lasciato incustodito, esso rappresenta un potenziale rischio con ripercussioni ramificate all'interno della compagnia alla quale l'impiegato appartiene.
Al contrario, se una workstation è posizionata in un luogo dove solo gli utenti autorizzati o fidati hanno accesso, allora non è necessario rendere sicuri il BIOS oppure il boot loader.
Di seguito vengono riportate le ragioni per le quali viene richiesto l'uso delle password per garantire la sicurezza del BIOS di un computer [1]:
Prevenire i cambiamenti alle impostazioni del BIOS — Se un aggressore ha accesso al BIOS, sarà in grado d'impostarlo per un avvio da dischetto o da CD-ROM. Ciò rende possibile l'accesso da parte dell'aggressore nella modalità rescue oppure utente singolo, permettendo così di copiare dati importanti oppure di inserire nel sistema programmi contenenti dei virus.
Prevenire l'avvio del sistema — Alcuni BIOS vi permettono di utilizzare una password per la protezioine del processo di avvio. Quando attivata, un aggressore è forzato ad inserire una password prima cheil BIOS possa lanciare il boot loader.
A causa della diversa metodologia d'impostazione della password del BIOS a seconda del produttore, per istruzioni specifiche vi consigliamo di consultate il manuale del vostro computer.
Se dimenticate la password del BIOS, essa puo essere azzerata sia con i jumper sulla scheda madre, oppure scollegando la batteria CMOS. Per questa ragione, è sempre consigliabile bloccare fisicamente l'accesso al vostro computer. Tuttavia, vi consigliamo di consultare il manuale inerente il vostro computer o la scheda madre, prima di effettuare questa procedura.
Altre piattaforme usano programmi diversi per effettuare compiti di basso livello quasi equivalenti a quelli del BIOS sui sistemi x86. Per esempio, i computer basati su Intel® Itanium™ usano la shell Extensible Firmware Interface (EFI).
Per istruzioni sulle password che proteggono i programmi BIOS-like su altre architetture, consultare le istruzioni fornite dal rivenditore.
Le seguenti rappresentano i motivi fondamentali per i quali è consigliato l'uso di una password per la protezione del boot loader di Linux:
Prevenire l'accesso alla modalità utente singolo — Se un aggressore può accedere alla modalità utente singolo, egli diventa un utente root.
Prevenire l'accesso alla console GRUB — Se la macchina usa GRUB come boot loader, un aggressore sarà in grado di usare l'interfaccia editor di GRUB, per cambiare la sua configurazione, o per raccogliere informazioni usando il comando cat.
Prevenire l'accesso a sistemi operativi non sicuri — Se è un sistema di tipo dual-boot, un aggerssore può selezionare al momento dell'avvio un sistema operativo, come ad esempio DOS, il quale ignora i controlli e i permessi dei file.
Con Red Hat Enterprise Linux sono presenti due tipi di boot loader per la piattaforma x86, GRUB e LILO. Per informazioni dettagliate su questi boot loader, consultate il capitolo Boot Loader nella Red Hat Enterprise Linux Reference Guide.
Potete configurare GRUB in modo tale da indirizzare i primi due problemi elencati in la Sezione 4.2.2 aggiungendo semplicemente una direttiva password al suo file di configurazione. Per fare ciò, scegliete una password, aprite poi un prompt della shell, effettuate un log come un utente root, e digitate:
/sbin/grub-md5-crypt |
Quando vi viene richiesto, inserite la password di GRUB e fate clic su
Modificate successivamente, il file di configurazione di GRUB /boot/grub/grub.conf. Aprite il file e sotto la riga timeout nella sezione principale del documento, aggiungete la seguente riga:
password --md5 <password-hash> |
Sostituire <password-hash> con il valore ritornato da /sbin/grub-md5-crypt[2].
La prossima volta che avviate il sistema, il menu di GRUB non vi permetterà di accedere all'editor o interfaccia di comando, senza premere prima
Sfortunatamente, questa soluzione non impedisce ad un aggressore di effettuare un avvio in un sistema operativo non sicuro in un ambiente dual boot. Per questo, è necessario modificare una parte diversa del file /boot/grub/grub.conf.
Cercate la riga title del sistema operativo non sicuro, e aggiungete una riga lock al di sotto.
Per un sistema DOS, la sezione dovrebbe essere simile a quanto segue:
title DOS lock |
![]() | Avviso |
---|---|
Una riga password deve essere presente nella sezione principale del file /boot/grub/grub.conf, in modo tale che questo metodo funzioni propriamente. In caso contrario, un aggressore sarà in grado di accedere all'interfaccia editor di GRUB e rimuovere la riga di blocco. |
Per creare una password diversa per un kernel in particolare o per un sistema operativo, aggiungete una riga lock alla sezione, seguita da una riga password.
Ogni sezione protetta con una password unica, deve iniziare con delle righe simili alle seguenti:
title DOS lock password --md5 <password-hash> |
LILO è un boot loader più semplice rispetto a GRUB e non offre una interfaccia di comando, per questo motivo non dovrete preoccuparvi del tentativo, da parte di un aggressore, di ottenere un accesso interattivo al sistema prima che il kernel sia caricato. Tuttavia, vi è ancora il pericolo che un aggressoro effettuare un avvio in modalità utente singolo o in un sistema operativo non sicuro.
Potete proteggere LILO con una password, aggiungendo una direttiva password nella sezione globale del proprio file di configurazione. Per fare questo, aprire un prompt della shell, effettuare un log in come root, e modificate /etc/lilo.conf. Prima della prima sezione image, aggiungere una direttiva password simile al seguente esempio:
password=<password> |
Nella suddetta direttiva, sostituire <password> con la password di LILO.
![]() | Importante |
---|---|
Quando modificate /etc/lilo.conf, per poter confermare i cambiamenti, dovete eseguire il comando /sbin/lilo -v -v. Se avete configurato una password e qualsiasi altro utente, al di fuori dell'utente root, può leggere il file, LILO è installato correttamente, ma vi avviserà che i permessi sul file di configurazione sono sbagliati. |
Se non desiderate una password globale, la direttiva password può essere aggiunta,a qualsiasi sezione corrispondente ad un kernel o sistema operativo. Per fare questo, aggiungete una direttiva password immediatemente sotto la riga image. Quando terminato, l'inizio della password che protegge la sezione assomiglierà al seguente:
image=/boot/vmlinuz-<version> password=<password> |
Nell'esempio precedente, sostituire <versione> con la versione del kernel e <password> con la password di LILO per quel kernel.
È possibile abilitare l'avvio di un kernel o di un sistema operativo, senza la verifica di una password, mentre si previene gli utenti dallo specificaredegli argomenti senza una password. Per fare questo, aggiungere la direttiva restricted sulla riga sotto la password, all'interno della sezione. Il risultato sarà simile al seguente:
image=/boot/vmlinuz-<version> password=<password> restricted |
Sostituire <versione> con la versione del kernel e <password> con la password di LILO per quel kernel.
Se usate la direttiva restricted, dovrete avere nella sezione, anche una riga riservata alla password.
![]() | Avviso | |
---|---|---|
Il file /etc/lilo.conf è letto da tutto il mondo, Se utilizzate una password per proteggere LILO, è essenziale permettere la lettura e la modifica del file, solo ad un utente root, dato che tutte le password sono in testo normale. Per fare questo, inserite i seguenti comandi come utente root:
|
[1] | Dato che i BIOS dei sistemi differiscono in base al fornitore, alcuni possono non supportare i tipi di protezione password indicati precedentemente, mentre altri possono supportarne solo uno. |
[2] | GRUB accetta anche password non cifrate, ma è consigliato usare la versione md5, per maggiore sicurezza. |