Contraseña SSL al reiniciar apache2

33

Configuré el certificado SSL comodín de Godaddy en Apache2. Cada vez que el servidor se reinicia, solicita la frase de contraseña para la clave privada del certificado SSL.

¿Cuál es la mejor manera de eliminar este obstáculo para reiniciar, porque cuando el reinicio de la rotación del archivo de registro se produce en medio de la noche, el servidor no vuelve a funcionar y recibo una llamada de cliente descontento por la mañana, ya que es un servidor compartido .

ryw
fuente
55
Si bien la pregunta real ha sido respondida, permítanme agregar: la rotación del archivo de registro no requiere un reinicio. Una recarga estará bien y no requerirá que presente ninguna credencial.
Jan Jungnickel
Gracias Jan - buen punto - en realidad no estoy seguro de por qué el corte se está reiniciando - parece suceder aproximadamente una semana. Necesito profundizar más para averiguar por qué
ryw 05 de

Respuestas:

28

Para que apache reciba la frase de contraseña cada vez que se reinicia, agréguela a httpd.conf:

SSLPassPhraseDialog exec:/path/to/passphrase-file

en su archivo de frase de contraseña:

#!/bin/sh
echo "passphrase"

y hacer que el archivo de frase de contraseña sea ejecutable:

chmod +x passphrase-file
agua fría
fuente
1
funcionó para mí también! : D
markcial
55
Recuerde establecer los permisos adecuados en la secuencia de comandos que contiene la frase de contraseña , de lo contrario, ha eliminado efectivamente cualquier seguridad que le haya dado la frase de contraseña. (También debe establecer los permisos adecuados en la clave, como se describe en la respuesta de Max).
voretaq7
66
¿Cómo es más seguro almacenar la clave (con frase de contraseña) con 600 permisos y este script con 700 permisos que simplemente almacenar la clave sin frase de contraseña con 600 permisos dado que el propietario de ambos archivos tendrá que ser usuario root, ¿verdad?
zelanix
55
Estoy de acuerdo; Esto es seguridad sin sentido. Elimine, por todos los medios, una frase de contraseña de una clave, para reinicios automáticos; pero no piense que de ninguna manera puede recuperar la pérdida de seguridad que acaba de hacer. A menudo es una buena compensación, pero es una compensación.
MadHatter apoya a Monica
Para completar el enlace a la documentación relacionada de Apache: httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslpassphrasedialog
alk
29

Debe eliminar el cifrado de su archivo de clave privada de esta manera:

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

mv server.key.new server.key

Asegúrese de que el nuevo archivo de clave solo sea legible por root; de lo contrario, cualquier persona con acceso de shell a este servidor podrá obtener la clave privada y hacerse pasar por su servidor.

Para hacer que la clave sea legible solo por root, haga 'chmod 600 server.key.new' antes de intercambiar claves.

Max Alginin
fuente
probé tu idea, todavía recibo un desafío en sudo ./apache2 restart :(
ryw
44
+1 porque esa no es una "idea", es un procedimiento real
codehead
Utilicé el término "idea" porque no me funcionó.
ryw el
2
¿Cómo hace que la frase de contraseña haga un certificado SSL más seguro si puede eliminarlo tan fácilmente sin requerir la frase de contraseña? (¿o le pide la frase de contraseña?)
user2693017
3
@ user2693017: el comando openssl que se describe aquí solicitará la frase de contraseña de la clave privada cifrada. Sin conocer la contraseña, eliminarla no funcionará.
Michael Paesold