Configurar DKIM: verificación de correos electrónicos
Todos los servidores de correo electrónico intentan bloquear los correos con remitente falso. Uno de los métodos para comprobar la autenticidad del remitente es DKIM (DomainKeys Identified Mail), un concepto con el cual se verifican los correos con firma digital.
¿Qué es DKIM?
DKIM (DomainKeys Identified Mail) se basa en la comunicación entre los servidores receptor y emisor de correo electrónico –el usuario final no tiene constancia de este procedimiento. Dicho de forma muy general, el servidor de correo emisor añade una firma digital al correo, y el servidor receptor la comprueba. Para ello, consulta la clave pública asignada a la firma en el servidor de correo electrónico que figura como remitente. Si la clave pública no encaja con la firma, puede deberse a varias causas:
-
El correo electrónico no ha sido enviado por el servidor de correo que aparece en el encabezado del correo, sino por otro servidor fraudulento.
-
El correo electrónico ha sufrido modificaciones en su trayecto desde el servidor de correo electrónico “auténtico” hasta el receptor. Es posible que un hacker haya interceptado el correo, lo haya modificado y lo haya vuelto a enviar.
¿Cómo funciona DKIM?
Para entender DKIM, merece la pena echar un vistazo a los distintos “componentes” que forman el concepto.
Hashing
Siguiendo un algoritmo determinado, se calcula una cadena (el llamado valor hash) a partir del contenido de los correos electrónicos, para después añadir la cabecera del correo. Si el receptor resuelve el valor hash del correo recibido con el mismo algoritmo, tendría que obtener la misma secuencia de caracteres que la que aparece en el encabezado del correo electrónico. Si el valor hash no coincide, el receptor sabe que el correo electrónico ha sido modificado.
El hashing sigue el mismo principio que la cifra de verificación de un comprobante de pago, en el que se calcula un valor a partir del número de referencia y se añade a este como última cifra.
Codificación asimétrica
Para que el receptor pueda estar seguro de que el valor hash proviene realmente del emisor original, se requiere otra medida: la firma digital. El método de firma usado para verificar el remitente es el cifrado asimétrico, basado en una pareja de claves: lo que se codifica con la clave A solo se puede decodificar con la clave B. Mientras una de las claves se mantiene en secreto (“clave privada”), la otra se publica (“clave pública”).
Puedes consultar más información en este artículo sobre métodos de encriptado.
La secuencia sería la siguiente:
- El remitente encripta el valor hash calculado con la clave privada.
- Luego, añade el valor hash codificado al encabezado del correo electrónico (“firma”).
- El receptor consulta la clave pública del servidor remitente en el servidor de nombres de dominio y la usa para decodificar la firma.
- Ahora vuelve a calcular el valor hash que ha decodificado: si el valor resultante coincide con el descifrado, está todo en orden.
Entrada TXT en el servidor de nombres
Para que los servidores de correo receptores puedan consultar la clave pública del emisor, dicha clave debe publicarse como TXT Resource Record en la zona DNS del dominio. La entrada DKIM contiene los siguientes elementos:
- La versión, a menudo codificada con
v=DKM1
. - El algoritmo de codificación; siempre es RSA (
k=rsa
). - La clave pública (
p=
); se trata de una secuencia larga de caracteres. - El selector; este elemento varía según el proveedor. Ejemplo:
default._domainkey
ok1._domainkey
Por norma general, el registro DKIM solo se puede consultar a partir del encabezado del correo electrónico, ya que, para hacerlo, no solo se requiere el nombre del dominio, sino también el selector, y este normalmente no se conoce o cuesta mucho tiempo averiguarlo.
Crear una pareja de claves DKIM
Para configurar DKIM para tus correos, lo primero que necesitas es un par de claves. Por norma general, puedes solicitarlas a tu proveedor de correo. Si, por el contrario, operas tu propio servidor, puedes crear tú mismo las claves y entradas necesarias.
Solicitar las claves DKIM a tu proveedor de correo
La forma de solicitar las claves DKIM va a depender de tu proveedor de correo electrónico. Además, no todos los proveedores ofrecen el mismo soporte para DKIM: algunos proveedores ofrecen DKIM solo para empresas, otros proveedores de dominios solo ofrecen claves de cierta longitud. No obstante, por norma general pueden solicitarse las claves DKIM a través de la configuración o de la consola de administración de tu proveedor de correo. En caso de duda, puedes contactar directamente con la asistencia al cliente.
Crear la clave DKIM de forma manual
Para crear un registro DKIM, puedes también generar de forma manual el par de claves RSA necesario. En Internet puedes encontrar varias herramientas gratuitas para ello, como el generador de registros DKIM de EasyDMARC. Introduce un selector (ejemplo: k1) y el dominio deseado. A continuación, selecciona la longitud de clave preferida.
El generador emite una clave privada y una clave pública. La clave privada debe almacenarse en el servidor de correo (de lo que solo se puede encargar tu proveedor); la clave pública se introduce en el registro DKIM.
Crear un registro DKIM
Una vez generada una pareja de claves, puedes almacenarlas en el lugar correcto del servidor. La clave privada se almacena en el servidor de correo, mientras que la clave pública se corresponde con la entrada DNS de tu dominio. Si tu proveedor de correo ha creado el par de claves, la clave privada suele encontrarse almacenada.
Si gestionas un servidor de correo privado, deberás almacenar la clave privada. Dependiendo del software que uses como MTA (Mail Transfer Agent), el proceso puede tener una u otra apariencia.
Para publicar tu clave pública, debes introducirla en tu dominio como un registro DNS TXT. Para hacerlo, sigue estos pasos:
- Accede al área de administración de tu dominio.
- Navega hasta los registros DNS.
- Crea un nuevo registro DNS de tipo “TXT”.
- Añade ahora tu nombre de host DKIM en el campo destinado a “Nombre de host”. Este se compone de selector y dominio y tiene el formato:
selektor._domainkey.ejemplodedominio.es
. En lugar deselektor
ydominiodeejemplo.es
, utiliza los valores correspondientes. - En el campo
value
inserta la clave pública. - Guarda la nueva entrada y espera hasta que el DNS recoja tus cambios (pueden tardar hasta 2-3 días.)
Comprobar el registro DKIM
Puedes comprobar si realmente se puede acceder públicamente al registro DKIM mediante un comprobador DKIM, p. ej., con el DKIM Record Lookup de EasyDMARC.
Como alternativa, puedes enviar un correo a tu propia dirección y revisar el encabezado. Allí aparecerá la entrada “DKIM Signature” siempre que DKIM se haya configurado correctamente:
Si copias el encabezado de un correo electrónico en la herramienta de análisis de encabezados de MXToolBox, podrás consultar información detallada de este.
- Plantillas profesionales de edición fácil
- Diseño intuitivo y funciones de IA
- Conforme a la Ley de Protección de Datos