¿Qué me impide comprar un certificado SSL para un dominio que no controlo?

88

¿Puedo simplemente construir un servidor web, hacer que su nombre de host " google.com ", crear un CSR fuera de ese servidor y enviarlo a una Autoridad de Certificación para que lo firme? Digamos que elijo el atuendo más barato y dodgiest que puedo encontrar.

¿Eso funcionará? ¿Qué mecanismos existen para evitar que las personas hagan esto?

Soy consciente de que no recibiré ningún tráfico destinado a google.com debido a los registros DNS que apuntan al Google real, pero MitM podría atacar cualquier tráfico de Google con este método. También podría redirigir el tráfico local a mi propio servidor sin que los usuarios sepan nada mejor.

    
pregunta Flamer 24.02.2016 - 05:36
fuente

4 respuestas

138

Este es un problema más grave de lo que cree, especialmente para una empresa como Google, porque son un blanco frecuente para este tipo de travesuras. Pero hay varias capas de salvaguardas, y nuestra protección está mejorando con el tiempo.

Su primera línea de defensa es la Autoridad de certificación.

No deben permitir que los certificados se firmen de forma inapropiada. Cada CA tiene su propio mecanismo para verificar su derecho a comprar un certificado para un dominio determinado, pero normalmente incluye que usted haga una o más de las siguientes acciones:

  • Verifique la propiedad de la dirección de correo electrónico que figura en la información de WHOIS del dominio.
  • Verifique la propiedad de una dirección de correo electrónico que siga uno de varios patrones predeterminados en el dominio (por ejemplo, "administrador @ {dominio}")
  • Crea un registro DNS específico en el dominio
  • Realice un cambio específico en el sitio web alojado en ese dominio

Pero con tantas AC como tenemos, se emiten una cantidad sorprendente de certificados inapropiados. Este es un caso de, "tenías literalmente UN trabajo", pero tenemos que aceptar que se producirán errores.

Se creó Transparencia del certificado para ayudar a auditar las CA

Hay una sorprendente falta de responsabilidad y transparencia por parte de las AC, por lo que Google decidió hacer algo al respecto con Transparencia del certificado .

Este es un registro público de todos los certificados que la CA firma; si un certificado no aparece en el registro, entonces no es válido, y el registro es solo de anexo; No puedes volver y limpiar tu historia. Todavía es relativamente nuevo, pero Chrome ya lo requiere en ciertas CA, incluidas todas las CA de EV. La idea es que puedes seguir el registro y ver si tu dominio aparece cuando no debería. Las herramientas siguen evolucionando para simplificar esto, pero es una tecnología muy prometedora.

Su última línea de defensa es fijación de teclas

Los navegadores más seguros permitirán a los propietarios de dominios "fijar" una o más claves públicas en su dominio. Este es un extremo de todo el sistema PKI e inyecta la confianza directamente en el navegador. Los propietarios de dominios pueden, a través del encabezado HTTP, decirle al navegador que solo permita certificados con claves públicas específicas, y de hecho pueden enviar esa aserción preinstalada en el propio navegador. Esto evita que se use un certificado no autorizado, incluso si tiene una firma de CA válida.

DNSSEC y DANE es donde finalmente irá

Probablemente. Con DNSSEC, puede firmar sus registros DNS, lo que significa que puede poner la firma de su clave pública allí mismo en DNS. Lo que significa que no necesita necesitar una autoridad de certificación de terceros para firmar sus claves. Esa es una solución bastante elegante, pero DNSSEC aún está lejos; no se puede usar con varios sistemas operativos, y la adopción es claramente glacial.

    
respondido por el tylerl 24.02.2016 - 06:52
fuente
19

Debe demostrar la propiedad del DNS antes de que alguien firme un certificado para un nombre de dominio dado.

Solo crear una CSR con el dominio de Google no será suficiente.

Si una autoridad de certificación realmente le proporcionó un Cert válido para un dominio del que no demostró ser el propietario, la CA desconfiaría de inmediato de las personas y sus certificados raíz se eliminarían de los almacenes de confianza.

    
respondido por el d1str0 24.02.2016 - 06:04
fuente
4

En teoría, para las autoridades de certificación actuales esto es posible. Pero hay muchos safegaurds en su lugar. Pero esto ya ha sido respondido.

Sin embargo, esto no es posible con la letsencrypt . Porque utiliza el protocolo ACME para demostrar la propiedad del nombre de dominio.

Básicamente, ejecuta el cliente letsencrypt que se comunica con los servidores de la autoridad de certificación letsencrypt utilizando el protocolo ACME para demostrar que posee el nombre de dominio que reclama. Una vez comprobado esto, se le emitirá un nuevo certificado, de forma gratuita y automática.

    
respondido por el cowlicks 25.02.2016 - 04:23
fuente
2

Respuesta corta; SÍ, podría funcionar

Dada la forma en que funcionan los certificados, si pudiera encontrar una CA que fuera lo suficientemente mala como para hacerlo, podría terminar con un certificado que diga su Google.com.

El problema es que las CA deben verificar su identidad. Ese es todo su propósito. Uno que haga un mal trabajo no durará mucho.

Por lo general, estas CA menos dignas de confianza son de 4º y 5º nivel en una cadena de confianza, y generalmente son identificadas y eliminadas de la cadena de confianza rápidamente.

Dicho esto, al mirar solo los certificados, CA es la última línea de defensa, por lo que si puedes encontrar uno que certifique que eres google.com sin la investigación adecuada, terminarás con un certificado que acredite usted es google.com. (de nuevo probablemente por un tiempo muy corto)

Es importante tener en cuenta que este es un vector serio para el ataque y un problema para servidores más grandes. También es un posible (pero menos usado) vector de ataque si puede agregar un certificado raíz a un cliente a través de un código malicioso.

Hay algunas "correcciones" en las obras, como DNSSEC, pero pasará un tiempo antes de que se use ampliamente.

Hoy en día, la mejor protección es asegurarse de que los certificados raíz de sus clientes estén sanos y no se agreguen.

    
respondido por el coteyr 24.02.2016 - 19:30
fuente

Lea otras preguntas en las etiquetas