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.

  • l'esecuzione di applicazione node.js con nginx
  • Ottimizza le performance di Apache
  • C'è un motivo per mantenere il supporto HTTP / 1.0 sul server web?
  • Impostazione del server SVN per più utenti tramite http
  • nginx chiude la connessione su alcune immagini
  • È rischioso avere un server di database e un server web sulla stessa macchina?
  • Come dovremmo creare un server web che supporti lo sviluppo in corso?
  • Suggerimenti per il benchmarking e il web server di test di carico?
  • 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.