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

Creación de una VPN de acceso remoto con IPSec

Para la configuración de la VPN de acceso remoto con IPSec se usa una aplicación por software, en este caso, StrongSwan. El escenario cuenta con tres máquinas: un cliente, un servidor y un equipo en la red interna del servidor al que el cliente debe acceder.

Leer

Interconexión entre dos servidores Oracle

Este post constituye una breve guía con los pasos a seguir para establecer una interconexión entre dos servidores Oracle.

Leer

Instalación y configuración del gestor de arranque systemd-boot en Debian

systemd-boot es un gestor de arranque creado de la fusión del proyecto gummiboot con el proyecto systemd. Tanto gummiboot como systemd-boot están desarrollados por Red Hat. Este gestor de arranque pretende ser una alternativa minimalista al gestor de arranque GRUB, desarrollado por GNU y está diseñado para sistemas que usan la interfaz de firmware UEFI.

Leer