Senha SSL no reinício do apache2

33

Eu configurei o certificado SSL curinga da Godaddy no Apache2. Sempre que o servidor reinicia, ele solicita a senha para a chave privada do certificado SSL.

Qual é a melhor maneira de remover esse obstáculo para reiniciar, porque quando a rotação do arquivo de log ocorre no meio da noite, o servidor não volta e eu recebo uma chamada de cliente insatisfatória pela manhã, pois é um servidor compartilhado .

ryw
fonte
5
Enquanto a pergunta real foi respondida, deixe-me acrescentar: A rotação do arquivo de log não requer reinicialização. Uma atualização será boa e não exigirá que você apresente credenciais.
Jan Jungnickel
Graças Jan - bom ponto - Estou realmente não sei por que a fatia está reiniciando - parece acontecer cerca de 1 vez por semana eu preciso cavar mais para descobrir o porquê
ryw

Respostas:

28

Para fazer com que o apache receba a senha sempre que reiniciar, adicione-o ao httpd.conf:

SSLPassPhraseDialog exec:/path/to/passphrase-file

no seu arquivo de senha:

#!/bin/sh
echo "passphrase"

e torne o arquivo de senha executável:

chmod +x passphrase-file
água fria
fonte
1
trabalhou para mim também! : D
markcial
5
Lembre-se de definir permissões adequadas no script que contém a senha , caso contrário, você removeu efetivamente qualquer segurança que a senha lhe desse. (Você também deve definir permissões apropriadas na chave, conforme descrito na resposta de Max).
voretaq7
6
Como é que armazenar a chave (com senha) com 600 permissões e esse script com 700 permissões é mais seguro do que apenas armazenar a chave sem senha com 600 permissões, uma vez que o proprietário dos dois arquivos precisará ser usuário root, certo?
Zelanix
5
Concordo; isso é segurança inútil. Remova, por todos os meios, uma senha de uma chave para reinicializações automáticas; mas não pense que você pode recuperar a perda de segurança que acabou de fazer. Geralmente, é um bom trade-off, mas é um trade-off.
MadHatter suporta Monica
Para completar, o link para a documentação relacionada do Apache: httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslpassphrasedialog
alk
29

Você precisa remover a criptografia do seu arquivo de chave privada como este:

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

mv server.key.new server.key

Verifique se o novo arquivo de chave é legível apenas pela raiz - caso contrário, qualquer pessoa com acesso ao shell nesse servidor poderá pegar a chave privada e se passar por seu servidor.

Para tornar a chave legível apenas pela raiz, faça 'chmod 600 server.key.new' antes de trocar as chaves.

Max Alginin
fonte
i tentou a sua ideia, ainda obter desafio em sudo ./apache2 restart :(
ryw
4
+1 porque isso não é uma "idéia", que é um procedimento real
codehead
usei o termo "idéia" porque não funcionou para mim.
Ryw 5/10/09
2
como a frase secreta torna um certificado SSL mais seguro se você pode removê-lo tão facilmente sem exigir a senha? (ou ele solicita a senha?) #
user2693017 /
3
@ user2693017 - O comando openssl descrito aqui solicitará a senha da chave privada criptografada. Sem saber a senha, removê-la não funcionará.
Michael Paesold