Módulo 4 · 4.4
DKIM: la firma de su correo
Módulo 4: Registros para el correo electrónico · Tiempo de lectura: 8 minutos
Objetivo de aprendizaje: Después de esta lección podrá explicar cómo funciona DKIM, encontrar y comprobar un registro DKIM, y colocar correctamente el registro DKIM de un servicio externo (como TXT o como CNAME).
Conceptos clave: DKIM, firma digital, clave privada y clave pública, selector, _domainkey, d= y s=, v=DKIM1; k=rsa; p=, DKIM mediante CNAME, rotación de claves
Un sello en cada correo
SPF (lección 4.3) comprueba desde qué servidor llega un correo. DKIM (DomainKeys Identified Mail, RFC 6376) funciona de otra manera: coloca una firma digital en el propio correo.
Así funciona:
- El servidor de correo que envía el mensaje tiene una clave privada secreta. Con ella genera, para cada correo, una firma sobre las partes más importantes: el remitente, el asunto, la fecha y el contenido.
- Esa firma se incluye en una cabecera del correo:
DKIM-Signature. - La clave pública correspondiente está en el DNS del dominio, en un registro TXT.
- El destinatario obtiene esa clave pública y comprueba la firma. Si es correcta, sabe dos cosas: que el correo ha sido realmente firmado por alguien que administra el DNS de ese dominio, y que el correo no se ha modificado durante el envío.
Lo bueno es que DKIM sigue funcionando aunque un correo se reenvíe, siempre que el contenido no se modifique. Eso es algo con lo que SPF tiene dificultades.
¿Dónde está la clave? El selector
Un dominio puede tener varias claves DKIM: una de su propio servidor de correo, una de Microsoft 365, una de su servicio de boletines. Para distinguirlas, cada clave tiene un nombre: el selector.
En la firma aparecen dos campos importantes:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=mail2026; ...d=example.com: el dominio que firma.s=mail2026: el selector.
El destinatario busca entonces la clave con este nombre:
<selector>._domainkey.<dominio>
mail2026._domainkey.example.comLa parte _domainkey es fija. El registro tiene, por ejemplo, este aspecto:
mail2026._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC..."| Elemento | Significado |
|---|---|
v=DKIM1 | Esto es una clave DKIM. |
k=rsa | El tipo de clave. RSA es lo habitual; ed25519 también existe (RFC 8463). |
p=... | La clave pública en sí, una larga serie de letras y números. Si p= está vacío, la clave ha sido revocada. |
Una clave RSA de 2048 bits es la opción habitual; 1024 bits es el mínimo (RFC 8301). Una clave así tiene más de 255 caracteres, por lo que el registro consta de varios fragmentos de texto (lección 4.2). La mayoría de los paneles se encargan de esto automáticamente.
Su propio DKIM, y el de los servicios
Su paquete de alojamiento o servidor de correo. En muchos servidores DKIM está activado por defecto y el panel coloca el registro en el DNS automáticamente. Verá entonces un registro TXT con un nombre como x._domainkey o default._domainkey.
Si el DNS de su dominio está en otro proveedor (por ejemplo Cloudflare o su registrador), su servidor de correo no puede colocar allí el registro por sí mismo. En ese caso copie el nombre y el valor completo desde su panel de alojamiento y cree en su proveedor de DNS un registro TXT con exactamente ese nombre y valor. Esto es algo que mucha gente olvida al cambiar de servidores de nombres: el correo empieza entonces a ir con más frecuencia a la carpeta de spam.
Servicios externos. Microsoft 365, Google Workspace y los servicios de boletines firman con su propia clave. Ellos le proporcionan uno o varios registros:
- Como TXT, por ejemplo Google Workspace: nombre
google._domainkey, valorv=DKIM1; k=rsa; p=seguido de la clave larga. - Como CNAME, por ejemplo Microsoft 365 (
selector1._domainkeyyselector2._domainkey) o Mailchimp (k2._domainkeyyk3._domainkey). Un CNAME apunta a una clave que el propio servicio administra. Ventaja: el servicio puede sustituir su clave sin que usted tenga que hacer nada.
Todos estos registros tienen su propio selector y, por tanto, no interfieren entre sí. No elimine el registro DKIM de su propio servidor de correo al añadir un servicio.
¿Por qué dos selectores?
Servicios como Microsoft 365 piden dos registros CNAME, selector1 y selector2. Firman con una clave a la vez y, en momentos determinados, cambian a la otra (rotación de claves). Si solo configura selector1, funcionará hasta el primer cambio, y a partir de entonces DKIM fallará de golpe. Configure siempre todos los registros que indique el servicio.
Errores frecuentes
- Nombre de dominio duplicado. Escribe
k2._domainkey.example.comen un panel que añade el nombre de dominio automáticamente. Resultado:k2._domainkey.example.com.example.com. Escriba solok2._domainkey. - TXT en lugar de CNAME (o al revés). Utilice exactamente el tipo que indique el servicio.
- Falta el punto al final de un destino CNAME. En paneles que lo requieren:
dkim2.mcsv.net.con el punto. - Clave truncada. Al copiar falta el último fragmento de
p=. Compare el principio y el final con el original. - DKIM activado en el panel del servicio, pero los registros no configurados, o al revés. En la mayoría de los servicios primero hay que configurar los registros y después activar DKIM en su panel de administración.
Comprobar si DKIM funciona
Envíe un correo a una dirección de un proveedor grande (por ejemplo Gmail) y vea el original (Mostrar original o Ver origen). Busque dkim=pass y compruebe qué dominio aparece junto a él. O envíe un correo a un servicio de prueba como mail-tester.com. También puede consultar el registro usted mismo con una herramienta DNS: consulte el registro TXT de <selector>._domainkey.<dominio>.
En la práctica: así se ve en un panel
En este ejemplo utilizamos DirectAdmin. En Administración de DNS hay un registro TXT con el nombre x._domainkey; el valor empieza por v=DKIM1; k=rsa; p=. En Gestor de E-Mail, Cuentas de Correo Electrónico hay un botón para activar o desactivar DKIM. Un CNAME de un servicio se crea mediante Añadir Registro, tipo CNAME, nombre k2._domainkey, valor con un punto al final.
En otros paneles DKIM aparece a veces bajo "Autenticación de correo" o "Seguridad de correo", pero el registro en el DNS es el mismo en todas partes.
Resumen
- DKIM coloca una firma digital en cada correo; la clave pública está en el DNS.
- La clave se encuentra en
<selector>._domainkey.<dominio>. El selector aparece en la firma (s=), y el dominio también (d=). - Cada servicio tiene su propio selector; los registros de distintos servicios coexisten sin problema.
- Los servicios suelen usar registros CNAME y varios selectores. Configúrelos todos, con exactamente el tipo indicado.
- Si su DNS está en otro proveedor, debe configurar allí usted mismo la clave DKIM de su propio servidor de correo.
Cuestionario
Ejercicio
Ejercicio Z4.4: Buscar un DKIM. Abra un correo que haya recibido de una empresa u organización y consulte el original. Busque en la cabecera DKIM-Signature el dominio (d=) y el selector (s=). Introduzca ambos. La comprobación buscará la clave correspondiente.
Ejercicio O4.4: Configurarlo usted mismo en su zona de práctica. En la zona de práctica utilizará un servicio ficticio; en su dominio real tomará la clave o el CNAME auténticos de su servidor de correo o servicio. Con el ejercicio recibirá una clave de práctica (el valor que sigue a p=). Esa clave es larga: péguela entera, sin omitir nada. Cree en su zona de práctica :<code>.dnspractice.eu
- un registro TXT en
cursus._domainkeycon el valorv=DKIM1; k=rsa; p=<oefensleutel>; - un registro CNAME en
k2._domainkeyque apunte adkim.newsletter-demo.dnspractice.eu.(con el punto al final si su panel lo requiere).
Ejercicio O4.4
Realizará este ejercicio en su propia zona de práctica: una zona DNS real en los servidores de nombres de WebOké, solo para usted. Regístrese con su dirección de correo electrónico. Recibirá un enlace de acceso por correo y volverá después a esta lección. Solo usamos su dirección para el curso.
Para saber más
Los pasos de estos artículos corresponden a los paneles de WebOké; en otros paneles el funcionamiento es similar.
- Manual de DirectAdmin 5.8: Activar y comprobar DKIM
- Configurar DKIM cuando el DNS está en un servidor externo
- Manual de DirectAdmin 5.4: Registros CNAME y el punto final
- Manual de WebOké 6.7: La tarjeta Configurar el correo (MX, SPF, DKIM, DMARC)
- RFC 6376 (DKIM), RFC 8301 (longitud de clave), RFC 8463 (Ed25519)
