Saltar a contenido

SSL/TLS Certificate Hostname Mismatch

Incompatibilidad de nombre de host en certificado SSL/TLS

Descripción

Una incompatibilidad de nombre de host ocurre cuando el nombre de dominio especificado en un certificado SSL/TLS no coincide con el nombre de host real del servidor que está protegiendo. Esta falta de coincidencia provoca advertencias de seguridad en los navegadores y puede exponer la conexión a vulnerabilidades potenciales, incluidos los ataques de intermediario (MitM).

Cuando un navegador o cliente se conecta a un sitio web, comprueba si el nombre de dominio coincide con el nombre común (CN) o cualquiera de los campos de nombre alternativo del sujeto (SAN) en el certificado. Si hay una discrepancia entre el nombre de host y el certificado, los navegadores emiten advertencias de seguridad como "Su conexión no es privada", lo que puede disuadir a los usuarios de continuar y dañar la confianza del usuario. Estas advertencias, si se ignoran, ponen a los usuarios en riesgo de conectarse a un sitio malicioso.

Un riesgo de seguridad crítico de una incompatibilidad de nombre de host es el potencial de ataques MitM. En este escenario, un atacante podría presentar un certificado válido para un dominio diferente, creando la ilusión de una conexión segura mientras intercepta o manipula la comunicación. Dichos ataques son particularmente problemáticos cuando los usuarios ignoran las advertencias de seguridad y continúan en el sitio a pesar de la falta de coincidencia.

Las discrepancias en el nombre de host también pueden ser el resultado de una configuración incorrecta de los certificados comodín (wildcard) o de la falta de inclusión de subdominios relevantes en el certificado. Por ejemplo, si se utiliza un certificado comodín para *.example.com en un subdominio no cubierto por el comodín (como sub.example.org), esto desencadenaría una incompatibilidad y advertencias de seguridad.

Implicaciones en el mundo real: Considere una intranet corporativa que utiliza un certificado emitido para un nombre de dominio diferente. Los empleados que intenten acceder al sitio se encontrarán con advertencias de seguridad en sus navegadores, lo que podría obstaculizar la productividad. Con el tiempo, la exposición repetida a estas advertencias podría hacer que los usuarios se vuelvan insensibles a tales alertas, aumentando el riesgo de futuras brechas de seguridad.

Recomendación

Para abordar los problemas de incompatibilidad de nombre de host:

  1. Use nombres de dominio correctos:
  2. Asegúrese de que el certificado se emita para el (los) nombre(s) de dominio exacto(s) con los que se utilizará.
  3. Incluya tanto el dominio desnudo como el subdominio www si se utilizan ambos.

  4. Utilice nombres alternativos del sujeto (SAN):

  5. Utilice SAN para incluir todos los nombres de dominio y subdominios relevantes en un solo certificado.
  6. Esto es particularmente útil para servicios a los que se puede acceder bajo varios nombres de dominio.

  7. Uso adecuado de certificados comodín:

  8. Si usa certificados comodín, asegúrese de que se usen correctamente y solo para los subdominios apropiados.
  9. Tenga en cuenta las implicaciones de seguridad de los certificados comodín y utilícelos con prudencia.

  10. Auditorías periódicas:

  11. Realice auditorías periódicas de sus certificados SSL/TLS para asegurarse de que coincidan con los nombres de host con los que se utilizan.
  12. Esto es particularmente importante después de cambios de dominio o migraciones de servicios.

  13. Implemente una validación de dominio sólida:

  14. Utilice certificados validados por dominio (DV) o de nivel superior para garantizar la validación adecuada de la propiedad del dominio.

  15. Actualice los registros DNS:

  16. Asegúrese de que los registros DNS estén actualizados y apunten correctamente a los servidores apropiados.

  17. Herramientas de gestión de certificados:

  18. Utilice herramientas de administración de certificados que puedan detectar y alertar sobre discrepancias en el nombre de host.

Enlaces

Estándares

  • SOC2_CONTROLS:
    • CC_6_7
    • CC_7_1
  • CCPA:
    • CCPA_1798_150
  • GDPR:
    • ART_32
  • HIPAA_CONTROLS:
    • SECURITY252
    • SECURITY212
    • SECURITY213
  • PCI_STANDARDS:
    • REQ_4_1
    • REQ_6_2