Perché archiviare il certificato SSL Apache e la chiave privata in file separati?


11

La documentazione di Apache mod_ssl per le direttive SSLCertificateFile e SSLCertificateKeyFile afferma che è 'fortemente scoraggiato' archiviare una chiave privata e un certificato SSL nello stesso file.

Ora, ovviamente, il file della chiave privata dovrebbe essere protetto, ma supponendo che sia così, ci sono dei rischi specifici nella memorizzazione di un certificato nello stesso file? Sono curioso di sapere perché questo comportamento è supportato e tuttavia fortemente scoraggiato senza spiegazioni.

Risposte:


15

Il file del certificato SSL è un blocco.
Il file della chiave del certificato SSL è la sua chiave.

Memorizzare i due insieme equivale a registrare la chiave sulla serratura della porta d'ingresso.
Se un utente malintenzionato compromette il singolo file, dispone di tutto il necessario per impersonare correttamente il sito Web (il certificato e la chiave privata).

Ciò è particolarmente vero se non si dispone di una passphrase sulla chiave SSL (molti server Web no, per consentire loro di avviarsi automaticamente in caso di arresto anomalo).


Ciò a cui stai difendendo separando i file è un bug di Apache che gli fa scaricare il contenuto di SSLCertificateFile(qualcosa che dovrebbe essere disponibile pubblicamente) a un client web.
(Per quanto ne sappia, tale bug non esiste o è mai esistito, ma Apache è un software ampio e complesso. È del tutto possibile.)

Se Apache scarica questo file e tutto ciò che contiene è il Certificato SSL (il blocco) non c'è problema: tutti ricevono comunque una copia di quel certificato quando fanno una richiesta SSL al server.
Se anche il file contiene la chiave, hai perso ogni possibilità di sicurezza: l'intero modello di crittografia è compromesso e devi cambiare le chiavi.


Grazie, il mio errore teorico che fa sì che il web server serva la chiave privata insieme al certificato pubblico era anche la mia ipotesi migliore. Non sono davvero d'accordo sul fatto che inserire la chiave e il certificato nello stesso file equivale a registrare la chiave sulla porta principale, ma allo stesso modo, non riesco a pensare a una buona ragione per farlo.
Vortura,

1
Probabilmente non è così male come toccare la chiave della porta - forse più vicino ad attaccare la chiave sulla parte superiore dello stipite della porta, o usare uno di quei sassi a chiave :-)
voretaq7,

7

Le vecchie versioni di OpenSSL richiedevano due file separati (pubblico e privato). Le vecchie versioni di altri motori di crittografia richiedevano un singolo file (entrambi nello stesso file). Nello "spirito" di compatibilità (alias "lamento dell'amministratore sull'incoerenza e necessità di mantenere due serie di certificati), la maggior parte ora supporta entrambi.

La memorizzazione di entrambi i certificati (anche la catena chiave) in un singolo file è sconsigliata in quanto i diversi certificati hanno ambiti diversi. È più un problema di coerenza che tecnico, in cui il certificato pubblico dovrebbe avere autorizzazioni di file leggibili pubblicamente e viceversa per il privato. Non c'è pericolo nel mantenere il tuo certificato pubblico sotto chiave e sui tuoi sistemi, è solo incompatibile con il suo scopo.

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.