Tras el primer artículo en el que os contaba cómo mejorar la seguridad del correo electrónico, toca ponernos manos a la obra con la configuración de SPF, DMARC y DKIM.
¿Cómo configurar SPF?
Como os explicaba en el primer artículo, configurar SPF no sería necesario, ya que viene en los registros por defecto. Además, no requiere configurar nada en Microsoft 365, solo en el panel de control de nuestro dominio.
Hay 2 formas de saber si tenemos configurado SPF, la primera revisando los registros de nuestro portal DNS:

O en cualquiera de las diversas webs de herramientas de revisión que existen, en mi caso suelo usar MXTOOLBOX, la cual es gratuita en las consultas básica.

El cual indica que está habilitado. Por lo tanto, todo correcto.
En caso de no estar habilitado, si nuestro servidor pertenece a Microsoft 365, solo deberíamos crear el registro deseado o agregar a nuestro portal DNS el registro TXT con este valor:
v=spf1 include:spf.protection.outlook.com -all
Los pasos para agregar este registro dependen del portal DNS contratado, por que prácticamente cada proveedor tiene su portal personalizado y por lo tanto se configura con distintos pasos. Por ejemplo, en nuestro portal es así:

¿Qué hemos configurado?
v=:
Define la versión usada de SPF (versión 1)
Include:
Es la dirección válida, aquí podemos agregar más de una
~all:
Sugiere desautorización a las máquinas que no encajen en lo autorizado explícitamente
Con este registro estaríamos informando al resto de los servidores de correo que solo enviamos correos válidos desde Office 365, y que cualquier correo que no tenga ese origen, no es legítimo.
Ojo si tenemos proveedores de mailings externos como por ejemplo Mailchimp, tendremos que agregarlos también.
En caso de que nuestro servidor de correo no se encuentre en Microsoft 365, tengamos otro enviador válido, o simplemente queramos reforzar la seguridad, hay bastantes parámetros que podemos agregar o modificar.
A continuación os dejamos un enlace a Microsoft Docs sobre cómo configurar SPF para ayudar a evitar la suplantación de identidad en Office 365.
Aunque también podemos usar algunas webs gratuitas que nos ayudan a configurarlo.
¿Cómo configurar DMARC?
La configuración de DMARC, es prácticamente idéntica en los pasos a realizar que la anterior, únicamente cambia el contenido del registro TXT, por lo tanto, solo requiere de configuración en nuestro portal DNS.
Para configurar nuestro DMARC, tenemos que agregar un registro TXT en nuestro portal DNS el cual debemos de construir nosotros previamente. A continuación veremos el más usado para Microsoft 365 y el que podemos encontrar en la página oficial:
_dmarc.domain TTL IN TXT “v=DMARC1; p=policy; pct=100”
A este registro solo debemos cambiar la palabra domain, por nuestro dominio y configurar algunos parametros.
_dmarc.jmcastillo.eu 3600 IN TXT “v=DMARC1; p=reject”
Para configurarlo, tan solo debemos agregar un registro tipo TXT a nuestro portal DNS:

Y agregando ese registro tipo TXT ya estaría configurado.

¿Qué hemos configurado?
domain
Es el dominio que se quiere proteger. De forma predeterminada, el registro protege el correo del dominio y todos los subdominios. Por ejemplo, si especifica _dmarc.jmcastillo.eu, DMARC protege correo del dominio y todos los subdominios, como housewares.jmcastillo.eu o plumbing.jmcastillo.eu
TTL
Siempre debe ser el equivalente a una hora. La unidad usada para el TTL, ya sean las horas (1 hora), los minutos (60 minutos) o los segundos (3600 segundos), variará en función del registrador del dominio.
pct=100
Indica que esta regla debe usarse para el 100% del correo electrónico.
policy
Especifica qué directiva quiere que el servidor de recepción siga si se produce un error en DMARC. Puede establecer la directiva en none, quarantine o reject.
Para recibir informes de error con DMARC, utilizamos la etiqueta “ruf”. Esta etiqueta actúa de manera similar a la etiqueta “rua”, esta envía informes agregados de DMARC en los que se especifica la dirección de correo electrónico o las direcciones de correo electrónico a las que enviar informes de error.
Esta etiqueta tiene el formato de una lista de direcciones separadas por comas “mailto:”.
Por ejemplo, si deseas recibir informes de errores en el buzón “dmarc-failures@jmcastillo.eu”, debes establecer la etiqueta “ruf” en:
ruf=”mailto:dmarc-failures@jmcastillo.eu”.
Si deseas que los informes vayan a varios correos electrónicos o a un procesador de informes DMARC, la etiqueta se vería así:
ruf=”mailto:dmarc-failures@jmcastillo.eu”, mailto:dmarc-failures@jmcastillo.eu
Para “rua”, quedaría de forma similar:
rua=”mailto:dmarc-data@jmcastillo.eu”, mailto:dmarc-data@jmcastillo.eu
Si publicamos una directiva de rechazo de DMARC (p=reject), ningún otro cliente de Office 365 podrá suplantar la identidad del dominio porque los mensajes no podrán pasar las comprobaciones de SPF o DKIM para el dominio al retransmitir un mensaje saliente a través del servicio.
Sin embargo, si publica una directiva de rechazo de DMARC, pero no dispone de todo el correo electrónico autenticado a través de Microsoft 365, una parte del correo entrante puede ser marcado como correo no deseado (como se describió anteriormente) o se rechazará si no publica SPF e intenta retransmitirlo para que salga a través del servicio.
Esto sucede, por ejemplo, si se olvida de incluir algunas de las direcciones IP para servidores y aplicaciones que envían correo en nombre de su dominio al formular el registro TXT de DMARC.
¿Cómo configurar DKIM?
Comencemos ahora con la configuración del DKIM, al contrario de los registros anteriores, el DKIM si que requiere de configuración en el portal de Microsoft 365.
Para empezar, lo primero que debemos hacer es revisar si DKIM está configurado ya en nuestro entorno, para ello nos dirigimos al centro de administración de Microsoft 365, en el apartado de seguridad y complimiento y en administración de amenazas pichamos en directivas:

A continuación, pinchamos en DKIM y vemos el estado:

Como podemos ver arriba, el DKIM no está activado.
Muy importante: Como prerequisito para poder configurar DKIM, recordad que debemos tener el módulo Powershell EXO v2 instalado en la máquina desde la que conectemos a Exchange online. Si no lo tienes instalado, a continuación te dejamos el enlace al artículo donde se detalla paso a paso como hacerlo. |
Una vez conectados, lo primero que tendremos que hacer, tras iniciar sesión, es ejecutar el siguiente comando:
New-DkimSigningConfig -DomainName -KeySize 2048 -Enabled $true

Tras esperar unos segundos, la respuesta del comando debe ser:

Es lógica la respuesta que nos devuelve. Aún no conocíamos los registros CNAME, así que hemos creado la configuración, pero no se ha habilitado.
Nota para usuarios más experimentados: El registro CNAME es fácil de construir ya que solo varía el nombre del dominio. Si sabemos cómo construirlo y primero generamos el registro CNAME en el panel DNS, tras este comando quedará creado y habilitado. |
Mientras, en portal Microsoft 365 el estado de DKIM ya ha cambiado y confirma que está creado, pero no habilitado:

Tras este paso, debemos ir al panel de control de nuestro DNS y crear 2 registros CNAME con los valores que nos devolvió Powershell:
selector1-jmcastillo-eu._domainkey.jmcastillogarcia.onmicrosoft.com
selector2-jmcastillo-eu._domainkey.jmcastillogarcia.onmicrosoft.com
Y así es en nuestro portal:

Resultando:

Tras ello tenemos 2 vías de activación: por el portal, o por Powershell.
Portal de Microsoft 365
Por el portal de Microsoft 365, debemos volver a la política y activar el check.

En caso de ir todo bien, nos deberá aparecer este mensaje:

Powershell
Si realizamos la activación por Powershell, debemos introducir este comando:
Set-DkimSigningConfig -Identity jmcastillo.eu -Enabled $true

Una vez hayamos completado este último paso, ya estaria activado y configurado nuestro DKIM.
Una vez configurados correctamente estos 3 elementos (SPF, DMARC y DKIM), habremos mejorado la seguridad en el tráfico de correo y hemos mejorado la experiencia de los usuarios y la confiabilidad en el uso del correo.

Artículo escrito por José Manuel Castillo García, Modern Workplace Specialist en ENCAMINA.