En términos generales, cada clave privada debe ser única y las claves privadas no deben viajar.
Si tiene varias "aplicaciones" que esperan conexiones HTTPS (en el puerto 443, protocolo de enlace SSL / TLS ...) y se ejecutan en la misma máquina, entonces la aplicación no está haciendo el SSL. El SSL es manejado por el servidor web frontend (por ejemplo, un Apache o IIS): ese frontend hace el SSL, entonces (solo entonces) recibe la solicitud HTTP, aprende la ruta de destino y, por lo tanto, sabe a qué aplicación se enviará la solicitud . En ese tipo de configuración, la clave privada y el certificado no son propiedad de las aplicaciones, sino de la interfaz. En ese modelo, le daría una clave privada y un certificado por máquina .
El párrafo anterior asume que todos sus "microservicios" están realmente registrados en un motor HTTP + SSL común, como se espera si todos usan el puerto HTTPS predeterminado (443) y la misma dirección IP. podría hacer lo contrario, por ejemplo, ejecute los diferentes servicios en puertos distintos (la URL de conexión deberá incluir el nombre del puerto), o incluso en direcciones IP distintas (si cada máquina posee varias direcciones IP). En ese caso, cada microservicio puede ejecutar su propio motor HTTP + SSL y, por lo tanto, tener su propio certificado y clave privada.
Hay dos razones principales por las que desearía crear varias claves privadas y certificados:
-
Desea otorgar certificados a sistemas que no son equivalentes entre sí en términos de seguridad, por ejemplo. pertenecen a clientes distintos que no confían plenamente (o ni siquiera se conocen) entre sí. La idea es que conocer una clave privada utilizada por un servidor permite (conceptualmente) hacerse pasar por ese servidor. De manera similar, tener certificados distintos permite revocar uno sin revocar los demás.
-
Las claves privadas que viajan alrededor son "menos privadas". Es mejor cuando las claves privadas se generan en una máquina y nunca abandonan esa máquina. Por lo tanto, si tiene 10 servidores, desearía tener (al menos) 10 claves privadas. Mover las claves privadas de forma segura es factible, pero requiere cuidado (la copia en las conexiones SSH debería estar bien).