¿Cómo puedo evitar que mis usuarios obtengan un certificado emitido para mi dominio en mi nombre?

22

Tengo un dominio, donde otros usuarios tienen acceso para cargar archivos, usar correo electrónico, usar XMPP, etc.

¿Cómo puedo evitar que estos usuarios acudan a una autoridad de certificación y obtengan un certificado para mi dominio? A menos que la CA requiera un contacto personal, cómo técnicamente ¿Prueba de propiedad de un dominio?

(Suponiendo que una CA un tanto "confiable", es decir, una en las listas de navegadores. No se trata de cómo deberían hacerlo, sino cómo son o podría estar haciéndolo en la práctica. Una CA con un proceso débil sería suficiente para comprometerse.)

Por ejemplo:

  • ¿Debo rechazar la carga / edición de archivos en una ubicación específica, con un nombre específico? ¿Hay algún tipo de ubicación / nombre de archivo reservado para la verificación del propietario?
  • ¿Debo rechazar el envío de direcciones de correo electrónico específicas? ¿Hay direcciones reservadas utilizadas por los CA?
    • ¿O se usa la dirección de correo electrónico de Whois? Pero, ¿y si no hay un correo electrónico especificado?
  • ¿Debo rechazar la entrega de ID de Jabber específicas? ¿Alguna AC utiliza XMPP?
  • ¿Algún otro protocolo que pueda usarse? ¿Algo en el DNS?

( Esta pregunta está relacionada, pero se trata de atacantes que no deberían tener acceso al servidor en el Primero, en mi caso, sin embargo, quiero dar acceso a las personas; solo quiero estar seguro de lo que no debo permitirles hacer.)

    
pregunta unor 15.03.2014 - 04:18
fuente

2 respuestas

40

Actualización: parece un el hombre finlandés pudo demostrar este " ataque "emitiendo un certificado para el dominio live.fi al tener la dirección [email protected] .

El año pasado, hice una apuesta con un amigo para obtener un certificado de confianza del navegador con su nombre de dominio para lanzar un ataque MiTM exitoso en su formulario de inicio de sesión para robar su contraseña. Larga historia corta: perdí la apuesta; No pude convencer a ninguna de las 16 CA. Me puse en contacto con que soy el propietario legítimo del dominio. Aunque tenía una cuenta de correo electrónico en su servidor de correo y tenía acceso de FTP a un usuario directorio bajo el directorio WWW.

Volvamos un poco atrás. ¿Qué hacen las CA antes de emitirle un certificado básico? Tienen un proceso llamado Validación de control de dominio (DCV). La buena noticia es que el DCV dificulta que alguien emita un certificado en su nombre. La mala noticia es que cada CA puede hacer enmiendas y modificaciones personalizadas al DCV, lo que hace que sea imposible saber qué CA será el enlace más débil.

En términos generales, las entidades de certificación utilizan uno de los siguientes métodos:

1. Validación de correo electrónico del dominio: le enviarán un enlace / código de verificación a una de las siguientes direcciones de correo electrónico:

  • Cualquier correo electrónico que tenga en los registros de WHOIS (si tiene privacidad de WHOIS, le pedirán que se ponga en contacto con su registrador y con el reenvío de correo electrónico de configuración).
  • admin @ YourDomain
  • administrador @ YourDomain
  • hostmaster @ YourDomain
  • root @ YourDomain
  • webmaster @ YourDomain
  • postmaster @ YourDomain


2. Validación de CNAME del dominio: le pedirán que cree una entrada CNAME personalizada. Por lo general, incluye hashes de su solicitud de firma de certificado (CSR) o una clave generada aleatoriamente de su elección. Un ejemplo de dicha entrada es

<MD5(CSR)>.yourdomain.com.  CNAME  <SHA1(CSR)>.CA.com


3. Validación de la solicitud HTTP: le pedirán que cargue un archivo de texto específico en la raíz de su dominio. El archivo debe ser accesible con la siguiente solicitud HTTP

http://YourDomain/<MD5(CSR)>.txt

Y debería contener SHA1(CSR) .

Resultados interesantes: Durante mi "desafío", logré que una CA (SSL.COM) aceptara subir el archivo de texto a Domain/MyUserName/Something.txt y enviarme por correo electrónico el enlace de verificación a MyUserName@Domain . Sin embargo, insistieron en que deben verificarme con una llamada telefónica al número que figura en los registros de WHOIS. También descubrí que algunas CA requieren un teléfono como primera verificación, incluso antes de la verificación por correo electrónico. Estas CA no emiten certificados para los nombres de dominio usando opciones de privacidad.

Por lo tanto, para responder directamente a tu pregunta , evita que tus usuarios creen direcciones de correo electrónico especiales (mencionadas anteriormente. También es posible que desees agregar it@ , hostadmin@ , etc.; evita que tus usuarios crear entradas de CNAME y, finalmente, evitar que agreguen archivos a la raíz de su dominio.

Nota: solo porque las 16 CA resultaron ser buenas, no significa que no haya ninguna que esté dispuesta a comprometerse con el nombre de "conveniencia del cliente".

    
respondido por el Adi 15.03.2014 - 09:56
fuente
1

En mi experiencia, los CA harán una de dos cosas:

  • Envíe un correo electrónico de desafío al propietario del dominio como se indica en el WHOIS.
  • Solicite al cliente que cree un registro DNS personalizado pero temporal.

A veces pueden preguntar a ambos.

Dado que esta respuesta es un tanto anecdótica, sugeriría que implementes una seguridad sólida sin importar si pueden crear certificados falsos o no. Google Apps , por ejemplo, solicita sitios para crear un registro CNAME, pero aceptará un documento HTML cargado en su lugar . Si bien esto no es una CA, todavía están trabajando para verificar la propiedad del dominio.

En general, tener un usuario capaz de cargar contenido en su sitio web es problemático.

    
respondido por el David Houde 15.03.2014 - 09:32
fuente

Lea otras preguntas en las etiquetas