No desea destruir su clave privada: la necesitará de nuevo si el servidor se reinicia. Los reinicios ocurren a veces ...
Esa es una observación genérica: usted quiere que su servidor pueda reiniciarse de manera desatendida. Por lo tanto, debe contener la clave privada, y esa clave privada debe estar disponible para el software del servidor.
Si un atacante secuestra su máquina completa, obtiene una copia de su clave. Eso es un hecho de la vida. Vive con ello. Sin embargo, hay mitigaciones:
-
Puede usar los conjuntos de cifrado "DHE" para SSL. Con estas suites de cifrado, la clave del servidor se utiliza para las firmas, no para el cifrado. Esto significa que el atacante que roba su clave puede, posteriormente, suplantar su servidor (es decir, ejecutar un servidor falso), pero no descifrar las sesiones SSL que registró anteriormente. Esta es una buena propiedad conocida como Perfect Forward Secrecy .
-
Si almacena la clave en un Hardware Security Module , no se robará la clave. El atacante puede jugar con la clave siempre que tenga un control efectivo del servidor, pero no la extraiga. Esto disminuye su poder de molestia (pero los HSM son caros).
En la práctica, solo se asegurará de que el archivo que contiene la clave privada sea legible solo para la cuenta del sistema que ejecuta el servidor ( chown
y chmod
en sistemas similares a Unix, derechos de acceso NTFS en Windows).