Cómo configurar DKIM en Postfix en 2026 (OpenDKIM y Rspamd)

porNajeeb VV, de

Última actualización:
13 13 minutos de lectura
Cómo configurar DKIM en Postfix en 2026 (OpenDKIM y Rspamd)

Puntos clave

  • Postfix no dispone de un firmador DKIM integrado, por lo que hay que añadir un «milter» (OpenDKIM o Rspamd) que firme cada mensaje saliente antes de que salga del servidor.
  • OpenDKIM sigue funcionando para la firma, pero la actividad en el proyecto original ha sido escasa en los últimos años. Elígelo para configuraciones sencillas de un solo dominio en las que puedas comprobar la compatibilidad actual con tu distribución, y da preferencia a Rspamd para el correo de varios dominios o de producción.
  • Utiliza claves RSA de 2048 bits como mínimo; las claves de 1024 bits han quedado obsoletas según la RFC 8301. Opta por Ed25519 si tanto tu MTA/milter como tu proveedor de DNS lo admiten.
  • La mayoría de los errores de «sin firma» se deben a una incompatibilidad entre el socket y los permisos. Si tu Postfix ejecuta smtpd en un entorno chroot (algo habitual en algunos paquetes de Debian/Ubuntu), coloca el socket de OpenDKIM dentro del directorio de cola de Postfix y asegúrate de que el usuario «postfix» pueda acceder a él (por ejemplo, añadiendo «postfix» al grupo «opendkim»).
  • No basta con que se supere la verificación DKIM. Es necesario que DMARC esté bien configurado, por lo que el dominio de firma debe coincidir con el encabezado «From:», y las claves deben renovarse al menos una vez al año.

DKIM en Postfix es la firma criptográfica que se adjunta al correo saliente para que los servidores receptores puedan confirmar que el mensaje procede realmente de tu dominio y que no ha sido alterado durante el tránsito. 

Postfix no lo hace por sí solo. Hay que añadir un «milter» (un filtro de correo) que firme cada mensaje al salir de tu servidor.

Esta guía explica paso a paso la configuración de DKIM en Postfix en 2026: desde la elección del milter y la generación de claves modernas hasta su integración en Postfix y la rotación de las claves antes de que se conviertan en un riesgo.

OpenDKIM frente a Rspamd: ¿cuál deberías utilizar en 2026?

Antes de poder firmar un mensaje, debes elegir el «milter» que se encargará de la firma. OpenDKIM y Rspamd son las dos opciones más habituales para DKIM con Postfix en 2026.

Ambas opciones validarán correctamente tu correo saliente. Sin embargo, difieren en cuanto a los requisitos que te exigen para su funcionamiento y en el grado de confianza que puedes depositar en ellas de cara al futuro.

CriteriosOpenDKIMRspamd
Estado de mantenimientoLa actividad en el proyecto original es escasa; la última versión estable es la 2.10.3 (mayo de 2015); la rama 2.11.0 se encuentra en fase beta. Debian testing la ha marcado para su eliminación automática (junio de 2026) debido a un error de dependencia con libmemcached.En desarrollo activo, con lanzamientos frecuentes
Qué haceSolo firma/verificación DKIMFirma DKIM y filtrado completo de spam
Complejidad de la configuraciónSencillo, con un único objetivoMás elementos móviles en la parte delantera
Integración con PostfixMilter (enchufe)Milter (socket proxy)
Interfaz de usuario webNingunoPanel de control integrado

OpenDKIM firma los correos correctamente, y en estos momentos hay millones de servidores que dependen de él. Sin embargo, conlleva un riesgo de mantenimiento que conviene valorar antes de basar tu sistema en él. 

La última versión estable del proyecto original fue la 2.10.3, del 12 de mayo de 2015. La rama 2.11.0, que incorporaba compatibilidad con Ed25519, nunca salió de la fase beta. OpenDKIM sigue firmando el correo de forma fiable y sigue estando incluido en las principales distribuciones, pero Debian testing ha marcado la versión 2.11.0~beta2 para su eliminación automática (prevista actualmente para junio de 2026) debido a un problema de dependencia transitiva con libmemcached, y no por el abandono del proyecto por parte del desarrollador original en sí. Comprueba el estado actual del paquete en tu distribución antes de decidir utilizar OpenDKIM para un uso en producción a largo plazo.

Puedes utilizarlo hoy mismo, pero estás desarrollando sobre un software cuyo desarrollador original no ha lanzado una versión estable en una década, y ese es el riesgo a largo plazo que debes tener en cuenta. 

Rspamd es la alternativa que se mantiene de forma activa. Firma DKIM y filtra el spam desde un único milter, por lo que solo hay que ejecutar un servicio en lugar de dos si también se desea protección para el correo entrante. Postfix es el MTA más habitual que se combina con Rspamd, y las pilas como Mailcow confían en él para la firma DKIM en lugar de en OpenDKIM. 

A continuación te explicamos cómo elegir:

  • Elige OpenDKIM si gestionas un único dominio y quieres la configuración más sencilla posible con firma DKIM y nada más.
  • Elige Rspamd si gestionas varios dominios, envías correo de producción o utilizas una plataforma como Mailcow o iRedMail.

En cualquier caso, a continuación se explican ambas opciones. Pasa directamente a la que hayas elegido.

Lectura recomendada: ¿Qué es DKIM?

Requisitos previos antes de empezar

Antes de generar una clave o editar un archivo de configuración, asegúrate de que estos cuatro elementos ya estén en su sitio 

  • Una instalación de Postfix que funcione y que ya envíe correo: DKIM firma los mensajes que envía tu servidor, por lo que este debe estar funcionando correctamente primero. Si aún no tienes Postfix configurado, hazlo antes de continuar.
  • Acceso al DNS de tu dominio: Tus registros A y MX ya deberían estar publicados, y tendrás que poder añadir un registro TXT, ya que ahí es donde se almacenará tu clave pública.
  • Acceso como root o con sudo en el servidor de correo: Tendrás que editar archivos de configuración del sistema y reiniciar servicios.
  • Un proveedor de DNS que admita registros TXT largos: Una clave de 2048 bits supera el límite de 255 caracteres para una sola cadena TXT, por lo que algunos proveedores te piden que la dividas en dos cadenas entre comillas. Comprueba que el tuyo pueda gestionarlo antes de generar la clave.

En primer lugar, elige el tamaño de la clave: RSA de 2048 bits o Ed25519 si tanto tu MTA/milter como tu proveedor de DNS lo admiten, pero nunca 1024 bits. El RFC 8301 prohíbe el uso de SHA-1 (NO SE DEBE utilizar rsa-sha1) y recomienda el RSA de 2048 bits como mínimo «RECOMENDADO», mientras que los 1024 bits siguen siendo el mínimo exigido por el protocolo (SE DEBE utilizar al menos 1024 bits). Las claves débiles dan a los destinatarios un motivo para desconfiar de tu correo.

Cómo configurar DKIM en Postfix con OpenDKIM

OpenDKIM es la forma más directa de añadir la firma DKIM a un servidor Postfix de un solo dominio, con un solo demonio, una sola clave y sin componentes adicionales. Estos cinco pasos te llevarán de un servidor que envía correo sin firmar a uno que firma todos los mensajes salientes con una clave que los destinatarios pueden verificar. Cada paso se basa en el anterior, así que síguelos en orden. 

Paso 1: Instalar OpenDKIM

Instala dos paquetes: opendkim (el propio demonio de firma) y opendkim-tools (las utilidades que utilizarás para generar claves).

Ubuntu 24.04 / Debian 12:

bash

sudo apt actualizar

sudo apt instalar opendkim opendkim-tools

RHEL / Rocky 9 (OpenDKIM está disponible en el repositorio EPEL):

bash

sudo dnf instalar epel-release

sudo dnf instalar opendkim opendkim-tools

Activa el servicio para que se inicie al arrancar el sistema:

bash

sudo systemctl activar opendkim

Nota: En algunas distribuciones, el nombre del servicio o el usuario/grupo pueden variar (por ejemplo, «opendkim» frente a «opendkim-daemon», «opendkim:opendkim» frente a «opendkim:postfix»). Consulta la documentación del paquete o la unidad de systemd si los comandos no coinciden.

Paso 2: Genera tu par de claves DKIM

Crea un directorio para almacenar las claves del dominio y, a continuación, genera un par de claves de 2048 bits:

bash

sudo mkdir -p /etc/opendkim/keys/example.com

sudo opendkim-genkey -b 2048 -d example.com -s selector2026 \

  -D /etc/opendkim/keys/example.com/

Función de cada indicador:

BanderaSignificado
-b 2048Tamaño de la clave en bits: RSA de 2048 bits
-d example.comEl dominio por el que te estás registrando
-s selector2026El nombre del selector (véase la nota más abajo)
-D /etc/opendkim/keys/example.com/Dónde guardar los archivos de salida

En el selector: el valor es la etiqueta que aparecerá en tu registro DNS. Utiliza un nombre basado en el año, como selector2026. Ahora no te cuesta nada y facilita la rotación más adelante; el año que viene generarás selector2027 y el registro antiguo seguirá activo durante el cambio.

El comando genera dos archivos:

ArchivoQué esRegla
selector2026.privateTu clave privada de firmaNo lo compartas nunca; haz que solo OpenDKIM pueda leerlo.
selector2026.txtLa clave pública, con el formato adecuado para el DNSEsto es lo que debes publicar en el paso 5

Ahora configura los derechos de propiedad. Unos permisos incorrectos son la causa más habitual por la que OpenDKIM no consigue firmar, así que no te saltes este paso:

bash

sudo chown -R opendkim:opendkim /etc/opendkim/keys

sudo chmod 600 /etc/opendkim/keys/example.com/selector2026.private

Modifica el usuario o grupo si tu distribución utiliza nombres diferentes (por ejemplo, opendkim:postfix). Consulta la documentación del paquete o la unidad de systemd para confirmarlo.

Paso 3: Configurar OpenDKIM

OpenDKIM lee su configuración principal desde /etc/opendkim.confy, a continuación, utiliza tres pequeños archivos de consulta para decidir qué firmar y con qué clave. Configura primero las directivas principales:

Syslog
UMask2
Modos
Canonizaciónrelajado/relajado
Toma de corrientelocal:/var/spool/postfix/opendkim/opendkim.sock
PidFile/run/opendkim/opendkim.pid
Sobrescrito de encabezadosDesde
Tabla de claves/etc/opendkim/key.table
Tabla de firmasrefile:/etc/opendkim/signing.table
Lista de ignorados externos/etc/opendkim/trusted.hosts
Hosts internos/etc/opendkim/trusted.hosts

Qué hacen las directivas importantes:

DirectivaQué controla
ModosSolo firmar. Utiliza «sv» si también quieres que OpenDKIM verifique el correo entrante.
Canonización flexible/flexibleTolera pequeños cambios en los espacios en blanco durante la transmisión, lo que mantiene la validez de las firmas. Nota: la canonización no controla la alineación DMARC. La alineación DMARC depende de si el dominio «d=» de la firma DKIM coincide con el dominio del encabezado «From:», y no de la configuración de canonización.
Toma de corrienteLugar donde OpenDKIM escucha las conexiones de Postfix. Esta ruta debe coincidir con la que configures más adelante en Postfix.
OversignHeaders DeFirma el encabezado «From» para que un atacante no pueda añadir un segundo encabezado; se trata de una medida contra la suplantación de identidad pequeña, pero efectiva.
Tabla de claves / Tabla de firmasLos dos archivos de consulta que relacionan los dominios con los selectores y las claves (a continuación).

A continuación, crea los tres archivos de consulta. Cada uno tiene una función:

ArchivoTrabajoLínea de ejemplo
tabla de firmasAsigna un remitente a un selector*@example.com selector2026._domainkey.example.com
key.tableAsigna ese selector a su clave privada en el discoselector2026._domainkey.example.com example.com:selector2026:/etc/opendkim/keys/example.com/selector2026.private
trusted.hostsMuestra una lista de los servidores cuyos mensajes salientes deben firmarse127.0.0.1 / localhost / ::1 / example.com

Paso 4: Conectar OpenDKIM a Postfix

Aquí es donde fallan la mayoría de las configuraciones, y la causa suele ser casi siempre el socket. OpenDKIM crea un archivo de socket para comunicarse con Postfix. Si tu Postfix ejecuta smtpd en un entorno chroot —que es la configuración predeterminada en los paquetes de Debian/Ubuntu, pero no la predeterminada en la versión original de Postfix ni en RHEL/Rocky—, queda bloqueado dentro de /var/spool/postfix y no puede acceder a ningún socket fuera de ese directorio. Ambos nunca se conectan, y tu correo sale sin firmar.

La solución consiste en colocar el enchufe dentro directorio de cola de Postfix y asignarle el usuario de Postfix permisos para acceder a él. Sigue estos pasos en el orden indicado:

1. Crea el directorio «socket» dentro del spool de Postfix:

bash

sudo mkdir -p /var/spool/postfix/opendkim

sudo chown opendkim:postfix /var/spool/postfix/opendkim

Modifica el grupo si tu distribución utiliza «opendkim:opendkim» en su lugar.

2. Añade el sufijo a la lista de grupo grupo para que pueda leer el socket:

bash

sudo gpasswd -a postfix opendkim

3. Confirma la ruta del socket de tiempo de ejecución coincide con opendkim.conf. En Ubuntu/Debian, configúralo en /etc/default/opendkim (o en la configuración de systemd):

  SOCKET="local:/var/spool/postfix/opendkim/opendkim.sock"

4. Dirige Postfix hacia el milter en /etc/postfix/main.cf:

milter_default_action = accept

   milter_protocol = 6

   smtpd_milters = local:opendkim/opendkim.sock

   non_smtpd_milters = $smtpd_milters

Qué significan esas cuatro directivas de Postfix:

DirectivaPropósito
milter_default_action = acceptSi el servidor de correo está fuera de servicio, el correo sigue circulando; un remitente inactivo nunca bloquea tu cola sin avisar.
milter_protocol = 6La versión del protocolo Milter que utiliza actualmente OpenDKIM.
smtpd_miltersAplica el filtro al correo recibido a través de SMTP (tus envíos salientes).
non_smtpd_miltersSe aplica al correo que no se recibe a través de SMTP, por ejemplo, el generado localmente.

La ruta del socket en main.cf es relativa, local:opendkim/opendkim.sock, y no la ruta completa del sistema de archivos, ya que Postfix la lee desde dentro de su entorno chroot.

Reinicia ambos servicios para que se apliquen todos los cambios:

bash

sudo systemctl restart opendkim

sudo systemctl restart postfix

Paso 5: Publicar el registro TXT de DKIM en el DNS

Abre el archivo de clave pública que generaste en el paso 2:

bash

sudo cat /etc/opendkim/keys/example.com/selector2026.txt

Publica su contenido en tu proveedor de DNS como un nuevo registro:

CampoValor
Nombre del registroselector2026._domainkey.example.com
TipoTXT
ValorTodo lo que hay entre paréntesis (la cadena «v=DKIM1; k=rsa; p=...»)

Dado que se trata de una clave de 2048 bits, el valor supera el límite de 255 caracteres para una sola cadena TXT. La mayoría de los proveedores de DNS la dividen automáticamente. Si el tuyo la rechaza, divide la clave pública en dos cadenas entre comillas dentro del mismo registro que el archivo .txt ya te indica dónde se produce la división.

Configura el TTL en 300 segundos durante la configuración, para que corregir cualquier error resulte económico. Una vez que hayas comprobado que la firma funciona, auméntalo a 3600.

Paso 6: Comprueba los datos antes de enviar

La propagación del DNS lleva tiempo, y una clave de 2048 bits dividida incorrectamente se verá bien en el editor de zonas, pero dará error en cuanto el destinatario la lea. 

Rspamd es la mejor opción cuando se tiene más de un dominio o se gestiona el correo en entorno de producción. Firma DKIM y filtra el spam desde un único milter, lo que te permite gestionar un solo servicio en lugar de dos.

Además, como busca las claves por dominio automáticamente, añadir tu próximo dominio se reduce a un simple cambio de una línea, en lugar de tener que realizar una nueva configuración. A continuación te mostramos la guía completa para Postfix, en cinco pasos.

Paso 1: Instalar Rspamd

La versión que se encuentra en los repositorios base de tu distribución suele estar desactualizada, así que instálala desde el repositorio estable oficial de Rspamd.

bash

sudo apt instalar -y lsb-release wget gpg

sudo mkdir -p /etc/apt/keyrings

wget -O- https://rspamd.com/apt-stable/gpg.key | \

  gpg –dearmor | sudo tee /etc/apt/keyrings/rspamd.gpg > /dev/null

echo «deb [signed-by=/etc/apt/keyrings/rspamd.gpg] \

  http://rspamd.com/apt-stable/ $(lsb_release -cs) «main» | \

  sudo tee /etc/apt/sources.list.d/rspamd.list

sudo apt update && sudo apt install rspamd

Actívalo para que se inicie al arrancar el sistema:

bash

sudo systemctl activar rspamd

Consulta siempre rspamd.com para conocer las últimas instrucciones de instalación, ya que la URL del repositorio y los pasos para la clave GPG cambian de vez en cuando.

Paso 2: Genera tu clave DKIM

Rspamd incluye su propio generador de claves, rspamadm dkim_keygen , sin necesidad de ningún paquete de herramientas adicional. Guarda la clave privada en un archivo y muestra la clave pública (tu registro DNS) en pantalla, que puedes copiar en un archivo .pub .

bash

sudo mkdir -p /var/lib/rspamd/dkim

sudo rspamadm dkim_keygen -s selector2026 -b 2048 -d example.com \

  -k /var/lib/rspamd/dkim/example.com.selector2026.key | \

  sudo tee /var/lib/rspamd/dkim/example.com.selector2026.pub

sudo chown -R _rspamd:_rspamd /var/lib/rspamd/dkim

Modifica el usuario/grupo si tu distribución utiliza rspamd:rspamd en lugar de _rspamd:_rspamd. Compruébalo en la unidad de systemd de tu paquete.
Las opciones son las mismas que las de OpenDKIM: -s selector, -b 2048 tamaño de la clave, -d dominio, -k el archivo de salida de la clave privada. Al final obtendrás dos archivos:

ArchivoQué es
example.com.selector2026.keyLa clave privada de firma que utiliza Rspamd. Asegúrate de que el propietario sea el usuario _rspamd.
example.com.selector2026.pubLa clave pública, con el formato adecuado para el DNS, la publicas en el paso 5

Paso 3: Activar la firma DKIM

Rspamd gestiona DKIM a través de su módulo dkim_signing . Actívalo e indícale dónde se encuentran tus claves en /etc/rspamd/local.d/dkim_signing.conf

selector = «selector2026»;

path = «/var/lib/rspamd/dkim/$domain.$selector.key»;

allow_username_mismatch = true;

use_domain = «header»;

Función de cada opción:

EscenarioQué controla
selectorEl nombre del selector debe coincidir con el nombre del archivo de clave y con el registro DNS.
rutaDonde Rspamd encuentra la clave privada; $domain y $selector se rellenan automáticamente
allow_username_mismatchSe envía incluso cuando el nombre de usuario autenticado no coincide con el dominio del remitente
use_domain = "header"Selecciona el dominio de firma a partir del encabezado «From» del mensaje

Eso ruta es lo que hace que Rspamd sea tan eficaz para múltiples dominios. Dado que resuelve $domain y $selector por nombre de archivo, añadir otro dominio solo implica colocar su clave en la misma carpeta, sin necesidad de un nuevo bloque de configuración ni de un segundo demonio.

Paso 4: Conectar Rspamd a Postfix

Configurar Postfix para que utilice el milter de Rspamd en /etc/postfix/main.cf. Las directivas son idénticas a las de la configuración de OpenDKIM, solo cambia el socket:

milter_default_action = accept

milter_protocol = 6

smtpd_milters = inet:localhost:11332

non_smtpd_milters = $smtpd_milters

Rspamd escucha en su proceso proxy en el puerto TCP 11332 por defecto. Al tratarse de un socket de red, se evita el problema de permisos de socket en chroot que da problemas a OpenDKIM. La única línea que difiere entre los dos milters es:

MilterLínea «Socket» en main.cf
OpenDKIMsmtpd_milters = local:opendkim/opendkim.sock
Rspamdsmtpd_milters = inet:localhost:11332

Paso 5: Publicar el registro DNS

Abre la clave pública y publícala exactamente como se indica en el paso 5 de OpenDKIM, con el mismo formato de nombre de registro, TXT , y la regla de división de 255 caracteres para la clave de 2048 bits:

bash

sudo cat /var/lib/rspamd/dkim/example.com.selector2026.pub

Si lo deseas, puedes activar el panel de control web configurando una contraseña en /etc/rspamd/local.d/worker-controller.inc 

Te ofrece una visión en tiempo real de la actividad relacionada con la firma y el spam. A continuación, reinicia ambos servicios:

bash

sudo systemctl restart rspamd postfix

Comprueba el registro publicado con una herramienta de verificación DKIM antes de darlo por válido, tal y como harías tras la configuración de OpenDKIM.

Rspamd sustituye tanto a OpenDKIM como SpamAssassin. Si utilizabas un filtro de spam independiente, puedes dejar de utilizarlo aquí, de modo que tengas menos servicios, una superficie de configuración más reducida y un único lugar desde el que gestionar tanto la firma como el filtrado.

Configuración de DKIM en Postfix para varios dominios

Es habitual gestionar varios dominios desde un único servidor Postfix, pero DKIM no toma atajos en este sentido. Cada dominio desde el que envíes mensajes necesita su propio par de claves y su propio registro DNS, ya que cada uno se autentica de forma independiente, por lo que no existe una clave compartida que los cubra a todos. La forma de escalar depende del milter que elijas.

Con OpenDKIM, amplías las tablas que ya has creado: Genera una clave para cada nuevo dominio y, a continuación, añade una línea para cada uno de ellos en cada archivo de consulta.

En signing.table:

*@example.com selector2026._domainkey.example.com

*@example.net selector2026._domainkey.example.net

En key.table:

selector2026._domainkey.example.com example.com:selector2026:/etc/opendkim/keys/example.com/selector2026.private

selector2026._domainkey.example.net example.net:selector2026:/etc/opendkim/keys/example.net/selector2026.private

Cada nuevo dominio supone una clave más y dos líneas más; es un proceso manual, pero predecible.

Con Rspamd, ya te lo han hecho todo: Dado que la configuración de la ruta utiliza el $domain , Rspamd encuentra automáticamente la clave de cada dominio por el nombre del archivo. Coloca example.net.selector2026.key en el mismo directorio y también firmará ese dominio sin necesidad de cambiar la configuración. Si quieres un control más estricto, puedes añadir bloques específicos para cada dominio en dkim_signing.conf.

Hay dos hábitos que permiten gestionar con facilidad la firma multidominio:

  1. Utiliza el mismo selector en todos los dominios, selector2026 en todas partes, para que la rotación se realice en un solo proceso en lugar de en varios. 
  2. Publica un registro DNS independiente para cada dominio: si te olvidas de hacerlo en uno de ellos, el correo de ese dominio se firmará localmente, pero no superará la verificación en el servidor receptor.

Cómo probar y verificar la configuración de DKIM en Postfix

Firmar un correo y comprobar que está firmado correctamente son dos cosas distintas. Desde el punto de vista del remitente, todo puede parecer correcto, mientras que el destinatario rechaza tu firma sin que te des cuenta, y no te darías cuenta hasta que fallara la entrega. 

Estas cinco comprobaciones confirman que DKIM funciona correctamente, desde tus propios registros hasta un destinatario real. Sigue el orden que se indica a continuación:

Comprobación 1: Comprueba primero el registro de correo

El registro de correo es la forma más rápida de confirmarlo, y además es local. Sigue el registro, envía un mensaje de prueba y fíjate si aparece una entrada de firma:

bash

  sudo tail -f /var/log/mail.log

En RHEL/Rocky, el archivo es /var/log/maillog. Busca una línea que indique que el mensaje se ha firmado con tu selector. Si aparece, significa que tu milter está funcionando correctamente.

Comprobación 2: Validar la clave mediante el DNS (OpenDKIM)

La validación confirma que la clave privada almacenada en el disco coincide con la clave pública que has publicado:

bash

  opendkim-testkey -d example.com -s selector2026 -vvv

clave OK significa que las dos mitades coinciden. Cualquier otro resultado indica un error tipográfico en el DNS o una discrepancia en la clave, lo cual debe corregirse antes de continuar.

Comprobación 3: Enviar una prueba real

Esta es la única forma de comprobar que el destinatario acepta tu firma. Envía un correo electrónico a una cuenta de Gmail, abre el mensaje y selecciona «Mostrar original». Busca DKIM: «PASS» junto a tu dominio, lo que significa que el servidor receptor confirma que tu firma ha sido verificada.

Comprobación 4: Ejecutar verificadores externos

Un verificador DKIM recupera y analiza tu registro publicado tal y como lo haría un servidor receptor, confirmando que la clave es válida y está completa.

Prueba el verificador DKIM gratuito de PowerDMARCy, a continuación, envía un mensaje a mail-tester.com para obtener una puntuación de entregabilidad más amplia que tenga en cuenta DKIM junto con SPF, DMARC y las señales de spam. 

Comprobación 5: Cuidado con la trampa de «DKIM pasa, pero DMARC falla»

Tu firma puede verificarse correctamente y, aun así, DMARC puede dar un resultado negativo, ya que DMARC requiere alineación: el dominio de tu DKIM d= tiene que coincidir con el dominio que aparece en el encabezado «De:» visible. 

Iniciar sesión como mail.example.com al enviar desde example.com ; la alineación «relaxed» te salvará, pero la «strict» no. Si DMARC falla a pesar de que DKIM haya pasado la comprobación, comprueba que tu tabla de firmas se corresponda con el dominio correcto.

Comprobación 6: Auditar los tres de una sola vez

Superar la comprobación DKIM confirma que una parte del proceso de autenticación funciona, pero la capacidad de entrega y la protección contra la suplantación de identidad dependen de que DKIM, SPF y DMARC actúen de forma conjunta. 

El analizador de dominios gratuito de PowerDMARC Analizador de dominios gratuito analiza los tres aspectos a la vez y ofrece una puntuación de la A a la F, por lo que, de un solo vistazo, sabrás si tu dominio está realmente protegido de principio a fin o si solo cuenta con una protección parcial. 

Cuando te encuentres con problemas como el «DKIM pasa, pero DMARC falla», la herramienta gratuita Email Header Analyzer coloca el veredicto de DKIM y el resultado de la alineación uno al lado del otro, para que puedas identificar la discrepancia exacta en cuestión de segundos en lugar de tener que entrecerrar los ojos para leer los encabezados sin procesar. 

Rotación de claves DKIM en Postfix

Una clave privada que permanece inalterada en un servidor durante años es una clave cuyo riesgo de exposición va en aumento. Si alguna vez se filtra, un atacante podría firmar correos como si procedieran de tu dominio hasta que te des cuenta.

Al alternar según un calendario, al menos una vez al año, se mantiene ese intervalo reducido. El selector basado en el año hace que el cambio se realice sin problemas.

El proceso de rotación:

  1. Generar una nueva clave con un nuevo selector – selector2027.
  2. Publica la nueva clave pública como un nuevo registro TXT de DNS y deja el registro antiguo tal y como está.
  3. Actualiza tu configuración para firmar con el nuevo selector.
  4. Vuelve a cargar el milter y espera a que se propague el TTL del DNS.
  5. Mantén el registro antiguo activo durante, como mínimo, el TTL anterior más entre 24 y 48 horas (normalmente entre 48 y 72 horas en total), dependiendo de tu TTL y del volumen de correo en tránsito. El correo que ya esté en tránsito, firmado con la clave antigua, aún debe pasar por el proceso de verificación.
  6. Retira el selector antiguo y elimina su registro DNS.

La parte en la que se solapan los pasos 5 y 6 es aquella que no se puede precipitar. Si se retira el registro antiguo demasiado pronto, cualquier mensaje que aún se esté cotejando con él fallará en la verificación, precisamente el tipo de fallo silencioso de autenticación que se supone que debe evitar el DKIM.

Ni OpenDKIM ni Rspamd automatizan la generación de claves, la publicación en el DNS ni la sincronización de la superposición. Para un solo dominio, basta con un recordatorio en el calendario una vez al año. Cuando se trata de cinco o más, se convierte en una tarea recurrente que es fácil pasar por alto, y una rotación que, sin que uno se dé cuenta, nunca llega a realizarse supone una brecha de cumplimiento que no notarás hasta que alguien te pida que lo demuestres.

Errores habituales de DKIM en Postfix y cómo solucionarlos

Los problemas con DKIM en Postfix suelen deberse a unas pocas causas previsibles, principalmente los permisos de los sockets, las rutas de las claves y la alineación de dominios. En la tabla siguiente se relaciona el síntoma que estás observando con su causa más probable y la solución, para que puedas ir directamente al que te corresponde. 

ErrorCausa probableFijar
No hay firma DKIM en los encabezadosEl Milter no está conectado o hay una discrepancia en el conectorComprueba que la ruta del socket coincida en los archivos opendkim.conf y main.cf; comprueba que el usuario de Postfix forme parte del grupo opendkim.
Conectarse al servicio Milter... Conexión rechazadaEl demonio OpenDKIM no se está ejecutandosystemctl start opendkim; comprueba que el archivo de socket existe realmente en el directorio spool
opendkim: error al recuperar la claveRuta incorrecta en la tabla de claves o permisos erróneosComprueba la ruta .private en key.table; ejecuta el comando chown opendkim:opendkim en la clave
DKIM se supera, pero DMARC fallaDesajuste de alineaciónEl dominio de la firma (d=) debe coincidir con el dominio del encabezado «From:»; utiliza una alineación flexible.
Clave de 2048 bits rechazada por el DNSLímite de 255 caracteres para mensajes TXT del proveedorDivide la clave pública en dos cadenas entre comillas dentro del mismo registro TXT

Cuándo dejar de utilizar la configuración manual de DKIM en Postfix

Para un único dominio, la gestión autónoma de DKIM en Postfix es la opción perfecta. Se configura una sola vez y funciona sin problemas, pero a medida que aumenta el volumen de envíos, el trabajo manual que conlleva se convierte en una fuente de riesgo en lugar de en un medio de control. 

Algunas señales de que has llegado a ese punto:

  • Vas a contratar tres o más dominios.
  • Los correos se envían desde varias fuentes: un proveedor de servicios de correo electrónico (ESP), correos transaccionales, tu aplicación... y cada una de ellas necesita sus propias claves.
  • Tienes una fecha límite de cumplimiento y no puedes permitirte saltarte una rotación.
  • Una sola persona es la única que conoce todo lo relacionado con DKIM, y si se marchara, se llevaría consigo todos esos conocimientos.

Si te enfrentas a estos retos, la gestión de DKIM alojada cubre esas carencias al eliminar por completo los pasos manuales. A continuación te explicamos en qué se diferencia la gestión manual de DKIM de la gestión de DKIM alojada:

TareaManual (OpenDKIM / Rspamd)DKIM alojado
Rotación de clavesManualmente en cada ciclo: generar, publicar, solapar, retirarAutomático, sin necesidad de modificar el DNS en cada ciclo
Varios dominiosClave, registro y configuración independientes para cada dominioGestionado de forma centralizada
Tamaño de la llave2048 bits (o Ed25519)Hasta 4096 bits
Gestión de selectoresRegistrado manualmenteDetección automática para los principales proveedores de servicios de Internet
Mantenimiento del DNSSe revisa en cada rotaciónUn único CNAME, publicado una sola vez

Si gestionas DKIM en varios dominios o necesitas una rotación que garantice el cumplimiento normativo y en la que puedas confiar, el servicio DKIM alojado de PowerDMARC elimina la carga de trabajo manual y el riesgo que conlleva. 

Empieza tu prueba gratuita de 15 días

Preguntas frecuentes

¿Qué es Postfix DKIM?

DKIM en Postfix consiste en la firma criptográfica del correo saliente en un servidor Postfix, de modo que los destinatarios puedan confirmar que procede de tu dominio sin haber sido alterado. Postfix no dispone de un módulo de firma integrado, por lo que envía cada mensaje a un «milter» —OpenDKIM o Rspamd— que se encarga de añadir la firma.

¿Qué es OpenDKIM?

OpenDKIM es un «milter» independiente que firma y verifica DKIM para Postfix y otros MTA, y nada más. Es sencillo y está muy extendido, pero no ha tenido ninguna versión estable desde 2021, por lo que hay que tener en cuenta ese riesgo de mantenimiento en las configuraciones a largo plazo.

¿Qué es Rspamd?

Rspamd es un sistema de filtrado de spam que se mantiene de forma activa y cuyo módulo de firma DKIM permite firmar los mensajes de Postfix. Dado que gestiona tanto el filtrado como la firma en un único milter, sustituye tanto a OpenDKIM como a SpamAssassin, lo que lo convierte en la mejor opción para 2026 en servidores multidominio o de producción.

¿Qué es Postfix?

Postfix es un agente de transferencia de correo (MTA) de código abierto muy utilizado que enruta y entrega el correo electrónico en servidores de tipo Unix. Envía y recibe correo, pero no firma DKIM por sí mismo; para ello se necesita un «milter» independiente, como OpenDKIM o Rspamd.

¿Debería utilizar OpenDKIM o Rspamd con Postfix en 2026?

Para configuraciones sencillas de un solo dominio, OpenDKIM sigue funcionando bien. Para servidores con varios dominios o servidores de producción, Rspamd es la mejor opción. Se mantiene de forma activa y combina la firma DKIM con el filtrado de spam en un único milter.

¿Cómo puedo comprobar que DKIM está firmando mi correo saliente?

Comprueba /var/log/mail.log para ver las entradas de firma, ejecuta opendkim-testkey, envía un correo electrónico de prueba a Gmail y comprueba en los encabezados sin procesar si aparece DKIM: APROBADO, o comprueba tu dominio con un verificador DKIM gratuito.

CTA