No estás usando esta distribución?

Selecciona una versión o distribución diferente

En los siguientes 4 artículos veremos como configurar un servidor de correo seguro con Postfix y Dovecot. Además almacenaremos los dominios, los usuarios y los alias en una base de datos con MariaDB.

Durante el proceso también instalaremos RoundCube para poder enviar e-mails desde el cliente web. Tanto RoundCube como el servidor de correo completo estará configurado bajo SSL.

Todo el proceso lo realizaremos bajo Debian 10, pero la configuración es muy similar en otras distribuciones como Ubuntu o CentOS.

Configurar Postfix bajo SSL

Para configurar Postfix con SSL lo que deberemos de hacer primero es modificar el fichero de configuración /etc/postfix/master.cf y añadir o descomentar lo siguiente:

smtps     inet  n       -       y       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes

Configurar Dovecot bajo SSL

Para configurar Dovecot bajo SSL debemos modificar el fichero /etc/dovecot/conf.d/10-ssl.conf y descomentar lo siguiente:

service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}

service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}

Configuración en RoundCube

Para RoundCube deberemos de modificar únicamente un valor, y para ello modificaremos el fichero de configuración y cambiaremos el puerto de SMTP:

$config['smtp_port'] = 465;

Comprobar servidor de correo

Hay múltiples webs que permiten revisar configuraciones una de ellas es SSL Shopper que permite revisar si nuestro certificado SSL está bien configurado.

Simplemente deberemos de añadir nuestro dominio y ver que tiene el certificado configurado. También podemos analizar el certificado por puestos añadiendo mail.dominio.com:465.

También podemos revisar la configuración del servidor de correo con SSL-Tools, una web que te dice la configuración de STARTTLS y que protocolos están siendo soportados.

Otra cosa que podemos hacer es revisar si desde nuestro servidor están los puertos abiertos con netstat:

netstat -tulpn

Deberemos de obtener un listado como el siguiente:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      597/mysqld          
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      1546/master         
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      1580/dovecot        
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      1580/dovecot        
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      1546/master                 
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1546/master         
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      1580/dovecot        
tcp        0      0 0.0.0.0:995 -            0.0.0.0:*               LISTEN      1580/dovecot 

También podemos utilizar el servicio de Mail-Tester.com que nos indicará si tenemos alguna cosa de nuestro servicio de correo o DNS mal configurado.

Por lo general, un buen resultado para que aparezcan en todos los buzones de correo es entre 8/10 o 9/10:

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación