Veja a resposta da Warner para quase o exato mesma pergunta há um ou dois dias.
Quando criei meu certificado SSL, usei uma frase secreta na chave. Sempre que eu reinicio meu servidor web (Apache ou Nginx) eles pedem uma senha:
Apache:
Some of your private key files are encrypted for security reasons. In order to read them you have to provide the pass phrases.
Server www.example:443 (RSA)
Enter pass phrase:
Nginx:
Starting nginx: Enter PEM pass phrase:
Digitar a senha toda vez fica irritante e estou preocupado com o tempo de inatividade quando a próxima reinicialização da máquina é feita.
Existe uma maneira de fornecer automaticamente a frase secreta do PEM quando o servidor da Web é reiniciado? ou preciso ter o certificado SSL reemitido usando uma chave em que a frase secreta foi removida?
Se eu remover a frase secreta, quais são as implicações de segurança? É algo para se preocupar?
Respondendo a cada pergunta:
1) Is there a way to automatically provide the PEM pass phrase when the webserver is restarted?
O Apache tem o SSLPassPhraseDialog para responder automaticamente à pergunta da frase-passe SSL.
2) do I have to get the SSL certificate re-issued using a key where the pass phrase has been removed?
A prase do passe pode ser removida da chave sem precisar obter o certificado novamente emitido. A chave é o seu segredo e você pode fazer o que quiser com ele, inclusive tornando-o inseguro:
> cp server.key server.key.org
> openssl rsa -in server.key.org -out server.key
[enter the passphrase]
3) If I remove the pass phrase, what are the security implications? Is it anything to worry about?
Sim, se a chave privada não estiver mais criptografada, é fundamental que esse arquivo seja legível apenas pelo usuário raiz. Se o seu sistema estiver comprometido e um terceiro obtiver sua chave privada não criptografada, o certificado correspondente precisará ser revogado imediatamente ou o ataque poderá criar um website fingindo ser seu.
Tags security ssl nginx https apache-2.2