Em operação normal (ou seja, com uma chave privada criptografada), a chave privada é conhecida pelo servidor da Web em execução, mas não está presente no disco. Para obter uma cópia da chave privada, um invasor teria que subverter o servidor da web em execução.
Se você deixar a chave privada descriptografada constantemente no disco, (assumindo que você tenha as permissões definidas com firmeza), um invasor precisa apenas subverter o sistema de arquivos.
Mas, como você observou, há um custo para deixar a chave criptografada no disco: as reinicializações não assistidas não são possíveis. Só você pode dizer se a segurança adicional oferecida pela saída da chave criptografada no disco justifica o custo adicional.
Para mim, suspeito que qualquer um que possa subverter as proteções do sistema de arquivos provavelmente leia a memória do servidor da web de qualquer maneira (pense em /proc/kcore
) e, assim, a dificuldade de extrair a chave descriptografada do mapa de memória do servidor em execução é a somente proteção adicional oferecida pela criptografia da chave. Eu costumo assumir que os atacantes são inteligentes, o que torna a segurança adicional relativamente pequena.