ROAN Agencia de Internet Gorzow Wielkopolski LOGO - Websites SEO Hosting
Proyecto

Problema de DKIM

Hoy se ha producido una situación interesante cuando uno de nuestros empleados no ha podido contactar con una empresa externa. Me informó de que el correo no le llegaba desde un dominio, supongamos que era dominio.com, aunque sus mensajes llegaban, la otra parte no recibía ningún mensaje de retorno indicando el motivo del rechazo del correo. Me pidió que comprobara el problema, voy a resumir brevemente cómo lo hice y qué lo causó.

Diagnóstico de noticias – Exim

Como estamos usando exim como nuestro MTA, los comandos aquí serán específicos para ese sistema, pero el proceso puede ser fácilmente usado en postfix también.
El primer dato es que si los mensajes no se devuelven al remitente significa que están atascados en algún lugar, que han encontrado un error temporal y que uno de los servidores intentará entregarlos de nuevo. Esta es una acción estándar y no hay nada extraño aquí la gente que ha leído nuestro artículo cómo funciona el correo lo sabrá. Y la información importante es que los mensajes fueron enviados desde domain.com.

Como los mensajes están atascados en algún lugar, comprobaremos nuestra cola de mensajes por entregar para ver si están atascados con nosotros o ni siquiera nos han llegado:

Es decir, el mensaje lleva 66 minutos en nuestra cola y no puede ser entregado, lo cual puede ser un poco sorprendente que el mensaje esté en nuestro servidor y sin embargo no haya llegado al destinatario, pero ya hablaremos de esto en su momento. La siguiente prueba consiste en comprobar los registros mediante el útil comando exigrep, que busca los mensajes en función de unos datos determinados, por ejemplo, un dominio, y muestra toda la información sobre lo ocurrido. Utilizar un simple grep en esta situación haría que no tuviéramos toda la información.

Es decir, tenemos la razón, el mensaje no se entrega porque no encuentra la entrada DKIM en la zona DNS, y el mensaje en sí está firmado y debería comprobarse si proviene de una fuente real, así que para asegurarnos, comprobamos si existe dicha entrada porque podría ser un problema de nuestro servidor DNS local. Utilizaremos el servidor DNS público de Google para comprobarlo:

Así que tenemos la razón, la entrada txt para el dominio zendesk1._domainkey.domain.com no existe y ahí nuestro servidor buscará la clave DKIM con la que pueda comprobar la firma. En primer lugar, ¿por qué zendesk1._domainkey.domain.com? Bueno, antes en el registro teníamos los datos de DKIM dados: «d=dominio.com s=zendesk1 c=relaxed/relaxed a=rsa-sha256 t=1431354869″ como puedes ver la entrada s= es en realidad zendesk1 y s significa selector. Nos indica bajo qué dominio debemos buscar la entrada DKIM, en este caso zendesk1._dominio.dominio.com, según el patrón: valor s._dominio.valor d, siendo d el dominio. Si no hay ninguna entrada txt, significa que hay un problema temporal con el servidor DNS o que alguien no lo introdujo allí, como fue el caso de este dominio.
La propia consulta de excavación devolvió otra información, a saber, que los servidores DNS se mantienen en Cloudflare. Esta es una empresa con la que hemos trabajado y seguramente escribiremos más sobre ella. Cloudflare actúa como proxy para el servidor web pero esto requiere que también renuncies a tu propio servidor DNS, ¿qué significa esto? Pues bien, ese alguien simplemente no introdujo la clave DKIM en la zona DNS, por lo que nuestro servidor no pudo comprobar si el mensaje está correctamente firmado, y esperó con la entrega hasta que alguien añadiera una entrada DNS o el servidor DNS empezara a responder, pero esto no ocurrió hasta que pasaron 6 horas desde que el mensaje llegó a nuestro servidor y fue devuelto automáticamente al remitente como no entregable debido a un error DKIM. Por supuesto, he informado a la otra parte del problema y estamos esperando a que lo resuelvan.
Una buena herramienta para comprobar la correcta configuración del correo electrónico es el sitio web , sólo tiene que enviar un correo electrónico a la dirección proporcionada y hacer clic en el botón y obtendrá un informe completo. Los correos electrónicos enviados desde nuestros dominios obtienen 10/10 puntos.

Bonus – ¿Qué es el selector DKIM?

Un selector no es más que información sobre la clave DKIM con la que se firmó el mensaje y dónde buscarla. Se introdujo para dar a los administradores la posibilidad de introducir varias claves para un mismo dominio, de modo que las claves antiguas o comprometidas puedan ser fácilmente revocadas, o no haya que estar pendiente de la clave porque se pierda, se puede cambiar rápidamente el selector y empezar a firmar con la nueva clave, o incluso no cambiarla en absoluto sino empezar a firmar con la nueva clave inmediatamente, sin embargo esto significa que los mensajes que se envíen durante el cambio pueden ser devueltos por la clave equivocada.

Le informamos de que al utilizar el sitio web, sin cambiar la configuración de su navegador, usted acepta la política de privacidad y el almacenamiento de cookies que permiten que nuestro sitio web funcione eficazmente.