Password SSL al riavvio di apache2


33

Ho installato il certificato SSL jolly da Godaddy su Apache2. Ogni volta che il server viene riavviato, richiede la passphrase per la chiave privata del certificato SSL.

Qual è il modo migliore per rimuovere questo ostacolo al riavvio, perché quando il riavvio della rotazione del file di registro si verifica nel mezzo della notte, il server non torna indietro e ricevo una chiamata client infelice al mattino, poiché è un server condiviso .


5
Mentre è stata data una risposta alla domanda effettiva, vorrei aggiungere: La rotazione del file di registro non richiede un riavvio. Una ricarica andrà bene e non richiederà di presentare alcuna credenziale.
Jan Jungnickel,

Grazie Jan - buon punto - In realtà non sono sicuro del motivo per cui la fetta si riavvii - sembra accadere circa una settimana dopo ho bisogno di scavare di più per capire perché
ryw

Risposte:


28

Per fare in modo che apache riceva la passphrase ogni volta che si riavvia, aggiungilo a httpd.conf:

SSLPassPhraseDialog exec:/path/to/passphrase-file

nel tuo file passphrase:

#!/bin/sh
echo "passphrase"

e rendere eseguibile il file passphrase:

chmod +x passphrase-file

1
ha funzionato anche per me! : D
markcial

5
Ricorda di impostare le autorizzazioni appropriate per lo script contenente la passphrase , altrimenti hai rimosso in modo efficace qualsiasi protezione fornita dalla passphrase. (Dovresti anche impostare le autorizzazioni appropriate per la chiave, come descritto nella risposta di Max).
voretaq7,

6
In che modo l'archiviazione della chiave (con passphrase) con 600 autorizzazioni e questo script con 700 autorizzazioni è più sicura della semplice memorizzazione della chiave senza passphrase con 600 autorizzazioni, dato che il proprietario di entrambi i file dovrà essere utente root, giusto?
zelanix,

5
Sono d'accordo; questa è una sicurezza inutile. Rimuovere completamente una passphrase da una chiave per i riavvii automatici; ma non pensare di poter in alcun modo recuperare la perdita di sicurezza che hai appena fatto. Spesso è un buon compromesso, ma è un compromesso.
MadHatter supporta Monica il

Per completezza il link alla relativa documentazione di Apache: httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslpassphrasedialog
alk

29

È necessario rimuovere la crittografia dal file della chiave privata in questo modo:

openssl rsa -in server.key -out server.key.new

mv server.key.new server.key

Assicurati che il nuovo file di chiavi sia leggibile solo da root, altrimenti chiunque abbia accesso alla shell a questo server sarà in grado di prendere la chiave privata e impersonare il tuo server.

Per rendere la chiave leggibile solo da root, fai 'chmod 600 server.key.new' prima di scambiare le chiavi.


ho provato la tua idea, ho ancora una sfida su sudo ./apache2 restart :(
ryw

4
+1 perché non è un '"idea", è una procedura reale
codehead

ho usato il termine "idea" perché non ha funzionato per me.
ryw,

2
In che modo la passphrase rende un certificato ssl più sicuro se è possibile rimuoverlo così facilmente senza richiedere la passphrase? (o ti chiede la passphrase?)
user2693017

3
@ user2693017 - Il comando openssl qui descritto richiederà la passphrase della chiave privata crittografata. Senza conoscere la password, rimuoverla non funzionerà.
Michael Paesold,
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.