I have read at several blogs now that one should remove passwords from SSL certificates in order to avoid password prompts during Apache restarts.
Is this true and does this pose any security risks?
Yeah, it will stop the prompts being sent to the terminal when starting a web server.
And yes it does pose a security risk because where before the certificate was encrypted it is now in plain text. This means it might be possible to steal a completely working certificate from the machine.
Whether this poses a significant security risk to you depends on what the repercussions would be if it happened to you and what the you gain from doing it this way.
If its more important to you that services should restart gracefully even if unattended than the security of the SSL system overall then its a straight forward answer.
Personally, I find keeping decrypted copies of SSL certificates overall has more pros than cons for my typical workload, heres why;
Things that might make me encrypt:
Ultimately, dont rely on others to make security decisions for you. You need to weight the risks and determine what is best for you and your institution using as much infomation as possible.
It provides some more security, but the reality is that if someone has gotten far enough into your system to get access to your private SSL key than you probably have bigger issues.
From a practical perspective, do you really want to be there every time apache needs to be restarted to put in a password?
One thing you could do is keep the key unpassword protected on your server (and protect it via normal system security) and keep the backup of the key you store elsewhere with a password. So if someone is able to scrap the key from somewhere other than your server (much more likely, think someones laptop getting stolen with it on their desktop) it is still protected.
Cient keys used for login should be password protected.
If you want SSL based services to restart without manual intervention, you have two options:
Backup copies of the key should be password protected and secured as if they weren't password protected.