¿Dónde suelen almacenar las empresas los certificados SSL para uso futuro?


26

Recientemente compramos un certificado SSL comodín para nuestro dominio. Convertimos todos los certificados a un almacén de claves Java, pero ahora nos preguntamos dónde deberíamos almacenarlos para su uso posterior.

¿La gente usa el control de fuente como BitBucket para este tipo de archivos o simplemente genera cada vez que se necesita, o algo más?

Nos preguntamos si existe una solución estándar o alguna "mejor práctica" para almacenar estos certificados para uso futuro.


Realice copias de seguridad cifradas en su solución de copia de seguridad tradicional No almacene las claves privadas sin cifrar con ningún proveedor externo. Por lo general, incluyo el problema y las fechas de vencimiento en mi certificado y nombre de archivo clave para la diferenciación.
Andrew Domaszek

Respuestas:


22

Hay múltiples soluciones:

Una avenida es un almacén de claves específico, ya sea un dispositivo basado en hardware, un módulo de seguridad de hardware o un equivalente basado en software.

Otra es simplemente revocar la clave anterior y generar una nueva clave privada / pública cuando surja la situación. Eso cambia un poco el problema de mantener la seguridad clave a asegurar el nombre de usuario / contraseña de la cuenta con el proveedor de certificados y sus procedimientos para volver a emitirlos. La ventaja es que la mayoría de las organizaciones ya tienen una solución de administración de cuentas privilegiada, por ejemplo, 1 2

Hay múltiples formas de almacenamiento fuera de línea, desde imprimir una copia impresa del par de claves pública y privada, incluida la contraseña (pero que será una perra para restaurar) hasta simplemente almacenarlas en medios digitales clasificados para almacenamiento a largo plazo .

Los lugares realmente malos son GitHub, tu equipo WiKi o un recurso compartido de red (y te haces una idea).

Actualización 2015/4/29: Keywhiz parece un enfoque interesante también.


Tengo curiosidad, ¿qué quieres decir con "equivalente basado en software" para el HSM?

Algunos de los proveedores de dispositivos de hardware hoy en día venden sus dispositivos también en forma de dispositivo virtual, una VM. También hay cosas como el almacén de claves de Oracle y el código abierto SoftHSM para nombrar algunos.
HBruijn

Básicamente, eso permite convertir una computadora estándar en un HSM ...

1
"pero será una perra para restaurar" -> ¡Este me alegró el día! Bromas aparte, debes encriptarlo antes de guardarlo.
Ismael Miguel

Por definición, expondrás tu clave pública a todos. No hay razón para encriptar eso. Pero esa tampoco es razón para ser descuidado. La seguridad es principalmente para la clave privada, que normalmente debería estar encriptada / protegida con contraseña. Debe intentar tener la menor cantidad posible de copias de eso.
HBruijn

21

No, los certificados SSL no entran en el control de origen, al menos no en la parte de la clave privada.

Trátelos como si fuera una contraseña. Los nuestros se almacenan exactamente de la misma manera que nuestras contraseñas: en KeePass. Le permite adjuntar archivos y está encriptado.


3

Si coloca la clave privada en el control de origen, cualquier persona que tenga acceso a ella podrá suplantar su servidor. Si su servidor web no está utilizando PFS (secreto directo perfecto), entonces también es posible descifrar cualquier tráfico SSL capturado con herramientas de código abierto comúnmente disponibles como Wireshark.

Puede proteger la clave DES o AES cifrándola con una frase de contraseña con OpenSSL. OpenSSL está disponible para Linux, OSX y Windows.

OpenSSL también puede eliminar la frase de contraseña cuando una frase de contraseña es inconveniente (por ejemplo, en un servidor web que se inicia automáticamente pero no admite la entrada automática de frases de contraseña).

Agregar una frase de contraseña con cifrado AES (más seguro que DES): -

openssl rsa -aes256 -in private.key -out encrypted.private.key

Eliminar una frase de contraseña (se le pedirá la frase de contraseña): -

openssl rsa -in encrypted.private.key -out decrypted.private.key

1
Si está haciendo las cosas correctamente , incluso la exposición de la clave privada no debería comprometer el tráfico pasado, aunque ciertamente haría que MITM'ing comprometiera el tráfico futuro mucho más fácilmente.
un CVn

Hola, @Michael: en teoría, pero lamentablemente he podido descifrar muchas capturas de Apache e IIS, por lo que solo puedo suponer que PFS está desactivado de forma predeterminada. Incluso muchas VPN IPSEC lo tienen apagado.
Tricky

PFS no está tan desactivado por defecto, ya que no es compatible con muchos conjuntos de cifrado. Prueba el servidor SSL Labs prueba alguna vez; indica qué conjuntos de cifrado admiten FS. Por supuesto, deshabilitar todas las suites de cifrado que no sean FS probablemente dejará a muchos clientes en el frío porque no son compatibles con las suites de cifrado FS. Sin embargo, dar tratamiento preferencial a las suites FS debería funcionar (pero le recomiendo encarecidamente que no solicite manualmente las suites de cifrado a menos que sepa lo que está haciendo y sus fortalezas y debilidades relativas).
un CVn

Gracias por la recomendación en SSL Labs @Michael. Desafortunadamente, mis servidores no tienen conexión a Internet, pero tuve que jugar con cifrados habilitados y, como sugiere, PFS parece ser compatible solo con algunos cifrados. De hecho, PFS me impide decodificar trazas de paquetes. Actualizaré mi respuesta en consecuencia.
Tricky

1

Otra opción, después de leer sobre KeyWhiz, era la Bóveda de HashiCorp. No es solo un administrador de contraseñas, sino una tienda de Secretos, creo que es algo similar a KeyWhiz. Está escrito en GO, y el cliente también funciona como servidor, y se conecta a un montón de backends y métodos de autenticación. Vault también es de código abierto, con la opción Enterprise también.

Dado que las claves y los certificados SSL son solo archivos de texto, puede codificarlos en base64 y guardarlos como una cadena en Vault, o incluso solo el texto en Vault. No hay una WebUI o GUI, es toda la línea de comandos o guión guiada, y tiene una API web muy buena y estable para arrancar.

  1. https://www.vaultproject.io/
  2. https://github.com/hashicorp/vault

0

Recomendaría buscar un HSM fuera de línea (como un token de cifrado de hardware o un CAC) para almacenar la clave privada y el certificado. Esto no solo protege la clave privada de un compromiso accidental, sino que también proporciona una descarga criptográfica básica.

Si tiene más activos criptográficos para administrar, recomendaría buscar un software Enterprise Key & Certificate Management, que puede automatizar las renovaciones, rastrear el ciclo de vida, automatizar el aprovisionamiento a los puntos finales, etc. La mayoría de estos almacena el activo cifrado en reposo como un CLOB en una base de datos.


¿Por qué los votos negativos? Sin quejarse curiosidad por saber qué está mal con esta respuesta.
Matt

No estoy seguro de por qué se votó. Los HSM están diseñados específicamente para el almacenamiento seguro de claves y el cifrado de alta velocidad. Solo puedo adivinar que está relacionado con el gasto o la gestión más compleja. Todos los principales bancos utilizan HSM para operaciones clave en cosas como las transacciones de Chip y Pin.
Tricky
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.