La regla, sin letra pequeña
Un dominio se cuenta como suplantable cuando no publica una política que ordene bloquear el correo que no se autentica. Sin excepciones ni ajustes:
none.Los dominios que no se pueden consultar salen del denominador: no son ni seguros ni inseguros, y contarlos en cualquiera de los dos lados falsearía el porcentaje.
Reprodúcelo en dos minutos
La herramienta no necesita instalar nada: le basta Python 3. Usa una sola consulta DNS pública por dominio, no envía correo y no toca ningún sistema.
curl -O https://www.altruia.es/herramientas/altruia-suplantacion.py
python3 altruia-suplantacion.py elcorteingles.es correos.es tudominio.esY para reproducir un agregado sobre tu propia lista de dominios:
python3 altruia-suplantacion.py --lista dominios.txt --resumenSHA-256 del fichero:
3f87e7812391fd63f5e9a5026fdc343f711772e1492940788f8a7c102d850b1a
Está en dominio público: cópiala, cámbiala y publica tus propios datos. Si publicas resultados obtenidos con ella, cita la versión de la metodología que imprime, porque dos cifras calculadas con reglas distintas no son comparables.
Lo que esta cifra no dice
- No mide incidentes. Que un dominio sea suplantable no significa que haya sido atacado, del mismo modo que una puerta sin cerrar no implica un robo.
- No representa a España. Es una muestra concreta de 1194 dominios de sectores esenciales, no una selección estadística del tejido empresarial.
- No detecta dominios parecidos al tuyo registrados por otro, ni la suplantación solo del nombre visible con otra dirección detrás.
- No dice si tu correo llega bien ni si estás en listas negras.
Antes de salir, cada informe pasa por tres revisiones
El riesgo de un informe de seguridad no es equivocarse en el dato: es decir más de lo que la comprobación puede saber. «No publica registro DMARC» es un hecho comprobable; «les han robado el correo» es una invención que suena igual de seria. Ese salto es lo que convierte un diagnóstico en un susto vendido, y es exactamente lo que hace que la gente desconfíe del sector.
Por eso ningún informe nuestro lo escribe una sola cabeza. La auditoría cruda pasa por tres revisiones independientes, cada una con un trabajo distinto y ninguna con permiso para hacer el de las otras:
El primer informe que pasó por aquí fue el de altruia.es, el nuestro. El verificador tumbó tres frases de nuestro propio comprobador por afirmar de más, y están corregidas abajo. Un instrumento que no se ha medido a sí mismo no ha sido medido.
Y una regla que casi nadie escribe: cuando una comprobación no llega a concluir, el informe lo dice. Una casilla sin comprobar no es un aprobado, y presentarla como tal es la manera más silenciosa de mentir en una auditoría.
Registro de correcciones
Un informe sin erratas no es uno riguroso: es uno que nadie revisa. Cada vez que encontremos un error en nuestros propios datos aparecerá aquí, con qué falló, cómo se detectó y qué efecto tuvo en la cifra publicada.
- Qué estaba mal
- Y estaba también en los cuatro chequeos que deciden si un dominio es suplantable. La función que lee los registros TXT del DNS devolvía una lista vacía tanto cuando el servidor contestaba «aquí no hay nada» como cuando no contestaba. Con la red mala, eso producía «sin DMARC» y «sin SPF» con severidad alta, «DKIM no detectado» y «sin MX»: el veredicto entero levantado sobre una consulta caída.
- Cómo se detectó
- Después de encontrar el mismo fallo tres veces a mano, dejamos de buscarlo a mano: montamos un banco de pruebas que corta la red —DNS, sockets y HTTP— y ejecuta los 27 chequeos del motor. Sin nada que consultar, ninguno puede producir un hallazgo. En su primera ejecución cazó estos cuatro. Cualquier chequeo que escribamos a partir de ahora tiene que pasar por ahí.
- Efecto en la cifra
- En las cifras agregadas, ninguno: el censo del correo usa su propio medidor, ya corregido, y sus 200 dominios remedidos dieron un 1,5 % de casos no consultables. Afecta a auditorías individuales hechas con la red inestable. Ahora esos casos salen como «no hemos podido comprobarlo» y no cuentan como hallazgo.
- Qué estaba mal
- El mismo fallo, en el hallazgo más grave que emitimos. Cuando un subdominio del cliente apunta (CNAME) a un servicio en la nube, comprobamos si ese recurso sigue existiendo: si no, un tercero podría reclamarlo y publicar contenido desde su dominio. La función que lo comprobaba devolvía «no existe» también cuando la consulta de DNS se caía por un timeout o un SERVFAIL. Es decir: un informe podía afirmar, con severidad alta y con el nombre del subdominio dentro, que un recurso estaba abandonado sin haber podido mirarlo.
- Cómo se detectó
- Buscando a propósito la misma familia de fallo por todo el motor después de encontrarla en el medidor del correo. El chequeo presumía en su propia documentación de ser «conservador, sin falsos positivos»; este era el que se colaba, y el caso de SERVFAIL ni siquiera llegaba al camino de error.
- Efecto en la cifra
- Ninguno en las cifras agregadas: este chequeo no entra en el porcentaje de dominios suplantables. Afecta a informes concretos, que es donde más duele. Ahora un objetivo que no responde sale como «no hemos podido comprobarlo» —una nota informativa, no un hallazgo— y solo se denuncia cuando el DNS contesta que ahí ya no hay nada.
- Qué estaba mal
- El medidor no distinguía «este dominio no tiene DMARC» de «no hemos podido consultarlo». Al resolver el DNS, un NXDOMAIN (el nombre no existe) y un timeout se trataban igual —«sin registro»— y de ahí salía el veredicto «suplantable». Es acusar a alguien por no haber podido mirar. Además, como el fallo se devolvía como una lista vacía y nunca como «no sé», el respaldo por DNS-over-HTTPS que existe justo para esos casos no llegaba a ejecutarse nunca.
- Cómo se detectó
- Comparando las tres instantáneas del censo: había dominios que pasaban de «p=reject» a «sin registro» y volvían de una semana a otra, y ninguno de los 9.889 dominios había fallado jamás en ninguno de los tres barridos. Un dominio no pierde su DMARC un martes y lo recupera el jueves, y diez mil consultas de DNS no salen perfectas tres veces seguidas.
- Efecto en la cifra
- Pequeño y medido: al remedir 200 dominios que el censo daba por «sin registro», 197 lo están de verdad y 3 no se pueden consultar — un 1,5 % de ese grupo. Desde ahora esos casos salen como «no medido» y quedan fuera del denominador, en vez de contarse como suplantables.
- Qué estaba mal
- Tres frases de nuestros propios informes afirmaban más de lo que una comprobación externa puede saber. Decíamos que sin MTA-STS «el correo puede entregarse sin cifrar» —cuando hoy casi todo emisor cifra por su cuenta y lo que falta es la norma que lo EXIJA—; que sin registro CAA «cualquier Autoridad de Certificación puede emitir» —omitiendo que las CA siguen obligadas a validar—; y que una CSP con 'unsafe-inline' «no frena XSS», un absoluto que la comprobación no demuestra.
- Cómo se detectó
- Al pasar nuestro propio dominio por la revisión a tres voces descrita arriba. El verificador, que solo ve el hallazgo y su evidencia, marcó las tres como exageradas. Por el camino destapó además un fallo del propio revisor: le llegaba el titular de cada hallazgo pero no la prueba adjunta, así que reprobaba comprobaciones correctas por falta de evidencia que sí existía.
- Efecto en la cifra
- Ninguno en la cifra publicada: los hallazgos son los mismos y el 70 % no se mueve. Lo que cambia es lo que lee quien recibe el informe, que es de lo que se fía.
- Qué estaba mal
- El analizador no admitía espacios alrededor del «=» en el registro DMARC («p= reject»), aunque la especificación los permite. Un dominio con la política de bloqueo bien puesta se contaba como suplantable.
- Cómo se detectó
- Al publicar la herramienta abierta se comprobó que su veredicto no coincidía con el del motor interno en ese caso. La prueba automática de equivalencia entre ambos lo destapó.
- Efecto en la cifra
- Un dominio de los 1.102 con registro DMARC estaba mal clasificado. Corregido: 836 → 835 dominios suplantables. El porcentaje publicado no varía (70 %), pero la empresa afectada dejó de aparecer como expuesta cuando no lo estaba.
¿Crees que tu dominio está mal clasificado?
Escríbenos a info@altruia.es con el dominio. Lo comprobamos, y si el error es nuestro lo corregimos y lo publicamos arriba con tu caso. También puedes comprobarlo tú mismo ahora con la herramienta de esta página: si su veredicto no coincide con lo que dice nuestro informe, el fallo es nuestro y queremos saberlo.
Comprueba un dominio sin instalar nada
Mismo método, en el navegador. Gratis, sin registro y sin tocar ningún sistema.
Abrir el comprobadorEl estudio que sale de aplicar este método a la contratación pública —qué exposición tienen las empresas a las que un pliego les exige el Esquema Nacional de Seguridad— está en www.altruia.es/ciberseguridad/estudio/ens-y-contratos-publicos, con sus datos abiertos.
Los agregados y la nota para prensa están en www.altruia.es/ciberseguridad/prensa; el informe completo, en www.altruia.es/ciberseguridad/informe. El 70 % es el titular, pero lo que importa es que puedas comprobarlo.
¿Le ves un fallo?
Va en serio lo de reproducirla. Si encuentras algo que no cuadra, déjanos tu teléfono y lo hablamos: corregir un dato nuestro nos vale más que un cliente.