Instalación y configuración de un servidor de correos de Internet

Índice

Para configurar un servidor de correos en un servidor expuesto a Internet hay que instalar un servicio SMTP en este servidor. En este caso, se usa el servidor postfix.

sudo apt update
sudo apt install postfix

La instalación de este servicio es interactiva. En primer lugar, se debe configurar el servicio como un Sitio de Internet.

Package configuration




                     ┌─────┤ Postfix Configuration ├─────┐
                     │ General mail configuration type:  │ 
                     │                                   │ 
                     │     No configuration              │ 
                     │     Internet Site                 │ 
                     │     Internet with smarthost       │ 
                     │     Satellite system              │ 
                     │     Local only                    │ 
                     │                                   │ 
                     │                                   │ 
                     │      <Ok>          <Cancel>       │ 
                     │                                   │ 
                     └───────────────────────────────────┘ 
                                                           

Además, durante la instalación se configura también el nombre de dominio del servidor.

  ┌────────────────────────┤ Postfix Configuration ├─────────────────────────┐
  │ The 'mail name' is the domain name used to 'qualify' _ALL_ mail          │ 
  │ addresses without a domain name. This includes mail to and from <root>:  │ 
  │ please do not make your machine send out mail from root@example.org      │ 
  │ unless root@example.org has told you to.                                 │ 
  │                                                                          │ 
  │ This name will also be used by other programs. It should be the single,  │ 
  │ fully qualified domain name (FQDN).                                      │ 
  │                                                                          │ 
  │ Thus, if a mail address on the local host is foo@example.org, the        │ 
  │ correct value for this option would be example.org.                      │ 
  │                                                                          │ 
  │ System mail name:                                                        │ 
  │                                                                          │ 
  │ javihuete.site________________________________________________________ │ 
  │                                                                          │ 
  │                   <Aceptar>                  <Cancelar>                  │ 
  │                                                                          │ 
  └──────────────────────────────────────────────────────────────────────────┘

Para poder usar el servidor de correo en Internet, el DNS del dominio necesita contar con un registro de tipo MX.

MX 	@ 	pignite.javihuete.site 10 	900

Además, para garantizar el envío de mails desde el servidor, es necesario configurar una serie de herramientas en el DNS.

La primera de ellas es el SPF, que se configura añadiendo un registro de tipo TXT al DNS con el siguiente contenido.

"v=spf1 ip4:149.202.55.234 ~all"

La siguiente técnica de verificación es DKIM. El uso de esta técnica requiere la instalación en el servidor de la herramienta opendkim.

sudo apt install opendkim opendkim-tools

Esta herramienta permite generar el par de claves necesarios para la firma de los correos usando DKIM.

sudo -u opendkim opendkim-genkey -D /etc/dkimkeys -d javihuete.site -s miclave

La configuración de la herramienta de firma de correos se realiza en el fichero /etc/opendkim.conf

Socket                  inet:8891@localhost
Mode                    sv
Domain                  javihuete.site
KeyFile                 /etc/dkimkeys/miclave.private
Selector                miclave

En la configuración del servicio SMTP, en el fichero /etc/postfix/main.cf, tamibén se debe configurar la conexión con la herramienta opendkim para que se puedan firmar los correos.

milter_protocol = 2
milter_default_action = accept
smtpd_milters = inet:localhost:8891
non_smtpd_milters = $smtpd_milters

Para aplicar las modificaciones, se reinician ambos servicios.

sudo systemctl restart opendkim postfix

Finalmente, en el DNS del dominio se debe añadir un nuevo registro de tipo TXT con el contenido generado por opendkim en el fichero /etc/dkimkeys/miclave.txt.

v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsi5DJWOFbCjCgYGiTEcsF7Z/dLmNGcr1gtwGMnpZceFF/Fyy+RfUL9gf+OyryGIxt3EFwtnrvBOjArD/D/gk+HWrjSuPcDPMzsulLVm5DBGSYxanVCmSSjBAwNfakXdDK7022SupOImWshBSesKjZUntsJ2Avjjd92zZKe0wpwpKbNEb/whn6qNXf1UrLXgmkEKryIcaIF+EE6 K18m5Pw8PcG4ZXH75W3lsIEgRq4DwmON49BNOpuEWouY7k9zrvPr0h/Q8SnEc2hK6RCoujvSY+5MpwmIJmS+CDPRCej9QJQHJK8CcKZmKbYyqlsMo9yvnYoYXTmBs9kBpvQ9PxhQIDAQAB

La tercera técnica para garantizar el envío de correos desde un servidor de correos en Internet es DMARC. Esta técnica también se configura con un registro TXT en el DNS del dominio con el siguiente contenido:

v=DMARC1; p=quarantine;adkim=r;aspf=r; rua=mailto:correo@javihuete.site

Para poder enviar correos desde el servidor, es necesrio que este cuente con una herramienta que permita realizar esta tarea.

sudo apt install bsd-mailx

Configuración de SpamAssassin

Para filtrar la llegada de mensajes de spam al servidor de correos se puede usar una herramienta como spamassassin. Esta herramienta se comunica con postfix para filtrar los mensajes recibidos por el servidor y marcar como spam aquellos que no cumplen con los filtros.

sudo apt update
sudo apt install spamassassin

En el fichero de configuración etc/default/spamass-milter se habilita la posibilidad de que postfix pueda comunicarse con spamass-milter a través del socket.

 SOCKET="/var/spool/postfix/spamass/spamass.sock"
 SOCKETOWNER="postfix:postfix"
 SOCKETMODE="0660"
 SOCKET_OPTIONS="-g postfix"

Por otra parte, en la comunicación de postfix en /etc/postfix/main.cf se configura esta comunicación. Al parámetro smtpd_milters creado antes durante la configuración de DKIM, se debe añadir la ruta al socket de spamass-milter.

smtpd_milters = inet:localhost:8891,unix:/run/spamass-milter/spamass-milter.sock

Finalmente, para hacer efectiva estas modificaciones, se reinicial los servicios de spamassassin, spamass-milter y postfix.

sudo systemctl restart spamassassin spamass-milter postfix
comments powered by Disqus

Relacionados

Empaquetadores y compresores/descompresores en Debian

Los empaquetadores y compresores/descompresores son paquetes fundamentales en cualquier distribución de un sistema operativo. En este post se analizan varios de estos paquetes disponibles para Debian y otras distribuciones GNU/Linux

Leer

Comandos para la programación de tareas

La programación de tareas es una característica muy útil en el ámbito de la administración de sistemas informáticos, especialmente al programar scripts. En este post se repasa brevemente la información más relevante sobre los principales comandos que se pueden usar con esta finalidad.

Leer

Túneles IPv6: túneles 6to4

En este post se muestra, a través de un ejemplo práctico, el funcionamiento de los túneles IPv6. Estos túneles permiten que el tráfico que va de una a otra dirección IPv6 pase por redes que funcionan usando el portocolo IPv4.

Leer