Hace un par de meses hablábamos por aquí de como implementar el uso de registros PTR, SPF y DKIM en tu servidor de correo con objeto de que el servidor destinatario de los mismos pudiera comprobar que el servidor remitente es legítimo. Los registros DMARC (Domain-based Message Authentication, Reporting & Conformance) van un paso más allá y dan instrucciones al servidor destinatario de cual debería de ser su forma de proceder (a quién notificarlo, por ejemplo) en caso de sospechar de un uso fraudulento.
En la página de recursos de la web oficial del estándard existen varios asistentes que te ayudarán a crear un registro DMARC. Por ejemplo este, este o este otro. Como en el caso de DKIM se trata de un registro de tipo TXT que debes de publicar en el DNS de tu dominio. Si pasas de asistentes y quieres hacer tu propio registro a mano puedes echarle un vistazo a esta pequeña guía que publica Google.
A continuación puedes ver un ejemplo del registro DMARC para el dominio micorreo.net en el que se están usando SPF y DKIM como sistemas de validación. Puedes consultar el significado de cada uno de los parámetros aquí:
_dmarc.micorreo.net. IN TXT "v=DMARC1; p=none; rua=mailto:admin@miotrocorreo.net; ruf=mailto:admin@miotrocorreo.net; adkim=r; aspf=r"
El parámetro p indica la política esperada por parte del servidor receptor y el valor none indica que está funcionando en modo monitor (lo más recomendable hasta que le cojas el pulso al protocolo). quarantine y reject son los otros dos posibles valores. El parámetro sirve para indicar la versión de DMARC que usamos. Estos son los dós únicos parámetros obligatorios.
Los dos parámetros que llevan como argumento una dirección de correo electrónico (rua y ruf) sirven para indicar donde recibir, respectivamente, un informe diario (aggregate report) por parte de cada servidor que reciba nuestro correo y realice comprobaciones de los registros DMARC y un informe forense (failure report) por cada correo procedente de tu dominio y rechazado por cualquier servidor que use este método de control.
Por último, aspf y adkim indican si el modo de verificación que se realizará del «identifier alignment» con cada uno de estos protocolos es strict (s) o relaxed (r). No sabria como traducir el término de forma correcta (el inglés no es mi fuerte, lo siento), pero tienes una excelente explicación de ambos modos con ejemplos aquí. Para los perezosos, básicamente comprueba que, para SPF, el dominio de las cuentas de origen y de respuesta coinciden (campos From: y Return-path:) y para DKIM, deben de coincidir los dominios de los campos From: y del argumento d= de la firma DKIM.
Existen diversas formas de comprobar que has realizado una configuración correcta. La primera de ellas es, como siempre, enviar un correo a un servicio que implemente esta comprobación (como Gmail) y ver la cabecera del mensaje que recibe el destinatario:
Authentication-Results: mx.google.com; spf=pass (google.com: domain of josemaria@micorreo.net designates 145.255.98.239 as permitted sender) smtp.mail=josemaria@micorreo.net; dkim=pass header.i=@micorreo.net; dmarc=pass (p=NONE dis=NONE) header.from=micorreo.net
La segunda opción es enviar un correo a una de las muchos servicios de verificación existente como, por ejemplo, checkmyauth@auth.returnpath.net, mailtest@unlocktheinbox.com o pythentic@had-pilot.biz (a este último con la palabra dmarc en el campo asunto del correo que envíes). Como respuesta recibirás un completo informe sobre las validaciones que tus envíos pasan de forma correcta o inválida. Algunas veces la respuesta puede tardar varias horas, así que ten paciencia. El resultado de la validación de, por ejemplo, este último servicio sería así:
2014/05/28 14:50:10 :Your DMARC record for '_dmarc.micorreo.net' is 'v=DMARC1; p=none; rua=mailto:josemaria.morales@gmail.com; ruf=mailto:josemaria.morales@gmail.com; adkim=r; aspf=r' Here are the results of the message from josemaria@micorreo.net received on Wed May 28 14:48:25 2014 with Subject dmarc The message was: Delivered The SPF result was: pass The DKIM result was: True ********************************************************** Enter your email address and this hash stringin the Review My Results link for message header analysis of results: address=josemaria@micorreo.net hash=YFXQ3KxaKAsWmAS0HmrN ********************************************************** Full Record Id[1]: SPF result: pass DKIM result: True Alignment result: Pass Feedback: RecordType Delivery Result: Pass Source IP: 145.255.98.239 User Agent: Pythentic Version: 1 Recipient: had-pilot.biz Arrival Date: Wed May 28 14:48:25 2014 From: josemaria@micorreo.net DKIM Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=micorreo.net; s=mail; t=1401302897; bh=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN/XKdLCPjaYaY=; h=Date:From:Reply-To:To:Subject:References:In-Reply-To:From; b=Hr4mDbw43WdxyXq93zc5y0FlCJBOuHrxXfJLch6yoYRwqL/aMMcc/YnKD+PI++PDf IDdCXWrUAuNhYEM3nqggrB6gKRvl0d0xxbIhpb/THdj90fq0d2eeyA/P8N5Cj7D+ew dW++rfkwyN2PqI6BKhXPtwkDDc00W1JM3/7hIvf4= Subject: dmarc Reported: 0 SPFReason: sender SPF authorized DKIMReason: Good DKIM Signature. DMARCReason: Policy=none; accept. Message: Received: from [192.168.1.5] (125.45.219.87.dynamic.jazztel.es [87.219.45.125]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by invernalia.micorreo.net (Postfix) with ESMTPSA id 1A1A514200B for <pythentic@had-pilot.biz>; Wed, 28 May 2014 20:48:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=micorreo.net; s=mail; t=1401302897; bh=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN/XKdLCPjaYaY=; h=Date:From:Reply-To:To:Subject:References:In-Reply-To:From; b=Hr4mDbw43WdxyXq93zc5y0FlCJBOuHrxXfJLch6yoYRwqL/aMMcc/YnKD+PI++PDf IDdCXWrUAuNhYEM3nqggrB6gKRvl0d0xxbIhpb/THdj90fq0d2eeyA/P8N5Cj7D+ew dW++rfkwyN2PqI6BKhXPtwkDDc00W1JM3/7hIvf4= Message-ID: <53862F70.5030601@micorreo.net> Date: Wed, 28 May 2014 20:48:16 +0200 From: =?UTF-8?B?Sm9zw6kgTWFyw61hIE1vcmFsZXMgVsOhenF1ZXo=?= <josemaria@micorreo.net> Reply-To: josemaria@micorreo.net User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: pythentic@had-pilot.biz Subject: dmarc References: <5384CED8.4040701@micorreo.net> In-Reply-To: <5384CED8.4040701@micorreo.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-dkim: d=micorreo.net,s=mail,DKIMReason=Good DKIM Signature. X-spf: i=145.255.98.239,h=micorreo.net.,s=josemaria@micorreo.net,SPFResult=pass
Por último, existen servicios que validan directamente el registro que has introducido en el DNS dándote, además, una completa explicación de lo que implican los parámetros que has elegido y las alternativas que tienes. Este es mi favorito.
En la dirección que has indicado como valor del argumento rua recibirás un correo electrónico diario por cada servidor al que envíes correo y use la validación DMARC informándote de las validaciones y/o acciones realizadas. En estos correos recibirás un adjunto comprimido en formato zip con un xml en su interior. El contenido de dichos xml es fácil de interpretar pero, si lo deseas, tienes aquí un convertidor a «formato humano» y a continuación un ejemplo del resultado:
Por cierto: si, como yo, usas un correo de un dominio distinto al que estás validando para recibir los correos con los informes, puede que algún servidor o servicio te de algún error. La solución está en añadir un nuevo registro en el DNS indicando esto. Este segundo registro debería de ir en el DNS del dominio correspondiente a la cuenta de correo donde quieres recibir los informes, ojo, así que deberías de tener control sobre él o, al menos, alguien que te lo permita. Aquí te lo explican muy bien y a continuación tienes el mío:
micorreo.net._report._dmarc.miotrocorreo.net. IN TXT "v=DMARC1"
Ah, y si quieres configurar tu servidor posfix para que realice la comprobación de los registros dmarc en los correos que recibe puedes usar OpenDMARC.
You can also test your email with this website: https://campaigncleaner.com/tools/mail-tester/
Muchas gracias por la info.
Nunca había oído hablar acerca de DMARC. Había configurado correctamente SPF y DKIM, y después de leer esta entrada, he configurado también DMARC.
Ale, ahora mis correos electrónicos pasan todos los test 😉
Gracias tío, mola tener toda esta info en español.
Salud!!
@Capitán: No somos dignos 🙂
Sí, y tanto que lo sois.
Josemaría, una pregunta: Esta mañana he recibido el primer informe XML de Google.
Exactamente, ¿qué info recoge ese informe?, ¿acerca del correo que he enviado y cómo ha sido tratado en destino?
Veo en los comentarios que tú tiras de dmarcian para mantener estadísticas y demás, ¿hay información sensible en los informes XML que desaconseje el compartir dicha info con terceras partes?
Gracias de nuevo!!
@Capitan: la información que recibirá dmarcian es la misma que va en esos XML. Juzga por ti mismo. A mi no me preocupa pero no soy uno de los más paranoicos con estas cosas… Si tengo facebook y todo 😉
¿Facebook? Vives al límite tío, controla. Yo no me atrevo a tanto.
He mareado con los XML y, a primera vista, no veo ninguna información delicada.
Pero, he leído que el problema puede venir con los forensics, que esos llevan el texto del mensaje incluido, y eso ya me da un poco más de urticaria.
Por el momento, se lo voy a pasar todo a los de dmurcian.
Saludos!!
Estimados, alguno sabe como recuperar un correo legitimo marcado como spam?.
me llega la notificacion de spam y un adjunto en formato txt con la siguiente informacion:
X-Envelope-From:
X-Envelope-To:
Received: from 1.w00n.com ([168.235.82.93])
by antispam.t-simplifica.net(8.13.0/8.13.0) with SMTP id tATJWJcE003524;
Sun, 29 Nov 2015 15:32:20 -0400
(envelope-from )
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=pack164.w00n.com; s=default; h=Content-Transfer-Encoding:Content-Type:
List-Unsubscribe:MIME-Version:Reply-To:From:Date:Message-ID:Subject:To;
bh=M5gSDhaw7yLT/3qBZadANp29O3/bCiWH077syxt2lUU=; b=YKzwonRCZ0zO5Wbz4I5stAumhn
2tW3+XKuJ4Fm9Ur1ls6mjiE5dxXardcjBoolu6KDvQt6HrL6Vh48dSjH+6ph3nPYXoO6aoaGQ0ts6
v9543kfXosi2wAkWi5NldZZpZKDZc4hJyn80ZwwnBRKp+M3wMbLmhf4CKeNSaIEpudC8=;
Received: from pack163w00n by 1.w00n.com with local (Exim 4.86)
Prenguntandole al Sr. Googlersobre la configuracion de DMARK, me aparecieron tus paginas, y me ha hecho gracia … por que el dominio que utilizas de ejemplo, es mio 😀
Buenas tardes,
Los correos enviados desde mi servidor llegan siempre a la carpeta de spam (A no ser que el usuario señale el correo como deseado).
He realizado la configuración de SPF, DKIM y DMARC y nada. He enviado un mensaje a soporte con mi rango de ips y me responden esto:
Note: Errors are unlikely, however, if an error is indicated, please resubmit the specific IP or IP range.
¿Qué puedo hacer?
Aquí dejo una cabecera de mis emails.
Authentication-Results: hotmail.com; spf=pass (sender IP is mi-ip; identity alignment result is pass and alignment mode is relaxed) smtp.mailfrom=mi-email; dkim=none (identity alignment result is pass and alignment mode is relaxed) header.d=mi-email; x-hmca=pass header.id=mi-email
X-SID-PRA: mi-email
X-AUTH-Result: PASS
X-SID-Result: PASS
X-Message-Status: n:n
X-Message-Delivery: —
X-Message-Info: —
Received: from mi-servidor ([mi-ip]) by BAY004-MC2F21.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.23143);
Fri, 16 Oct 2015 07:04:25 -0700
Received: from mi-dominio (localhost [IPv6:::1])
by mi-servidor (Postfix) with ESMTPA id –;
Fri, 16 Oct 2015 16:04:23 +0200 (CEST)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII;
format=flowed
Content-Transfer-Encoding: 7bit
Date: Fri, 16 Oct 2015 16:04:23 +0200
From: mi-email
To: mis-otras-cuentas
Subject: Prueba
Message-ID:
X-Sender: mi-email
User-Agent: Roundcube Webmail/1.1.3
Return-Path: mi-email
X-OriginalArrivalTime: 16 Oct 2015 14:04:25.0371 (UTC) FILETIME=[909B96B0:01D1081B]
Prueba
A ver si alguien pudiera arrojarme algo de luz en este tunel en el que me encuentro…
Saludos
Una consulta, luego de estos pasos me llegan los correos de noreply-dmarc-support@google.com y todo va bien pero ahora ya no quiero que me lleguen. Sabe ud. como puedo hacer para ya no recibir esos correos?
Arturo: puedes redireccionar los correos de información a una cuenta que abras en dmarcian. Así no te llegarán y tendrás estadísticas de uso disponibles siempre que te apetezcan. Esto es lo que hago yo. Si por el contrario no quieres pasar estos datos a una tercera parte siempre puedes crear un filtro en tu correo para que los elimine directamente cuando lleguen ¿no?