Como proveedor de alojamiento, me gustaría que el proceso de generación de un certificado para el dominio de un cliente sea lo más conveniente posible.
Estaba pensando en crear una página web donde cualquiera pudiera:
- generar una CSR para un nombre de host dado desde nuestra clave privada
- retire ese CSR y envíenoslo con un certificado
¿Existe algún peligro en permitir que alguien genere potencialmente miles de CSR basadas en nuestra clave privada?
Responder a algunas inquietudes / preguntas:
Creo que el verdadero peligro aquí es reutilizar la misma clave privada para muchos dominios.
¿Es realmente diferente (desde un punto de vista de seguridad, no de administración) que tener un solo certificado con muchas SAN? Por ejemplo, el certificado presentado por nuestro CDN de Cloudflare tiene estas SAN:
DNS:ssl2917.cloudflare.com, DNS:*.app.com.pk, DNS:*.boldstatementmarketing.com, DNS:*.lacasadivetro.com, DNS:forospyware.com, DNS:*.reportcrowd.com, DNS:*.vladtv.com, DNS:*.1bse.com, DNS:*.discourse.org, DNS:*.forospyware.com, DNS:*.gossipbrigade.com, DNS:*.gsmcodigos.com, DNS:*.is.gl, DNS:*.madepal.co, DNS:*.mejorando.la, DNS:*.oceanvillageresort.com, DNS:*.pinside.com, DNS:*.ratelossprogram.com, DNS:*.soopermexican.com, DNS:*.tequierocali.org, DNS:1bse.com, DNS:app.com.pk, DNS:boldstatementmarketing.com, DNS:discourse.org, DNS:gossipbrigade.com, DNS:gsmcodigos.com, DNS:is.gl, DNS:lacasadivetro.com, DNS:madepal.co, DNS:mejorando.la, DNS:oceanvillageresort.com, DNS:pinside.com, DNS:ratelossprogram.com, DNS:reportcrowd.com, DNS:soopermexican.com, DNS:tequierocali.org, DNS:vladtv.com
¿Hay un escenario realista en el que tendría motivos para creer que la clave de un sitio se filtró, mientras que las claves de los otros sitios permanecen seguras?
En realidad no. Si un cliente que utiliza una de estas claves solicite mover su sitio, no entregaríamos la clave.
Debería generar una nueva clave privada para cada CSR que genere.
Bien, deberíamos. Este es un caso de cambio de conveniencia (en nuestro extremo) por seguridad. Para la banca, el infierno no. ¿Sitios del foro? Posiblemente valga la pena.
Lo que realmente necesita pensar en su configuración es la integridad de la CSR. Los clientes deben estar absolutamente seguros de que la clave pública en la CSR que han firmado es la clave pública correcta.
Ahora que lo pienso, la mejor opción aquí es probablemente renunciar al requisito de generar un CSR ... podríamos entregar un solo CSR a todos y pedirles que lo firmen con el nombre de host que prefieren (similar a lo que startssl : cuando firma el CSR, tira el nombre de host solicitado y utiliza lo que ingresa en su página web.
No sé si todas las CA (¿alguna?) harán eso, pero es una opción.