Crittografia completa del disco con autenticazione senza password in Linux


16

Ho una configurazione di crittografia del disco abbastanza standard in Debian 5.0.5: /bootpartizione non crittografata e crittografata sdaX_cryptche contiene tutte le altre partizioni.

Ora, questa è un'installazione server senza testa e voglio essere in grado di avviarlo senza una tastiera (in questo momento posso avviarlo solo con una tastiera e un monitor collegati).

Finora ho l'idea di spostare la /bootpartizione su un'unità USB e apportare lievi modifiche per inserire automaticamente la chiave (penso che ci sia solo una chiamata askpassnello script di avvio da qualche parte). In questo modo posso avviare senza testa, ho solo bisogno di avere un'unità flash al momento dell'avvio.

A mio avviso, il problema è che

  1. Ho bisogno di investire tempo nel capire tutti i pezzi per farlo funzionare,
  2. Se c'è un aggiornamento, che si rigenera initrd, devo rigenerare la partizione di avvio su USB, che sembra noioso.

La domanda: esiste una soluzione standard di manutenzione ridotta per quello che voglio fare? O dovrei cercare altrove?

Risposte:


7

È possibile configurare il sistema in modo che richieda una chiave anziché una password e modificare alcuni script per cercare questa chiave su una chiavetta USB. Ho trovato una spiegazione dettagliata per questo processo su Debian Lenny. Alla fine ci sono alcune note che descrivono le modifiche necessarie per le versioni più recenti di Debian.


Sembra quello di cui ho bisogno. Devo prima vedere quanto sforzo è necessario per far funzionare le cose tra gli aggiornamenti prima di accettare la risposta.
Alex B,

OK, anche se non esiste una soluzione "standard", sembra aver funzionato.
Alex B,

5

Ma allora che senso ha avere la crittografia completa del disco, se si lasciano le chiavi in ​​chiaro?

Perché funzioni, avresti bisogno di qualcosa di simile a quello che doveva essere la piattaforma di Trusted Computing prima che Microsoft e Big Media la dirottassero per i loro malvagi scopi di sottomissione degli utenti.

L'idea è di avere un chip che trattiene le chiavi nella scheda madre e che dia le chiavi solo quando viene verificato che il software in esecuzione sia stato correttamente firmato da un'autorità di fiducia (tu). In questo modo non lasciare le chiavi in ​​bella vista e non è necessario avviare il server in modo interattivo.

È un peccato che non abbia mai visto il Trusted Computing messo a frutto , il che potrebbe essere utile per l'utente finale .


La chiave non si trova più nel testo in chiaro di quanto la tua chiave SSH si trovi nel testo in chiaro in ~/.ssh. Voglio solo essere in grado di avviare un server senza testa con crittografia del disco completo ed estrarre la chiave. Mi rendo conto che un utente malintenzionato può modificare la partizione di avvio non crittografata e rubare la chiave (come in ogni caso con una versione con password normale basata su software), ma sto solo proteggendo da furti occasionali.
Alex B,

In realtà il TPM è tornato indietro dal DRM e dagli usi del governo e delle imprese di recente. Esistono molti sistemi operativi in ​​grado di utilizzarlo per archiviare chiavi segrete, non ne conosco nessuna che offra protezione dell'integrità (ovvero che non consenta a un utente malintenzionato di inserire un keylogger /boot).
Gilles 'SO- smetti di essere malvagio' il

@AlexB: il tuo server ha un TPM? In tal caso, probabilmente puoi fare quello che vuoi con Trusted Grub .
Gilles 'SO-smetti di essere malvagio' il

Si noti che vi è un vantaggio nel lasciare le chiavi in ​​testo normale, ovvero che si potrebbe cancellare completamente i dati sensibili su un disco senza azzerare l'intero disco. Sì, è possibile azzerare il superblocco o la tabella delle partizioni, ma come tutti sappiamo, i dati sono ancora recuperabili da tali operazioni.
strugee,

@strugee: se si utilizza LUKS, l'azzeramento dell'intestazione LUKS rende irrecuperabile l'intero volume. Se stai usando dm-crypt senza intestazione, allora sì, sarà comunque recuperabile in seguito con una password.
Jay Sullivan,

5

Mandos (che io e altri abbiamo scritto) risolve questo problema:

Mandos è un sistema che consente ai server con file system root crittografati di riavviarsi incustoditi e / o in remoto. Vedere la pagina del manuale di introduzione per ulteriori informazioni, incluso un elenco di domande frequenti.

In breve, il server di avvio ottiene la password sulla rete, in modo sicuro. Vedi il README per i dettagli.


1
Anche se questo software gratuito, affermando che questo è il tuo prodotto sarebbe apprezzato se non effettivamente richiesto . Sarebbe anche apprezzato un link README / FAQ più leggibile e una breve spiegazione di come funziona Mandos.
Gilles 'SO- smetti di essere malvagio' il

1
@Gilles: Fatto adesso.
Teddy
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.