Búsqueda de transparencia de certificados

Cada certificado de confianza pública emitido para un dominio se escribe en registros públicos —esta búsqueda los lee de vuelta para ti—. Introduce un dominio y ve lo que crt.sh ha registrado para él y sus subdominios: quién emitió cada certificado, qué nombres cubre y cuándo era válido. Es la auditoría que encuentra los certificados que olvidaste —y los que nunca pediste—.

¿Quieres que esto se vigile continuamente? Vigílalo gratis con myeventwatch — alertas de caducidad y caídas, sin tarjeta.

Qué mide la búsqueda

La transparencia de certificados convierte la emisión de certificados de una transacción privada en un registro público. Cuando una autoridad de certificación emite un certificado para un nombre público, lo envía a varios registros CT, y los navegadores rechazan los certificados que no están registrados. El efecto secundario es un regalo para los defensores: el historial completo de emisión de cada dominio está en público, esperando a ser leído. La página llama a GET /api/check/cert-search en el servidor de sysosx, que hace una única petición a crt.sh —el índice público de esos registros— para el dominio y todo lo que hay bajo él, normaliza la respuesta, la ordena de más reciente a más antigua y la guarda en caché durante una hora. Se muestran hasta 200 entradas; un dominio con más recibe un aviso de truncamiento y el total real, nunca un corte silencioso.

Lee el resultado como un inventario, no como un veredicto. La pregunta productiva para cada entrada es «¿cuál de nuestros sistemas pidió esto?». Las infraestructuras modernas emiten certificados desde más lugares de los que sus propietarios creen: el alojamiento web, la CDN, el proveedor de correo, el creador de sitios del equipo de marketing, un ingress de Kubernetes en un clúster que alguien montó el año pasado. La mayoría son legítimos y varios serán noticia para ti de todos modos —lo cual ya es útil, porque un inventario de certificados que nunca has visto no puede formar parte del plan de renovación o revocación de nadie—. Las entradas que más importan son las que nadie puede asociar a un sistema: un emisor desconocido, un subdominio desconocido, una fecha de emisión sin ningún despliegue cerca. Son raras, y son exactamente lo que CT fue diseñado para sacar a la luz.

Tres herramientas, tres preguntas

Esta búsqueda responde «¿qué se ha emitido alguna vez?». El comprobador SSL responde «¿qué presenta el servidor ahora mismo?» con un handshake en vivo —la única forma de saber qué reciben realmente los visitantes—. El calificador SSL responde «¿qué tan bien está configurado el TLS de ese servidor?» —versiones de protocolo, secreto perfecto hacia adelante, HSTS, con una nota en letras—. Y el analizador de certificados SSL del navegador lee un archivo de certificado que ya tienes. Una renovación que existe en los registros pero nunca se desplegó aparece aquí y no en el comprobador; un servidor que presenta un certificado antiguo aparece en el comprobador y no aquí. Cuando discrepan, cada uno dice su propia verdad —usa el que coincida con tu pregunta—.

Preguntas frecuentes

¿Qué es la transparencia de certificados, en un párrafo?

Desde 2018, los navegadores exigen que los certificados de confianza pública se publiquen en registros de transparencia de certificados (CT): listas públicas, de solo anexado, de cada certificado que emite una CA. Los registros existen para que la emisión indebida no pueda esconderse: si aparece un certificado para tu dominio que nunca pediste, es visible para cualquiera que mire, incluido tú. Esta herramienta mira en tu nombre, a través de crt.sh, el índice público más conocido de esos registros.

¿En qué se diferencia esto del comprobador SSL y del calificador SSL?

Tres preguntas distintas. El comprobador SSL pregunta qué certificado presenta un servidor ahora mismo, en un handshake en vivo. El calificador SSL audita cómo está configurado el TLS de ese servidor —protocolos, cifrados, HSTS— y lo califica. Esta búsqueda pregunta qué se ha emitido alguna vez para el dominio, según los registros públicos. Puede sacar a la luz certificados que las herramientas en vivo no pueden: certificados de staging olvidados, certificados de CA que tu organización ya no usa y —el caso para el que se creó CT— certificados que nadie de tu equipo pidió en absoluto.

¿Por qué se ejecuta desde el servidor y no en mi navegador?

El analizador de certificados del navegador de este sitio también ofrece una consulta a crt.sh, y dice claramente que si funciona depende de las cabeceras de origen cruzado de crt.sh: un navegador solo puede leer lo que un servicio de terceros le permite leer. Una petición del lado del servidor no tiene ninguna política de origen cruzado que satisfacer, así que la búsqueda aquí funciona igual cada vez. El intercambio es el de siempre: el dominio que introduces se envía a crt.sh desde el servidor de sysosx (y, durante una hora, la respuesta se guarda en caché), algo que la página declara en lugar de ocultar.

Veo certificados que no reconozco. ¿Debo entrar en pánico?

Todavía no. La mayoría de las entradas desconocidas son mundanas: un proveedor de alojamiento o una CDN emitiendo en tu nombre (Cloudflare, un balanceador de carga, un creador de sitios web), una autoridad de certificación que tu organización dejó de usar, o un sistema de renovación automática que alguien configuró y olvidó. Recorre la lista por emisor y fecha y asocia cada entrada a un sistema que operas o a un proveedor al que pagas. El pánico —bueno, la investigación urgente— es para el resto: un certificado de una CA que nadie usa, que cubre nombres que nadie opera, emitido en un momento en que nadie desplegó nada. Eso es o un rincón olvidado de tu propia infraestructura que merece documentarse, o la emisión indebida que CT existe para atrapar, y debe perseguirse hasta que quede explicado.

¿Por qué el resultado se guarda en caché una hora, y por qué puede fallar la búsqueda?

Porque crt.sh es un servicio público gratuito, famosamente lento bajo carga, y el historial de certificados cambia en días y no en minutos: una hora de caché no cuesta nada en frescura y evita que esta herramienta sume carga a crt.sh: como máximo una consulta ascendente por dominio y hora. Cuando crt.sh está caído o es demasiado lento, la búsqueda lo dice con un error explícito en lugar de devolver una lista vacía, porque «no se encontraron certificados» y «la búsqueda en los registros falló» son conclusiones opuestas y solo una de ellas es cierta.