Devo rifiutare un CSR quando l'host mi ha inviato via email la chiave privata per la richiesta di certificato SSL?

75

Ho appena richiesto un CSR dal mio provider di hosting web condiviso, per generare un certificato che invierò a loro per l'installazione. (Il certificato stesso deve essere generato correttamente da un'organizzazione che lavoro per chi può fornire certificati per il nostro uso ufficiale.) La società di hosting mi ha prontamente inviato la CSR ma anche la chiave privata! Hanno persino effettuato il CC di qualcun altro, ed è in Gmail, quindi Google probabilmente lo ha già ingerito per scopi pubblicitari.

A mio modesto parere questa sembra una cosa terribile da fare. Sto per rispedire a loro rifiutando questo e chiedendo di rinnovare il CSR e questa volta mantenere la chiave privata - privata.

Prima di prendere in giro me stesso, vorrei confermare che la chiave privata per un certificato "SSL" (TLS) non dovrebbe mai lasciare il server?

Ho lavorato nei settori legati alla sicurezza per molti anni, ed ero un programmatore di crittografia, quindi sento di conoscere un po 'l'argomento, ma so che le cose cambiano nel tempo.

Ho letto questa domanda correlata: Quali problemi sorgono dalla condivisione di una chiave privata del certificato SSL ?

Meta Update: mi sono reso conto di aver scritto un formato di domanda di scarsa qualità per Stack Exchange, poiché ora è difficile accettare una risposta specifica. Ci scusiamo per questo: tutte le risposte hanno riguardato aspetti diversi e altrettanto interessanti. Inizialmente mi sono chiesto come esprimerlo a tale scopo, ma ho disegnato uno spazio vuoto.

Aggiornamento: l'ho seguito con l'host e loro si sono "scusati per qualsiasi inconveniente", promettendo di mantenere le future chiavi private "sicure" e mi hanno rilasciato un nuovo CSR diverso. Che sia generato dalla stessa chiave privata esposta di cui attualmente non sono sicuro. Ora mi chiedo anche, in quanto host condiviso, se mi hanno inviato la chiave per l'intero server o se ogni cliente / dominio / host virtuale riceve una coppia di chiavi.

È una lezione interessante in che modo tutta la forza crittografica del mondo può essere resa nulla e vuota da un semplice errore umano. Kevin Mitnik avrebbe annuito.

Aggiornamento 2: In risposta a una risposta dell'utente @Beau, ho utilizzato i seguenti comandi per verificare che il secondo CSR sia stato generato da una chiave privata segreta diversa.

openssl rsa -noout -modulus -in pk1.txt | openssl md5
openssl req -noout -modulus -in csr1.txt | openssl md5
openssl req -noout -modulus -in csr2.txt | openssl md5

I primi due hash sono identici, il terzo è diverso. Ecco le buone notizie.

    
posta scipilot 12.04.2017 - 14:16
fonte

6 risposte

47

Se fossi al tuo posto, rifiuterei di accettare questo certificato SSL. La ragione è che, se qualcuno si rompe in una delle email che hanno ricevuto la chiave privata, sarà in grado di scaricarlo e quindi impersonare il server in diversi attacchi ai client, come man in the middle o simili. Anche nel caso in cui uno degli indirizzi email riceventi sia stato scritto in modo errato, qualcuno potrebbe già avere la chiave privata. Ci sono probabilmente anche molti altri scenari in cui questa chiave privata può essere scaricata e utilizzata da un utente malintenzionato.

Anche informare l'azienda della mancata condivisione della chiave privata dovrebbe essere importante, per assicurarsi che la società non abbia inviato la chiave privata da nessun'altra parte: la chiave privata è stata inviata a te e alcuni altri CC in questa email, ma non puoi sapere se la compagnia non ha inviato un'e-mail separata con la chiave privata da qualche altra parte.

C'è una ragione per cui la chiave privata è chiamata una chiave privata

Tieni presente che questa è principalmente la mia opinione personale e che non sono un esperto di SSL.

    
risposta data 12.04.2017 - 14:40
fonte
119

Sì, dovresti assolutamente rifiutare la CSR. Inoltre, dovresti cambiare il tuo provider di hosting in quanto sembra che non sappia cosa stanno facendo.

È già abbastanza brutto che ti abbiano inviato la chiave privata via e-mail, cioè tramite un mezzo insicuro. Tuttavia, lo hanno anche fatto a qualcun altro, che è una completa violazione della riservatezza.

Inoltre, mi chiedo perché ti hanno mandato la chiave privata - dovrebbe essere installata sul server, cosa che possono fare da soli.

    
risposta data 12.04.2017 - 14:52
fonte
18

Sì, dovresti assolutamente rifiutare il CSR.

A seconda che tu debba riconsiderare il provider di hosting, dipende.

They even CC'd someone else,

Ci sono motivi per cui la società di hosting dovrebbe conoscere la struttura aziendale interna? La persona che fa questo è un account manager designato che è stato specificamente assegnato alla tua azienda e che è responsabile per sapere chi è chi nella tua azienda? La tua azienda ha fornito un briefing sufficiente al gestore dell'account su come è strutturata la tua azienda e chi è autorizzato a fare cosa? In caso contrario, potrebbe essere in parte colpa tua (dell'azienda) non chiarire loro come devono inviarti la chiave.

Nella maggior parte degli account di hosting, se non hai un account manager designato che abbia familiarità con la tua attività, dovresti aver reso molto esplicito al loro supporto tecnico come inviare le chiavi a te, chi dovrebbe riceverle e se vuoi o meno ricevere la chiave in primo luogo. Non dare per scontato che il personale di supporto tecnico conosca la situazione della tua azienda e non presupponga mai che un addetto all'assistenza tecnica non sia il tuo account manager designato per ricordare chi sei da una precedente interazione.

and it's in Gmail

Ti rendi conto che inviare un CSR tramite e-mail non è molto sicuro, giusto? È possibile che qualcuno (un insider che lavora in Gmail o un APT) intercetti l'e-mail contenente il CSR, sostituisca il CSR che l'host ti manda con il proprio CSR e firmi il CSR della società di hosting stesso. Ciò consentirebbe loro di utilizzare in seguito i certificati falsi al MITM tra te e i tuoi utenti e la società di hosting.

Una CSR deve essere consegnata su un canale autenticato (ad esempio, invia il certificato a un sito HTTPS che controlli o deve firmare la CSR con una chiave GPG che pubblicano sul loro sito), o per lo meno dovresti fare un'impronta digitale verifica e sia tu che il tuo ospite avete bisogno di un modo per identificare e autenticare l'altra parte. L'impostazione di un canale autenticato può essere un processo abbastanza complicato e non è qualcosa che sarà disponibile nel provider di hosting a costi più bassi o che non è specializzato nell'hosting aziendale ad alta sicurezza.

Se non specifichi in che modo la tua azienda richiede la consegna della CSR, e specialmente se non sei gestito da un gestore dell'account che dovrebbe sapere che tipo di attività stai facendo, allora la maggior parte della società di hosting presumerebbe ragionevolmente che tu sono una compagnia di sicurezza minima. La maggior parte delle persone che lavorano in una compagnia di sicurezza minima considererebbe che avere una copia della chiave privata sia un valore più alto della sicurezza di non controllare la chiave, non è irragionevole per loro presumerlo così.

    
risposta data 12.04.2017 - 17:25
fonte
16

Before I make a fool of myself, I'd like to confirm that the private key for an "SSL" (TLS) certificate should never leave the server?

Dipende, ci possono essere buoni motivi per lasciare il server. Ad esempio, potresti voler utilizzare lo stesso certificato sui server server o potresti volere una chiave di backup per il blocco delle chiavi.

Ma absoloutely dovrebbe essere trattato come un prezioso segreto, memorizzato solo su macchine di cui ti fidi e se ha bisogno di spostarsi tra i sistemi dovrebbe essere fatto in modo appropriato.

Il mio consiglio sarebbe di allontanarsi immediatamente da questi pagliacci.

    
risposta data 12.04.2017 - 23:59
fonte
13

Probabilmente volevano che tu avessi l'intera coppia chiave / certificato nel caso volessi usarla altrove.

Avere la chiave privata in giro è una preoccupazione legittima per la sicurezza, in particolare se non la userai. Spiega che questo certificato è solo per il provider di hosting e chiedi loro di ri-emettere il CSR e inviarlo senza una chiave privata. Verifica che l'identificazione del CSR cambi.

Sembra che trattino il certificato come un modo per far apparire un lucchetto verde più che come un dispositivo di sicurezza, che probabilmente è un segnale di avvertimento. Considera un hosting diverso se è possibile e / o se il tuo sito gestisce informazioni molto delicate.

    
risposta data 13.04.2017 - 00:33
fonte
6

Sono assolutamente incompetenti alla sicurezza. Una chiave privata è, err, privata, per definizione. Serve per identificare legalmente il suo proprietario. Hanno reso possibile la falsificazione e l'imitazione.

Tu dovresti inviare loro il CSR, dopo averlo generato te stesso da la tua chiave privata / pubblica- coppia, e loro dovrebbero inviarti il certificato firmato e la sua catena di autenticazione. Nient'altro.

Se ti stanno inviando chiavi private e CSR, il loro intero modello è rotto.

Cambia provider e riprendi i tuoi soldi. Almeno. Hanno compromesso la tua sicurezza, quindi potrebbero esserci delle azioni per perdita e danni. Almeno puoi metterli in pericolo con esso per facilitare il processo di rimborso.

    
risposta data 13.04.2017 - 02:47
fonte

Leggi altre domande sui tag