È possibile avviare un server crittografato in remoto e in modo sicuro?

20

Immagina di avere un server che si trova in una posizione che non è affidabile. Le persone potrebbero avere un accesso fisico alla macchina che non dovrebbe guardare i dati memorizzati su di essa.

In questo scenario ho pensato di configurare un server con crittografia completa del disco. Ciò significa che è necessario inserire la chiave prima che il sistema possa avviarsi completamente. Finché ho accesso fisico alla chiave senza che una terza persona venga a sapere che è fattibile.

Tuttavia, quando il server deve essere avviato in remoto, devo inserire la chiave senza essere presente. Linux offre la possibilità di eseguire un server SSH leggero prima di avviare completamente il sistema in modo da poter inserire la chiave. Tuttavia, il certificato per questo server SSH deve ovviamente essere memorizzato in modo non criptato (perché deve essere letto prima che venga immessa la chiave) in modo che gli hacker possano accedervi e falsificare il nostro server acquisendo così conoscenza della chiave.

C'è un modo per rendere sicuro questo processo? Nel migliore dei casi questo sarebbe addirittura indipendente dal sistema operativo.

    
posta Chris 11.03.2014 - 14:53
fonte

4 risposte

10

Terza legge immutabile di Microsoft: "Se un ragazzo cattivo ha accesso fisico illimitato al tuo computer, non è più il tuo computer". Quindi devi fidarti delle persone che gestiscono il tuo data center. Questo è ciò che significa fiducia nella sicurezza delle informazioni: è ciò che sei costretto a fare con riluttanza quando non puoi controllare, evitare o trasferire completamente un rischio.

Tuttavia, vorrai inserire tutti i controlli possibili. In questo caso, un modulo TPM è probabilmente la soluzione migliore: la chiave viene masterizzata nel silicio del chip quando viene creata e quindi è molto difficile da estrarre.

Sia Windows che Linux supportano la crittografia completa del disco basata su TPM; così fa VMWare ESXi, che offre anche l'indipendenza del sistema operativo.

Infine, @ hopelessn00b e altri sottolineano qualcosa che avrei dovuto ricordare - le schede di gestione remota che si possono ottenere sui server di classe enterprise usano una crittografia strong. Questo è un ottimo modo per ottenere l'accesso SSH alla console in hardware, quindi non devi fare confusione con la configurazione della tua casella.

    
risposta data 11.03.2014 - 15:33
fonte
10

Il problema che descrivi è accurato. Ho considerato lo stesso problema e ho trovato alcune "soluzioni" che possono essere utili.

Iniziamo elencando alcuni possibili attacchi:

Ora, elenca alcune contromisure.

  • TPM - Idealmente, dovresti memorizzare le chiavi in un modulo TPM. Questa domanda riguarda come configurare LUKS per supportare TPM. A questo punto, sarai in grado di memorizzare "in sicurezza" le tue chiavi SSH dalla maggior parte degli attacchi offline.

  • Chassis Intrustion - Saresti interessato se qualcuno aprisse il tuo chassis. Molte schede madri sono dotate di rilevamento delle intrusioni che possono essere collegate al telaio. A seconda della scheda madre, dovresti essere in grado di attivare la cancellazione di un tasto di spegnimento + se qualcuno dovesse aprire lo chassis del computer. Alcune spiegazioni su questo argomento possono essere trovate in questa domanda.

  • Colla - Quando il sistema è in esecuzione, non è crittografato. Vorresti ridurre al minimo la superficie di attacco, incollandola chiusa. Le periferiche USB, i bus PCI, ecc. Dovrebbero essere inaccessibili. Questo, combinato con l'intrusione dello chassis, sarebbe difficile arrivare alla memoria prima che il computer si avvii.

  • Disabilitazione di altri metodi e periferiche di avvio - Gli attacchi di avvio a freddo possono utilizzare dispositivi USB avviabili per scaricare rapidamente il contenuto della memoria prima che perda lo stato.

  • Disabilitare l'accesso alla console - Se non si sta utilizzando la console, disabilitarlo impedirà ad altri di utilizzarlo. Puoi anche compilare il kernel senza il supporto VGA per mantenere scuri i monitor collegati

Queste sono alcune delle opzioni che hai, alcune più estreme e paranoiche, ma forse è ciò che richiede la tua configurazione.

    
risposta data 11.03.2014 - 15:42
fonte
3

Se hai una chiave crittografica sensibile da utilizzare su un server, dovresti utilizzare un Modulo di sicurezza hardware . Questo è un dispositivo che offre resistenza alla manomissione contro l'attacco fisico. Inoltre, un attacco offline contro questo modulo è più difficile da eseguire (se l'attaccante rimuove l'HSM dal server lo si vede infine). Alcuni modelli possono anche proporre un canale sicuro per l'accesso remoto per consentire a un utente remoto con credenziali valide di sbloccare le chiavi.

    
risposta data 11.03.2014 - 16:17
fonte
1

Bene, permettimi di offrire una soluzione teorica a questo problema che è sicuro. Naturalmente, questo è utile solo per scopi teorici, ma suggerisce che il tuo problema è, almeno in via principale, risolvibile:

Hai la seguente "roba":
1. Chiave: una chiave privata.
2. Plaintext: i tuoi dati privati
3. Server: una macchina non affidabile (non attendibile perché qualcun altro ha accesso fisico)

Per aggiornare il contenuto del server:
1. Cripta l'intero testo in chiaro con la tua chiave.
2. Aggiornare il testo in chiaro cifrato sul server.

Per recuperare il contenuto del server:
1. Scarica l'intero testo cifrato dal server.
2. Decripta il testo cifrato con la tua chiave.

Credo che questo approccio sia dimostrabile, a condizione che tu sia disposto a formulare varie ipotesi (ad esempio, le stesse ipotesi che usi quando usi SSL e simili).

Quindi, è possibile, almeno in teoria, immagazzinare cose sicure su una macchina non affidabile. Per fare un passo avanti, le persone hanno persino trovato dei modi (attualmente poco pratici) per eseguire istruzioni CPU criptate su una macchina non affidabile.

Pertanto, ritengo che sia teoricamente possibile avviare un server crittografato da remoto. La prossima domanda, ovviamente, è se c'è una qualche soluzione pratica, provabilmente sicura. Non ne sono sicuro. Tuttavia, anche se la risposta è no, potrebbe non essere per sempre.

    
risposta data 24.03.2014 - 20:24
fonte

Leggi altre domande sui tag