Devo revocare di non usare più Let's Encrypt certificates prima di distruggerli?

89

La documentazione Let's Encrypt consiglia che quando la chiave privata corrispondente del certificato non è più sicura, dovresti revocare il certificato .

Ma dovresti fare lo stesso se non ci sono indicazioni che la chiave sia compromessa, ma non hai più bisogno del certificato? Let's Encrypt certificati scadrà automaticamente dopo 90 giorni. È sufficiente cancellare il certificato e la sua chiave privata?

Come sfondo, questo è il mio scenario concreto:

  • Quando implementiamo un nuovo software, creeremo nuove istanze EC2, che alla fine sostituiranno le istanze esistenti (modello di server immutabile).
  • All'avvio, le nuove istanze acquisiranno un nuovo certificato Let's Encrypt.
  • I certificati (e le loro chiavi private) non lasciano mai l'istanza EC2.

Quindi, quando vengono interrotte le vecchie istanze, i certificati assegnati a quella macchina verranno distrutti. A questo punto, non possiamo più accedere alla chiave privata.

Domande:

  • Da quanto ho capito, la revoca potrebbe essere una buona pratica. Ma in senso stretto, non aumenterà la sicurezza del sistema (ovviamente, supponendo che la chiave privata non sia stata compromessa). È corretto?
  • Aiuterà gli operatori Let's Encrypt a revocare in modo esplicito i certificati non utilizzati o farà più danni? (Non sono sicuro, ma la revoca potrebbe innescare processi extra, che potrebbero non essere necessari se non vi è alcuna indicazione che la chiave venga compromessa.)
posta Philipp Claßen 03.08.2017 - 12:23
fonte

4 risposte

104

Questa è una decisione soggettiva rispetto al rischio e al costo. Non possiamo farlo per te, ma posso aiutarti a esaminare i fattori coinvolti.

Costo

Per te : lo sforzo di revocare il certificato. Se devi farlo manualmente, è fastidioso, ma se riesci a scriverlo in 10 minuti e aggiungilo ai tuoi giochi di CloudFormation, perché no? Come sottolineato da @Hildred, anche questo annuncia che il tuo server è stato dismesso, il che potrebbe essere considerato un problema di privacy / sicurezza a seconda di quanto tieni a te.

To LetsEncrypt : devono gestire la richiesta di revoca, che non è una richiesta particolarmente pesante. Ogni certificato revocato aggiunge una riga ai loro CRL , i costi di larghezza di banda leggermente più elevati per trasmettere i CRL e una leggera penalizzazione delle prestazioni al loro OCSP responder che devono cercare i CRL. Ma certamente non è un onere dal momento che il sistema è letteralmente progettato per questo.

Rischio

Se un utente malintenzionato scopre di aver chiuso i VM senza revocare il certificato, può utilizzarli a proprio vantaggio? Un amministratore canaglia (tuo o di Amazon) potrebbe estrarre il certificato e la chiave dalla VM mentre viene terminato e non ne sarai nessuno più saggio. È probabile o più grave una minaccia che estrarla da un sistema live? Probabilmente no.

Quindi, in realtà, abbiamo a che fare con costi molto bassi rispetto a un rischio molto piccolo. La tua scelta. Grazie per aver fatto la domanda, però, pensarci bene!

    
risposta data 03.08.2017 - 16:53
fonte
25

La revoca non è necessaria, dal punto di vista della sicurezza, se la chiave privata non è compromessa.

La revoca non necessaria aggiungerà un po 'di carico all'infrastruttura Let's Encrypt ma non molto: link

    
risposta data 03.08.2017 - 12:46
fonte
17

Una possibilità che hai trascurato è quella di generare una revoca, ma non pubblicare fino a quando necessario. Mette un po 'di carico sulla tua infrastruttura ma nasconde la rimozione della macchina e ha una revoca disponibile se necessario.

    
risposta data 03.08.2017 - 16:46
fonte
2

Questa è una domanda molto soggettiva.

Non c'è nulla di male nel revocare il certificato. Sia che tu voglia semplicemente lasciarlo scadere a tempo debito piuttosto che esplicitamente revocarlo, è davvero all'altezza della tua analisi dei rischi. C'è ovviamente più rischio che il certificato venga trapelato se non si revoca, ma se consideri accettabile questo rischio rispetto alla seccatura di manutenzione che dovrai passare se revochi esplicitamente ogni volta, allora puoi accettare il rischio e fallo.

Indipendentemente dal fatto che questo rischio sia accettabile o meno da noi, è necessario valutarlo in base alla propria infrastruttura. Probabilmente vorrai enumerare la lista di persone che hanno accesso alla chiave, sia che tu sia un dipendente della tua azienda, o il data center, o da altri rischi come il furto, ecc. E valutare quanti rischi una di queste persone potrebbe accidentalmente o perdere deliberatamente le chiavi. Dovrai anche prendere in considerazione l'elenco dei servizi in esecuzione nel sistema, valutare i rischi per la sicurezza sotto il profilo dell'abuso o meno delle chiavi. Dovrai anche valutare per quali chiavi vengono utilizzate le chiavi e quanti danni potrebbero subire queste chiavi in azienda. Sulla base di queste e altre considerazioni, puoi prendere una decisione informata se desideri accettare questi rischi.

    
risposta data 03.08.2017 - 16:18
fonte