Instalación y configuración de Postfix & Dovecot – Parte 1

Introducción

En esta entrada vamos a instalar y configurar un servidor de correo similar al de cualquier organización, capaz de enviar y recibir correos y servirlos a los usuarios a través de los protocolos POP, IMAP y configurar un entorno web para administrar los correos.

Para realizar las siguientes instalaciones y configuraciones, debemos tener ya instalado y funcionando un servidor DNS propio y un servidor de correo como relay.

 

Configurar el servidor de correos con el relay “intermediario”

Partiendo de una máquina con Debian Stretch limpia, instalamos el paquete:

Elegir la opción: Internet Site 

Indicar en la siguiente opción el nombre de dominio que tienes dentro de la red local, en mi caso: charlie.gonzalonazareno.org

El fichero de configuración de postfix es /etc/postfix/main.cf. Algunos campos más importante:

  • myorigin: es con el nombre de dominio que se envían los correos, si se descomenta la linea se indica el dominio en el fichero /etc/mailname. 
  • myhostname: Si no descomentas myorigin, puedes definir myhostname con el nombre de dominio también.
  • mydestination: serán los nombres de dominio a los que el servidor de correo responda, en el caso de que tenga al usuario de ese dominio en la máquina responderá o si no devolverá un mensaje de error.
  • relayhost: será el servidor de correos que se encargará de mandar el correo por nosotros, y no nuestro propio servidor.
  • mynetworks: los direccionamiento de red, desde donde está permitido mandar correos con el servidor postfix. Importante limitar las redes a las que queramos y no poner 0.0.0.0 o cualquiera podrá mandar correos con nuestro servidor y hacer incluso uso de él para realizar spam.

Configurando el fichero main.cf

Importante, antes de continuar comprobar que el nombre completo de nuestra máquina es el deseado o no servirá de nada modificar el fichero de configuración:

Editar o añadir lo siguiente en main.cf: 

Nota: el servidor relay esta en doble pila, pero nuestro servidor solo esta usando ipv4 😉

Reiniciar el servicio postfix:

Añadir el servidor de correos a nuestro DNS

Editar:

Añadir:

Recargar la zona:

Verificamos que tenemos el mx añadido para nuestra zona, y que esta registrada la máquina correo.

1)Prueba funcionamiento correo desde local(postfix) hacia el exterior(gmail)

Instalar el paquete necesario para mandar un correo desde línea de comandos (hay varias opciones de hacer este paso):

Enviar correo desde la linea de comandos:

Comprobamos el log del mail, para ver como se ha enviado efectivamente el email:

Si miro en mi bandeja de entrada de mi cuenta de gmail, ¡me aparece el correo!

El pase de diapositivas requiere JavaScript.

Voy a mostrar otra forma de mandar un email, y es utilizando telnet 😉 :

Nota: si nos os funciona el envio comprobar que el servidor smtp que estaís intentando utilizar es Postfix y no Exim4.

 

2)Prueba funcionamiento correo desde el exterior(gmail) hacia la red local(postfix)

 

Iniciamos sesión en nuestra cuenta de hotmail, gmail o nuestro dominio propio dominio y mandamos un correo de prueba a un usuario del sistema donde se encuentra instalado postfix:

Ver el log /var/log/mail.log:

Ejecutar: mail con el usuario

Ahora si escribimos 1, podemos ver el contenido del correo:

 

3) Enviado correo desde un cliente desde la red local

Primero tendremos que añadir en el parámetro mynetworks del fichero de configuración de postfix main.cf el direccionamiento de red donde se encuentra la máquina con el cliente de correo desde el que vamos a enviar un email:

Reiniciar servicio:

Añadir en nuestra zona del DNS , un alias para el smtp:

Recargar la zona:

Ahora vamos a utilizar un cliente de correo, por ejemplo Evolution que ya viene pre-instalado en mi Debian Stretch.

Configuramos la cuenta con el cliente de correo:

El pase de diapositivas requiere JavaScript.

Ahora para probar que el cliente funciona correctamente, vamos a enviar un correo desde el cliente a la cuenta de gmail:

El pase de diapositivas requiere JavaScript.

4) Utilizando el protocolo POP – Recibiendo correo en nuestro cliente (Evolution) desde el exterior (Gmail)

Instalar los siguientes paquetes:

Descomentar en /etc/dovecot/dovecot.conf:

Habilitar en /etc/dovecot/conf.d/10-auth.conf:

En el fichero /etc/dovecot/conf.d/10-auth.conf:

Añadir en /etc/postfix/main.cf:

Añadir el alias en servidor DNS:

Recargar zona:

Reiniciar servicios:

Configuramos Evolution con el servidor POP:

El pase de diapositivas requiere JavaScript.

Ahora probamos a enviarnos un correo desde gmail a nuestro usuario de la red local:

Desde el cliente evolution:

 

 

5) Enviando correo desde fuera hacia el servidor IMAP (local)

Instalar el paquete:

Añadir alias en el servidor dns:

Recargar:

Configuramos el cliente Evolution para que funcione con el servidor imap:

El pase de diapositivas requiere JavaScript.

Y nos enviamos un correo externo de prueba:

El pase de diapositivas requiere JavaScript.

 

Diferencia entre pop3 e imap

POP3


Este protocolo se descarga todos los correos que estén en la bandeja de entrada al ordenador localmente, eliminándolos de la bandeja.

Ventajas:

  • No sería necesario el uso de conexión a internet, para leer los correos una vez descargados en la máquina.
  • El limite de almacenamiento es el del equipo.
  • Limpieza del buzón de entrada del servidor de correo.

 

Desventajas:

  • Una vez descargados los correos, y no estén en el servidor, solo serán legibles desde la máquina donde se descarguen. En el caso de que no existiera una copia de seguridad de ellos y la máquina se estropease no podrían recuperarse.

 

IMAP


Este protocolo no se descarga los correos, los visualiza directamente del servidor. Por lo tanto es ideal para usar el correo desde varios dispositivos ya que sin importar desde lo administremos, el correo se encontrará en el mismo estado ya que se encuentra todo en el servidor.

Ventajas:

  • Gestión unificada, cada cambio que hagamos se verá reflejado desde los otros dispositivos.
  • Se permite crear y administrar diferentes carpetas desde todos lados.
  • Varias personas pueden estar conectadas al mismo tiempo , o solo una desde varios sitios.

 

Desventajas:

  • El espacio de almacenamiento es el del servidor de correo, pudiendo posiblemente llenarse el buzón y bloqueando así la entrada de nuevos correos electrónicos.
  • Salvo configurando una opción, será prescindible la conexión a internet.

 

6) Instalar roundcube para administrar a través de una interfaz gráfica

Instalar el servidor web y el gestor de la base de datos:

Ahora en la máquina que tenemos instalado el servidor postfix y dovecot, nos desplazamos por ejemplo al directorio temporal:

Descargamos el fichero roundcube comprimido desde la página oficial:

Descomprimimos el fichero, lo colocamos en el directorio /var/www y le cambiamos los permisos:

Creamos la base de datos en mariadb:

Añadir en el sitio predeterminado de apache2:

Reiniciar apache2:

Ahora accedemos a la dirección en el navegador:

El pase de diapositivas requiere JavaScript.

Una vez realizada la instalación vamos a borrar el instalador de Roundcube eliminando el directorio:

Ahora si accedemos directamente con la dirección ip o el nombre de la máquina en caso de usar un servidor DNS interno, en el navegador.

Introducimos nuestro usuario y probamos a enviar y recibir correos.

El pase de diapositivas requiere JavaScript.

7) Sistema de filtrado de virus y spam

  • amavisd: Es una interfaz entre el servidor de correos y el antivirus y antispam.
  • ClamAV: Un antivirus.
  • SpamAssassin: Un software para detectar spam.

Instalamos los siguientes paquetes:

También instalamos algunas utilidades:

Configurar amavisd

Descomentar las siguientes lineas en el fichero /etc/amavis/conf.d/15-content_filter_mode:

En el fichero /etc/amavis/conf.d/20-debian_defaults, podríamos indicar la acción a realizar con el correo marcado como spam, por defecto no lo deja pasar, si quisiéramos dejarlo pasar lo cambiaríamos a:

Finalmente añadimos el usuario al grupo:

Comunicar amavis con postfix:

Añadir en el fichero de configuración master.cf de postfix el siguiente bloque:

Actualizar la base de datos de clamav

Si no saliera el mensaje: “ERROR: /var/log/clamav/freshclam.log is locked by another process”, podriamos mirar con el comando lsof que proceso esta haciendo uso del fichero log:

Reiniciar:

Activar spamassassin

En el fichero /etc/default/spamassassin:

Y reiniciar el daemon:

 

Reiniciar postfix y comprobar que los servicios estan escuchando en los diferentes puertos:

 

Autor entrada: CharlieJ

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *