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.

  • Viene raggiunta la limitazione delle risorse 508
  • PHP 5.3 Non Logging
  • Quali problemi di performance sono presenti utilizzando i collegamenti simbolici per il tuo docroot di Apache
  • MySQL è richiesto sia sul server di database che sul webserver? perché?
  • Aiutare a mettere insieme un server per scopi Routing / Firewall / VPN
  • Cancellazione della cache dei certificati Java (certificati di ricarica forza)
  • Certificati SSL multipli su Apache che utilizzano più IP pubblici - non funzionano
  • Quando Apache rileva gli aggiornamenti di file .htaccess?
  • SELinux: modificare manualmente i file in / etc / selinux / target / contexts / files /
  • modsecurity apache mod-security.conf mancante
  • Configurare wsgi per un semplice sito basato su Python
  • apache2 e VirtualHost con caratteri stranieri e più di un Alias
  • 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.