Fecha de publicación: Mié, 26/06/2019 - 17:37

 

Guía para evitar que personas no autorizadas envíen correos electrónicos a nombre del dominio de nuestra entidad.

1. Servidor de correo no configurado de manera segura - Open Relay

1.1  ¿Qué es Open Relay?

Se entiende como "open relay"  un servidor SMTP configurado de tal manera que permite que cualquier usuario de Internet lo use para enviar correo electrónico a través de él.

 

 

1.2. Comprobar si nuestro servidor es un  "open relay"

- Podemos comprobar si nuestro servidor es un  "open relay" (a correos internos) con la siguiente herramienta: http://www.dnsexit.com/Direct.sv?cmd=testMailServer

 

- Podemos comprobar si nuestro servidor es un  "open relay" (a correos externos): https://mxtoolbox.com/SuperTool.aspx

1.3 Deshabilitando Open Relay (Postfix 3.x en Debian 9)

En  el archivo /etc/mail/main.cf 

Declaran los dominios a los que se autorizará mandar mensajes a través de nuestro servidor:

Configurar la lista de direcciones IPs que pueden mandar correos. (Típicamente solo la IP del servidor de correos):

 

2. Servidor DNS no configurado de manera segura

Un atacante puede falsificar el remitente de los correos modificando los header:

2.1. Configurar el registro PTR

En una zona de mapeo inverso, un registro PTR mapea una dirección IP a un nombre de host.

Editar el archivo de configuración de zona directa (Por ejemplo: db.empresa.com) y agregar:

correo                    IN    A     200.129.81.150
empresa.com.        IN    MX    10    correo.empresa.com.

“correo” es el nombre de subdominio para el sevidor de correo de “empresa.com” y “200.129.81.150” la IP del servidor de correo y 10 es el número de preferencia del servidor de correo.

Tenga en cuenta que pueden existir múltiples hosts de servidores de correo, ambos deberían estar incluidos por ejemplo:

correo1        IN     A    200.129.81.150
correo2        IN    A    200.129.81.151
empresa.com.        IN    MX    10    correo1.empresa.com.
empresa.com.        IN    MX    10    correo2.empresa.com.


Editar el archivo de configuración de zona inversa (Por ejemplo: db.81.129.200) y agregar:

150        IN    PTR    correo.empresa.com.

Para el caso de múltiples hosts de servidores de correo:

150        IN    PTR    correo1.empresa.com.
151        IN    PTR    correo2.empresa.com.


Verificamos la configuración de la siguiente manera:

$ dig empresa.com MX

;; ANSWER SECTION:
empresa.com.             3600     IN      MX      10     correo.empresa.com.

$ host  correo.empresa.com

correo.empresa.com has address 200.129.81.150

$ dig @1.1.1.1 -x 200.129.81.150

;; ANSWER SECTION:
150.81.129.200.in-addr.arpa. 18282 IN   PTR     correo.empresa.com.

NOTA. La resolución de la zona inversa PTR del host del servidor de correo debe corresponder a la especificada en el registro SPF

2.2. Registro SPF

Sender policy Framework (SPF), registro que ayuda a prevenir el envío de correos electrónicos no autorizados desde tú dominio (conocido como spoofing), en consecuencia, si tú dominio no tiene configurado este registro es posible que servidores que tienen implementado esta política rechacen o marquen el correo como spam.

El servidor que recibe el correo electrónico compara el dominio del mismo con la lista de los equipos autorizados para realizar el envío de mensajes desde ese dominio. Según el registro, el servidor decide si dejar que el correo se envíe y se entregue al destinatario o, por el contrario bloquearlo.

2.2.1. ¿Cómo funciona?

Comprobar si tenemos configurado SPF en nuestro dominio:

https://mxtoolbox.com/SuperTool.aspx

2.2.2. ¿Cómo configurar el registro TXT?

Usar la siguiente herramienta:

https://mxtoolbox.com/SPFRecordGenerator.aspx?domain=entidad.gob.bo&prefill=true

Deberá llenar desde que dominios e IPs envía correos electrónicos:

El registro generado con la herramienta deberá ser configurado en el servidor de DNS:

Una vez configurado el servidor DNS tardara un tiempo en propagarse.

2.2.3. ¿Cómo funciona el registro TXT?

El servidor de correo destinatario verificará el correo entrante con los registros TXT del dominio origen, si se llega a comprobar correctamente dejará pasar el correo añadiendo la cabecera Received-SPF

2.3. Registro DKIM

DKIM

2.3.1. ¿Qué es DKIM?

Es un mecanismo de autenticación de correo electrónico (estándar que proviene del inglés Domain Keys Identified Mail) que ayuda a prevenir el spoofing en los mensajes enviados desde nuestro dominio.

2.3.2. ¿Cómo funciona?

DKIM implementa una clave pública con la que firma la cabecera de cada correo saliente. Al llegar al servidor receptor, éste descifra el encabezado mediante DKIM y verifica que el contenido del correo se íntegro (sin modificaciones).

2.3.3. ¿Cómo configurar DKIM?

Primero se debe generar un par de claves y con esto también se generará el registro TXT para el servidor DNS, que tendrá un aspecto parecido a:

dkim._domainkey.empresa.com IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC65tv6LhAbbrqcwgyBaC x50scjedj357we9SJdff6VHOKDYgU/kvuV2rQiedHjtJDPuFJIwoNqh8pbIWxcZ8J2FhVhXU1QWdBmOQ/w61jfsyVAMrX/SrcJAd/1 XHYcS4o3uIOV7jICVOJLiYW5wjYLvWpPoraQzQE1Npjlsx2T5QIDAQAB" ; ----- DKIM key default for midominio.gob.bo

Ahora se debe editar el archivo de configuración del DNS y agregar el registro TXT que se genere de acuerdo a nuestro dominio.

*La configuración varía de acuerdo a cada servidor de correo*

El DNS queda parecido a:

Muestra DNS con DKIM

 

Listo, ahora todos los correos enviados serán seguros y tendrán un aspecto parecido a este:

 

prueba dkim

 

2.4. Registro DMARC

DMARC indica cómo debe manejarse los correos que fallen las comprobaciones SPF y DKIM.  Existen 3 opciones de para tratar un correo que falle la comprobación SPF y DKIM:

Podemos usar la herramienta en linea https://mxtoolbox.com/SuperTool.aspx para comprobar el registro DMARC.

2.4.1. Adicionando registro DMARC en el servidor DNS

Adicionar un registro TXT en el servidor DNS con el siguiente contenido: