¿Cada subdominio necesita su propio certificado SSL?

41

Estoy creando un servidor websocket que vivirá ws.mysite.example. Quiero que el servidor de socket web esté encriptado con SSL, así como domain.examplecon encriptación SSL. ¿Necesito comprar un nuevo certificado para cada subdominio que creo? ¿Necesito una dirección IP dedicada para cada subdominio que creo? Probablemente tendré más de un subdominio.

Estoy usando NGINX y Gunicorn corriendo en Ubuntu.

usuario974407
fuente

Respuestas:

44

Contestaré esto en dos pasos ...

¿Necesita un certificado SSL para cada subdominio?

Sí y no, depende. Su certificado SSL estándar será para un solo dominio, por ejemplo www.domain.example. Hay diferentes tipos de certs que puede hacer aparte del certificado de dominio único estándar: comodines y certificados de dominio múltiple.

  • Se emitirá un certificado de comodín para algo así *.domain.exampley los clientes tratarán esto como válido para cualquier dominio que termine con domain.example, como www.domain.exampleo ws.domain.example.

  • Un certificado de dominio múltiple es válido para una lista predefinida de nombres de dominio. Para ello, utiliza el campo Nombre alternativo del sujeto del certificado. Por ejemplo, podría decirle a una CA que desea un certificado de dominio múltiple para domain.exampley ws.mysite.example. Esto permitiría ser utilizado para ambos nombres de dominio.

Si ninguna de estas opciones funciona para usted, entonces necesitaría tener dos certificados SSL diferentes.

¿Necesito una IP dedicada para cada subdominio?

Nuevamente, este es un sí y un no ... todo depende de su servidor web / de aplicaciones. Soy un chico de Windows, por lo que responderé con ejemplos de IIS.

  • Si está ejecutando IIS7 o una versión anterior, se ve obligado a vincular certificados SSL a una IP y no puede tener múltiples certificados asignados a una sola IP. Esto hace que necesite tener una IP diferente para cada subdominio si está utilizando un certificado SSL dedicado para cada subdominio. Si está utilizando un certificado de dominio múltiple o un certificado comodín, entonces puede salirse con la IP única, ya que solo tiene un certificado SSL para empezar.

  • Si está ejecutando IIS8 o posterior, se aplica lo mismo. Sin embargo, IIS8 + incluye soporte para algo llamado Indicación de nombre de servidor (SNI). SNI le permite vincular un certificado SSL a un nombre de host, no a una IP. Por lo tanto, el nombre de host (nombre del servidor) que se usa para hacer la solicitud se usa para indicar qué certificado SSL debe usar IIS para la solicitud.

  • Si usa una sola IP, puede configurar sitios web para responder a solicitudes de nombres de host específicos.

Sé que Apache y Tomcat también tienen soporte para SNI, pero no los conozco lo suficiente como para saber qué versiones lo admiten.

Línea de fondo

Dependiendo de su aplicación / servidor web y qué tipo de certificados SSL que pueda obtener determinarán sus opciones.

pkeenan
fuente
Estoy usando gunicorn y nginx en Ubuntu.
user974407
En ese caso, SNI debería estar disponible siempre que OpenSSL (para nginx) cumpliera con el soporte de SNI. En según el enlace en la respuesta de GomoX.
pkeenan
Algunos certificados de subdominio único enumeran el dominio principal como una alternativa, por lo que puede encontrar que puede hacer www.domain.com y domain.com en un certificado en una dirección IP. Tenga cuidado de considerar su público objetivo al considerar SNI: IE on XP no lo admite, lo que lo afectará con algunos usuarios corporativos, ni algunos navegadores móviles antiguos como el Android de stock al menos hasta 2.3.5 que debe tener en cuenta si apunta a dispositivos móviles (aquí hay muchos dispositivos Android que ejecutan versiones antiguas).
David Spillett
@pkeenan - Sería bueno si la respuesta se actualizara para reflejar las características técnicas que admiten nombres de dominio y dominios sin nombres de host - helpdesk.ssls.com/hc/en-us/articles/…
Motivado el
> los clientes tratarán esto como válido para cualquier dominio que termine con 'dominio.com', como 'www.dominio.com' o 'ws.domain.com'. Esto me lleva a creer que también sería válido abc.def.domain.com, ¿ese es también el caso?
Jeff
7

Puede obtener un certificado para cada subdominio, un certificado de subdominio múltiple o un certificado comodín (para *.yoursite.example).

Sin embargo, generalmente cuestan un poco más que los certificados regulares, y debido a que comparte un solo certificado, generalmente no son la mejor opción desde el punto de vista de la seguridad, a menos que aloje un anything.mydomain.exampletipo de aplicación donde sean la única opción viable.

Tampoco necesita múltiples direcciones IP si tiene un servidor web compatible con SNI . Dicho esto, SNI solo es compatible con los navegadores modernos (IE6 y versiones posteriores no funcionarán con él). Las versiones recientes de Nginx y Apache admiten SNI de forma transparente (solo agregue hosts virtuales habilitados para SSL).

GomoX
fuente
¿Qué quiere decir con "no es la mejor opción desde el punto de vista de la seguridad"?
Motivado el
44
Un solo certificado que se comparte para todos sus hosts convierte cualquier incumplimiento de un certificado en una amenaza de seguridad a nivel de dominio, en lugar de solo afectar el subdominio al que se adjuntó el certificado. Por ejemplo, el certificado utilizado para www.yoursite.com, que es una instalación de WordPress, sería el mismo que para pagos.yoursite.com, que es una aplicación segura de procesamiento de tarjeta de crédito. Si el primero tiene fugas, el segundo está comprometido.
GomoX
0

Necesitará un certificado por separado para cada subdominio, o puede comprar un comodín cert ( *.domain.example), más costoso, pero tiene sentido si aloja muchos subdominios.

En cuanto a las IP, depende de cómo configure su servidor. Puede usar reglas de nombre de host para servir múltiples sitios desde la misma IP, o usar IP únicas para cada uno. Hay ventajas y desventajas de ambos métodos.

Jim G.
fuente