Avvio automatico e protezione di un server Linux con un filesystem crittografato


16

Sto installando alcuni nuovi server Ubuntu e vorrei proteggere i dati su di essi dal furto. Il modello di minaccia sono gli aggressori che desiderano l'hardware o piuttosto ingenui aggressori che desiderano i dati.


Si prega di prendere nota di questa sezione.

Il modello di minaccia non include gli aggressori intelligenti che desiderano i dati; Presumo che faranno una o più delle seguenti operazioni:

  1. Collegare un UPS nel cavo di alimentazione per mantenere la macchina in funzione ininterrottamente.

  2. Inserire una coppia di bridge Ethernet tra il computer e il punto di terminazione della rete che collegherà il traffico su una rete wireless di portata sufficiente affinché l'host mantenga la connettività di rete.

  3. Apri la scatola e usa un probe sul bus di memoria per prendere cose interessanti.

  4. Usa i dispositivi TEMPEST per sondare cosa sta facendo l'host.

  5. Utilizzare mezzi legali (come un ordine del tribunale) per costringermi a divulgare i dati

  6. Ecc. Ecc.


Quindi quello che voglio è avere alcuni, o idealmente tutti, i dati sul disco su una partizione crittografata, con il materiale chiave necessario per accedervi su supporti esterni di qualche tipo. Due metodi che mi vengono in mente per la memorizzazione del materiale chiave sono:

  1. Archiviarlo su un host remoto accessibile tramite la rete e configurarlo a sufficienza per recuperarlo durante il processo di avvio. Il recupero sarebbe consentito solo all'indirizzo IP assegnato all'host protetto (quindi non consentire l'accesso ai dati crittografati se avviati su un'altra connessione di rete) e potrebbe essere disabilitato dagli amministratori se si scoprisse che la macchina veniva rubata.

  2. Conservalo su un dispositivo di archiviazione USB reso in qualche modo molto più difficile da rubare rispetto all'host stesso. Individuarlo a distanza dall'host, ad esempio alla fine di un cavo USB di cinque metri che porta in un altro angolo della stanza, o anche in un'altra stanza, probabilmente ridurrebbe significativamente le possibilità che gli aggressori lo prendano. Proteggerlo in qualche modo, ad esempio incatenandolo a qualcosa di immobile, o addirittura mettendolo in una cassaforte, funzionerebbe ancora meglio.

Quindi quali sono le mie opzioni per l'impostazione? Come ho detto prima, preferirei avere tutto (a parte forse una piccola partizione di avvio che non contiene / etc) crittografato, in modo da non dovermi preoccupare di dove sto mettendo i file o dove ' in caso di atterraggio accidentale.

Stiamo eseguendo Ubuntu 9.04, se fa la differenza.


1
Il tuo modello di minaccia indossa uniformi con tre lettere? :)
Sven

Non indossano uniformi. :-) Ma seriamente, no; qualsiasi agenzia governativa, nascosta o meno, è probabilmente abbastanza intelligente da prendere tutto l'hardware, non solo ciò che può afferrare rapidamente.
Curt J. Sampson,

1
La tua domanda sembra contraddirsi. Prima dici "Vorrei proteggere i dati su di loro dal furto", poi dici "non include gli aggressori intelligenti che desiderano i dati". Ti interessano i dati o no?
Zoredache,

1
Ci tengo, sì. Se puoi, per un costo simile, proteggerlo dagli aggressori intelligenti e da quelli stupidi, lo farò. In caso contrario, almeno evito la situazione in cui qualcuno acquista un disco usato in un negozio di riciclaggio e scopre tutti i dati dei miei clienti su di esso.
Curt J. Sampson,

+1 per aver effettivamente pensato al modello di minaccia, qualcosa che molte persone con una domanda simile dimenticano di fare.
sleske,

Risposte:


8

Conosco una variante intelligente dell'opzione 1 chiamata Mandos.

Utilizza una combinazione di una coppia di chiavi GPG, Avahi, SSL e IPv6 tutte aggiunte al disco RAM iniziale per recuperare in modo sicuro la password della chiave della sua partizione di root. Se il server Mandos non è presente sulla LAN, il tuo server è un mattone crittografato o il server Mandos non ha visto un battito cardiaco dal software client Mandos per un determinato periodo di tempo, ignorerà le richieste future per quella coppia di chiavi e il server è un mattone crittografato al prossimo avvio.

Mandos Homepage

Mandos README


1
Idea interessante. Suppongo che avresti avviato PXE i client in modo che la coppia di chiavi pubblica / privata non fosse sul disco rigido. Tuttavia, è possibile snoopare la coppia di chiavi dal filo e quindi utilizzarla, in combinazione con un'annusata della trasmissione della chiave di crittografia di massa da parte del computer server, per decrittografare l'unità. L'intero "server non distribuirà una chiave se non ha sentito un battito cardiaco nella finestra temporale xxx" suona come un modo pulito per far entrare anche un essere umano nel loop. Progetto pulito. Non troppo difficile da sconfiggere se hai accesso fisico, ma pulito.
Evan Anderson,

2
Evan, vuoi leggere le FAQ nel README di Mandos, penso ....
Curt J. Sampson,

Hm. Non sono chiaro sul motivo per cui Mandos funziona solo attraverso una LAN. È perché non è possibile impostare un indirizzo IP e le route per utilizzare Internet?
Curt J. Sampson,

1
Curt, Mandos utilizza gli indirizzi locali di collegamento ipv6 per comunicare, che è limitato alla lan locale. Significa tuttavia che non necessita di alcuna configurazione esterna (dhcp) o in conflitto con altri server sulla stessa LAN. en.wikipedia.org/wiki/…
Haakon,

1
Come coautore di Mandos, posso solo essere d'accordo con Haakon. In realtà c'è un modo per Mandos di usare indirizzi IPv4 globali usando il kernel ip=e i mandos=connectparametri, vedi questa mail: mail.fukt.bsnet.se/pipermail/mandos-dev/2009-Fe febbraio/… ma nota che questo è un po 'fragile come il i client tenteranno di connettersi al server specificato solo una volta e altrimenti falliranno irrevocabilmente. La configurazione consigliata è tramite LAN. Posso anche menzionare che Mandos è disponibile in Ubuntu dal 9.04 (e anche nei test Debian)
Teddy

6

Se stai solo cercando di proteggerti da attacchi non tecnici, penso che la tua scommessa migliore sia una migliore sicurezza fisica.

Il mio pensiero è quindi:

Se stai cercando uno stivale che non richieda alcuna interazione umana per inserire il materiale chiave, non ti verrà in mente alcuna soluzione che sarà al sicuro da furti occasionali da parte di un addetto con competenze tecniche (o, più appropriatamente, il capacità di pagare qualcuno con competenze tecniche).

Mettere il materiale chiave in qualcosa come una chiavetta USB non offrirebbe alcuna vera sicurezza. L'attaccante potrebbe semplicemente leggere la chiave fuori dalla chiavetta. La chiavetta USB non può sapere se il computer a cui è stata collegata è il computer server o il laptop dell'attaccante. Tutto ciò che l'attaccante deve fare è assicurarsi che prendano tutto o, nel caso della chiave USB all'estremità di un cavo extendo USB lungo 15 piedi bloccato in una cassaforte, basta collegare il cavo extendo al PC e leggere il tasto.

Se hai intenzione di trasferire la chiave sulla rete, probabilmente la "crittograferai". Tutto ciò che l'attaccante deve fare è origliare sul processo di codifica, rubare il server e quindi decodificare qualsiasi "crittografia" che hai fatto quando hai inviato la chiave attraverso la rete. Per definizione, il computer server che riceve una chiave "crittografata" da tutta la rete deve essere in grado di "decrittografare" quella chiave per poterla utilizzare. Quindi, davvero, non stai crittografando la chiave, la stai solo codificando.

Alla fine, è necessaria un'intelligenza (artificiale?) Presente per inserire la chiave nel server. Uno che può dire "So che non sto divulgando la chiave a nessuno, ma al computer server, e so che non è stato rubato". Un essere umano può farlo. Una chiavetta USB non può. Se trovi un'altra intelligenza che può farlo, penso che avrai qualcosa di commerciabile. > Sorriso <

È molto probabile, credo, che perderai la chiave e distruggerai i tuoi dati senza ottenere alcuna sicurezza. Al posto della tua strategia con i giochi di crittografia, penso che tu sia meglio avere una maggiore sicurezza fisica.

Modificare:

Penso che stiamo lavorando da diverse definizioni del termine "modello di minaccia", forse.

Se il tuo modello di minaccia è il furto di hardware, la soluzione proposta è: la crittografia del disco, a mio modo di vedere, non fa nulla per contrastare la minaccia. La soluzione proposta sembra una contromisura contro il furto dei dati, non il furto dell'hardware.

Se si desidera impedire il furto dell'hardware, è necessario avvitarlo, bloccarlo, racchiuderlo in cemento, ecc.

Ho già detto quello che volevo dire riguardo al furto dei dati, quindi non mi caccerò di nuovo, tranne per dire: se hai intenzione di mettere la chiave in un dispositivo fisico e non puoi proteggere il computer server viene rubato, quindi non è possibile proteggere neanche il dispositivo chiave.

Immagino che la tua migliore soluzione "economica" sia quella di creare una sorta di scambio di chiavi basato sulla rete. Metterei uno o più umani nel loop per autenticare il "rilascio" della chiave in caso di riavvio. Ciò causerebbe tempi di inattività fino a quando l'essere umano "rilascerà" la chiave, ma almeno ti darebbe la possibilità di scoprire perché è stato richiesto un "rilascio" chiave e decidere se farlo o meno.


Questa è una buona aggiunta all'analisi della sicurezza, quindi ho dato un voto positivo, ma non è una risposta alla mia domanda perché stai usando un modello di minaccia diverso. Nota cosa ho detto nella domanda su chi sono e non sto difendendo.
Curt J. Sampson,

1
Per quanto riguarda una migliore sicurezza fisica, vorrei prima cercare opzioni meno costose. Nel nostro ambiente attuale, ci costerebbe molte migliaia di dollari per installare qualcosa che non potrebbe essere rapidamente sconfitto da qualcuno con un paio di tronchesi.
Curt J. Sampson,

Rileggendo questo, non sono sicuro che sia chiaro che il mio modello di minaccia non è il furto di hardware in , il che è fondamentalmente solo un inconveniente, ma il concomitante furto di dati che ne deriva. Questo è esattamente il motivo per cui la mia soluzione proposta è una contromisura contro il furto di dati, piuttosto che il furto di hardware.
Curt J. Sampson,

È interessante vedere un commento su una domanda di quasi 8 anni. Se la tua soluzione funziona per te, ne sono sicuramente felice.
Evan Anderson,

Stavo solo pensando "Non dovrei necropost", poi ho visto questi ultimi commenti. Penso che il modello di minaccia di Curt sia lo stesso del mio ... per proteggere i dati da qualcuno che ruba l'hardware. Diversi commenti su questo e post simili hanno affermato che le persone potrebbero semplicemente "intercettare" il processo chiave e capirlo in seguito. Solo un processo davvero ridicolmente negativo potrebbe essere interrotto da qualsiasi tipo di riproduzione. Inoltre ... "tutto ciò che l'attaccante deve fare è" ... "decodificare qualsiasi crittografia tu abbia fatto" ... Di chi stiamo parlando? Quali sono le possibilità che un ladro comune abbia una tale capacità ... o addirittura voglia di farlo?
Darron,
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.