Come memorizzare in modo sicuro la chiave privata di CA openssl [duplicato]

0

Siamo nella fase di implementazione dei certificati SSL per l'accesso all'interfaccia utente ai nostri componenti (abbiamo una CA radice interna a cui inviamo il CSR generato in openSSL) e ci chiediamo dove sarebbe il posto migliore per archiviare i privati chiavi?

Abbiamo un KeePass in cui memorizziamo le credenziali per i sistemi in questione, ma è già molto grande. Stavamo pensando di creare un secondo KeePass solo per le chiavi private? Quale sarebbe la tua raccomandazione?

    
posta adam86 23.08.2017 - 14:44
fonte

1 risposta

1

Memorizzazione di chiavi private SSL sul server di produzione

Come ho capito la tua domanda, hai un server web che serve una GUI su HTTPS (IIS, Apache, Tomcat, qualcosa) e vuoi sapere come archiviare in modo sicuro le chiavi private su disco per questo server.

In genere, le persone si impegnano molto a proteggere le loro chiavi private CA, ma molto meno sforzo nella protezione delle chiavi private del server Web (perché il server web deve poterle accedere in qualsiasi momento).

Metafora: è simile a chiedere "miglior tipo di garage per la mia auto sportiva?". La risposta breve è: non importa se la tua auto trascorrerà il 99% del tempo in autostrada.

Penso che questa domanda riguardi ciò che stai chiedendo:

Come dovrei memorizzare le chiavi SSL sul server ?

Fondamentalmente, se sei d'accordo con la necessità di avviare manualmente il server web ogni volta, allora l'elenco che ho qui sotto per le chiavi CA si applica, ma se vuoi che il server si riavvii automaticamente, allora le tue opzioni sono o

  1. Archivia la chiave sul server in testo semplice (applicando le autorizzazioni di file che puoi).

  2. Se utilizzi Windows, utilizza CAPI / DPAPI per aggiungere ulteriori protezioni al file oltre a ciò che puoi fare senza la guida del sistema operativo.

  3. Acquista un HSM per archiviare le chiavi per i tuoi server (problemi di compatibilità e di compatibilità complessi / a seconda del server Web che stai utilizzando).

Risposta originale sulla memorizzazione delle chiavi CA

[Presumo intendi l'archiviazione della chiave privata CA, non delle chiavi del server SSL. Aggiornerò la mia risposta se chiarisci

Sono contento che tu stia pensando a come memorizzare la chiave privata CA. L'obiettivo di proteggere una chiave privata della CA è quello di garantire che non possa essere copiato. Quanta fatica vuoi mettere nella sua protezione dipende da ciò che vale, in dollari, se è rubato.

Sono sicuro al 95% che openssl crittografa già la tua chiave privata con una password (tecnicamente: usa una password per derivare una chiave AES, quindi crittografa la chiave privata CA con AES). Quindi, discutibilmente, mettere questo in KeePass non ti sta guadagnando molto.

Ecco tre scenari con sicurezza crescente:

  1. Proteggi la chiave privata CA con la crittografia software come la crittografia incorporata di OpenSL o KeePass.

    Pro: Economico, facile.

    Contro: un hacker che entra nel tuo server può copiare il file inserito e forzare la password. Poi hanno la tua chiave privata.

  2. Archivia la chiave privata CA su una chiavetta USB crittografata, ad esempio IronKey . Assicurati di eliminare sempre il file chiave dalla macchina CA dopo ogni utilizzo.

    Pro: Quando la chiave non viene utilizzata attivamente, non c'è nulla sulla macchina CA che un utente malintenzionato possa rubare. C'è solo una copia della chiave privata su una chiavetta USB fisica. Difficile da rubare senza che qualcuno se ne accorga.

    Contro: il malware installato sulla macchina CA può rubare la chiave privata la prossima volta che la usi.

  3. Air gap the CA. Esegui la tua CA openssl su una macchina che non è mai stata connessa alla rete. Trasferisci certificati CSR e firmati in entrata e in uscita tramite le chiavette USB IronKey.

    Pro: Molto più difficile (ma non impossibile) per un utente malintenzionato scaricare malware nella macchina CA ed estrarre la chiave privata

    Contro: Complesso e scomodo.

  4. Utilizza un HSM . Questa è la soluzione Cadillac: memorizza le chiavi private della CA in un HSM in rete, quando la CA deve firmare qualcosa che invia la richiesta all'HSM.

    Pro: Massima sicurezza perché le chiavi private non escono mai dall'HSM; se la macchina CA non le tocca mai, non possono essere rubate.

    Contro: Complesso, costoso, potrebbe richiedere tempo ed esperienza per configurare.

risposta data 23.08.2017 - 15:16
fonte

Leggi altre domande sui tag