Docs / Email Security (ESPM)

DKIM (DomainKeys Identified Mail) firma criptográficamente los correos con una clave privada, y publica la clave pública en DNS. El receiver verifica la firma y sabe con certeza que el correo pasó por un servidor autorizado — sin depender de IPs (que cambian).

Estructura de un DKIM

Cada firma DKIM referencia:

  • Dominio del firmante (d=).
  • Selector (s=), que apunta a un TXT específico en DNS.
  • Algoritmo (típicamente rsa-sha256).
  • Hash del cuerpo (bh=).
  • Firma (b=).

El receiver hace un lookup:

<selector>._domainkey.<dominio> IN TXT "v=DKIM1; k=rsa; p=<clave pública>"

Si la firma verifica con esa clave, DKIM pasa.

Selectores

Un selector es un identificador libre que vos elegís. Convenciones típicas:

  • google._domainkey.tuempresa.com — Google Workspace lo llama así.
  • s1._domainkey.tuempresa.com — SendGrid usa s1 y s2.
  • dkim._domainkey.tuempresa.com — genérico.

Podés tener múltiples selectores activos al mismo tiempo. Es normal — cada vendor firma con el suyo. La plataforma los descubre automáticamente en Discovery.

Rotación

Cuánto: cada 6-12 meses. Mejor práctica de seguridad — si la clave privada se compromete, el atacante tiene una ventana limitada.

Cómo (sin downtime):

  1. Generá una segunda clave con un selector nuevo (s2._domainkey).
  2. Publicá el TXT del selector nuevo.
  3. Activá la firma nueva en tu MTA / vendor. La vieja sigue firmando en paralelo durante 1-2 semanas para dar margen a los correos en tránsito.
  4. Después del período de coexistencia, apagá la firma vieja.
  5. Dejá el TXT viejo publicado unas semanas más — algunos receivers cachean.

Vendors modernos (Google, Microsoft, SendGrid) hacen la rotación automáticamente si activás la opción.

Descubrimiento en la plataforma

En Domain Detail → DKIM Selectors vas a ver todos los selectores que aparecieron en reportes RUA de los últimos 90 días. Cada uno con:

  • Estado (pass / fail / not_found).
  • Último uso.
  • Longitud de la clave (advertencia si <1024 bits).

Si un selector desaparece de los reports, la plataforma alerta — puede ser un rotate legítimo o un vendor que dejaste sin querer.

Errores comunes

  1. Clave RSA de 512 o 1024 bits. Los receivers modernos exigen mínimo 1024, ideal 2048. La plataforma marca en rojo cualquier selector con menos de 2048.
  2. TXT DKIM incompleto. Muchas registrar cortan a 255 caracteres — la clave pública suele exceder eso. Publicá el TXT en múltiples strings dentro del mismo record. La mayoría de las UI de DNS modernos lo hacen automáticamente; si tu registrar es viejo, revisá.
  3. Selector duplicado con clave distinta. Si s1._domainkey está publicado dos veces con contenido distinto, DKIM falla.

SPF vs DKIM — ¿cuál importa más?

Ambos son necesarios para DMARC. Pero DKIM es más resiliente:

  • SPF se rompe con reenvíos. Cuando un usuario reenvía tu email desde una mailing list, el SPF ahora es el de la mailing list — no el tuyo.
  • DKIM sobrevive reenvíos siempre que el reenviador no altere el cuerpo o los headers firmados.

Por eso, la mejor práctica es firmar con ambos SPF + DKIM. DMARC solo exige que uno pase con alineación — DKIM te salva cuando SPF falla.