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

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

Ora ovviamente il file chiave privata dovrebbe essere tenuto sicuro, ma supponendo che sia il caso, ci sono rischi specifici per la memorizzazione di un certificato nello stesso file? Sono curioso di sapere perché questo comportmento è supportto e tuttavia fortemente scoraggiato senza spiegazioni.

  • Apache sta inviando file php al mio browser invece di analizzare
  • Attiva l'accesso senza "www." Su Ubuntu
  • il server web apache non risponde allo stato del server che mostra tutti i processi figlio in attesa di connessione
  • Nginx ha rifiutato di connettersi alla port 443
  • Proteggere il gestore di stato del server apache2 per password
  • Come faccio ad applicare che i miei URL sempre iniziano con www?
  • Invio di registri di controllo al server SYSLOG
  • Autorizzazione di base Apache per un determinato URL
  • proxy mod_proxy e redirect al path specifico
  • Aggiorna Apache dalla sorgente se l'originale è stato installato da un rpm?
  • Come puoi solo filtrare i file in una directory basata su un nome di file specifico?
  • Come esport le variables per tutti gli utenti in Linux?
  • 2 Solutions collect form web for “Perché memorizzare il certificato SSL Apache e la chiave privata in file separati?”

    Il file del certificato SSL è un block.
    Il file chiave del certificato SSL è la sua chiave.

    Memorizzare i due insieme è l'equivalente del taping della chiave alla serratura della port d'ingresso.
    Se un utente malintenzionato compromette il singolo file, hanno tutto ciò di cui hanno bisogno per eseguire con successo il tuo sito web (certificato e chiave privata).

    Ciò è particolarmente vero se non si dispone di una passphrase sulla chiave SSL (molti server web non consentono loro di avviarsi automaticamente in caso di arresto anomalo).


    Quello che stai difendendo separando i file è un bug Apache che lo causa per scaricare il contenuto di SSLCertificateFile (qualcosa che dovrebbe essere pubblicamente disponibile) a un client Web.
    (A mio sapere non esiste un tale bug, o è mai esistito, ma Apache è un grande e complesso software. È completamente ansible.)

    Se Apache espelle questo file e tutto ciò che contiene è il certificato SSL (la serratura), non c'è nessun problema: ognuno ottiene una copia di quel certificato quando fanno una richiesta SSL per il server comunque.
    Se il file contiene la chiave, anche tu hai battuto qualsiasi possibilità alla sicurezza – il tuo integer model di crittografia è compromesso e devi cambiare le chiavi.

    Le vecchie versioni di OpenSSL richiedevano due file separati (pubici e privati). Le vecchie versioni di altri criptati richiedevano un singolo file (entrambi nello stesso file). Nello "spirito" della compatibilità (aka "l'ammirazione dell'amministrazione circa l'incoerenza e la necessità di mantenere due serie di certificati) ora supportno ormai.

    Memorizzare entrambi i certificati (anche la catena chiave) in un singolo file è scoraggiato poiché i diversi certificati hanno ambiti diversi. È più di un problema di coerenza che di quello tecnico, in cui il certificato pubblico dovrebbe avere autorizzazioni di file pubblicamente leggibili e viceversa per i privati. Non c'è pericolo che sia mantenuto il vostro certificato pubblico sotto block e chiave sui tuoi sisthemes, è solo incoerente con il suo scopo.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.