Instalación y configuración de un servicio de correos: POSTFIX y ROUNDCUBE

Introducción

Para que los usuarios se puedan comunicar en nuestra red local y evitar usar herramientas externas, montaremos un servicio de correo para facilitar la comunicación y asegurar que la información sea totalmente protegida y verificada.

Para ello tendremos que instalar varios servicios para la comunicación como «POSTFIX«. Y luego tendremos que hacer un portal web para que los usuarios tengan una interfaz más agradable donde puedan ver y enviar correos.

En nuestro caso los clientes serán; Un Debian 10.2 (Con entorno gráfico) y un Windows 7 (Home Premium).

Caso Práctico

La dirección del centro necesita una red segura donde mandarse correos, nosotros tenemos la obligación de configurar un servidor de correos para que se puedan enviar correos de forma segura y tener el control total de los mensajes. Para ello configuraremos un nuevo dominio llamado «smtp.salomundo.com» que sera la dirección de correos saliente.

Además, usando el protocolo IMAP, y un cliente web de correos (POSTFIX) podrán gestionar sus correos desde la URL correo.dominio.com donde esta un WebMail instalado posteriormente.

Trabajaré sobre un entorno VirtualBox preparado y configurado para esta tarea , pero se puede hacer con máquinas reales conectadas y cableadas entre sí.

Explicación básica de los protocolos que utilizaremos

Para el envió de correo, podemos utilizar diferentes protocolos por ejemplo:

POP3Protocolo de Oficina Postal«) se utilizan en clientes locales de correo para obtener los mensajes de correo electrónico almacenados en un servidor remoto, denominado Servidor POP.

IMAP («Protocolo de acceso a mensajes de Internet») es un sistema que permite que nuestro programa de correo electrónico se conecte a nuestra cuenta de correo electrónico y visualice los mensajes allí almacenados.

Los correos permanecen en el servidor por lo que pueden ser visualizados desde otros dispositivos.

SMTP («Protocolo simple de transferencia de correo«)es un protocolo de red que se emplea para enviar y recibir correos electrónicos (emails).

Instalación del Servicio POSTFIX

Empezaremos actualizando los repositorios y los paquetes.

apt-get update

Luego instalamos los paquetes actualizados.

apt-get upgrade

La paquetería necesaria para empezar a funcionar se llama «postfi, este será el instalador de nuestro servidor de correos.

Ahora seguiremos un sencillo asistente de configuración donde solo tendremos que configurar un par de opciones.

apt-get install postfix

Seleccionamos «Sitio de Internet» para enviar los correos a los usuarios dentro de nuestra máquina para avisarles en los cambios de horario.

Continuaremos la instalación y seleccionaremos el prefijo que queremos usar para las direcciones de correo electrónico que se usarán en nuestra red local.

Estas características se incluyen en el fichero de configuración de postfix (/etc/postfix/main.cf), donde no hay que tocar los parámetros por ahora.

Verificaremos que no nos aparece ningún error durante la instalación.

Verificaremos que en el fichero (etc/mailname) aparece nuestro nombre de dominio en mi caso salomundo.com.

Si configurámos algo de los contenidos del fichero tendremos que reiniciar el servicio, ademas nos aseguramos que funciona correctamente.

systemctl restart postfix

Prueba de funcionamiento POSTFIX

Primero crearemos los usuarios para poder enviar correos entre unos y otros.

adduser persona1
adduser persona2

Establecemos la contraseña para persona1.

Estableceremos la contraseña persona2.

Ahora entramos iniciamos sesión en los usuarios creados anteriormente y nos enviaremos un mensaje utilizando el comando «mail» que tendremos que instalar con el siguiente comando:

apt-get install bsd-mailx

Cuando terminemos de instalar la paqueteria. La sintaxis del comando es la siguiente para enviar los correos:

mail persona2
Subject: Prueba de correo
Prueba de envío local
[CTRL-D]
Cc: persona1@salomundo.com

Entramos en la cuenta de persona2. Cuando iniciamos sesión vemos que tenemos un mail.

Si escribimos «mail» en la terminal podemos ver los correos que nos llegaron, y si ponemos el numero podemos ver el contenido.

Ahora desde el usuario persona2 enviaremos un correo a persona1. Utilizaremos la misma sintaxis para enviarlo.

Volvemos al usuario persona1 y verificamos que nos llegó el correo de persona2.

Nos vamos al usuario administrador y verificaremos que los correos se pasaron correctamente por el servidor entrando en el siguiente fichero:

/var/log/mail.log

Dentro de este fichero podemos ver quien envió el correo, quien lo recibió y si el usuario lo ha visto o no.

El problema de esta opción es que solo los usuarios con acceso a la máquina pueden comunicarse con correos electrónicos, pero no pueden comunicarse con otra máquina para solucionar esto deberemos hacer la instalación del POP3 y configurar los clientes de correo para los usuarios que se envíen información.

Para que nuestros clientes estén comunicados nos basaremos en las máquinas montadas en los anteriores posts.

Servidor POP y configuración de cliente de correo

Seguimos con la instalación de POP para el envió de correo entre clientes en diferentes equipos pero en nuestra misma red, para ello instalaremos el siguiente servicio.

apt-get install dovecot-pop3d

Necesitamos configurar nuestro servidor de correo para permitir utilizar el servidor Pop desde otro ordenador de nuestra red local, para ello modificamos la siguiente línea en el fichero de configuración, ponemos la ip de nuestra red local:

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.10.0/24

El fichero donde tenemos que acceder es:

/etc/postfix/main.cf

Después mas abajo añadiremos las siguientes líneas:

home_mailbox = Maildir/
mailbox_command =

Para comprobar que realizamos los cambios correctamente hacemos el siguiente comando:

systemctl restart postfix

Configuración del servidor pop3

Después de verificar que nuestro servicio funciona correctamente configuraremos el servicio «POP3» para que los clientes se puedan mandar los correos.

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

Nos vamos a la linea especificada más abajo y cambiamos el «yes» por «no«. Y lo descomentamos. Para que esté habilitado la autenticación con contraseña.

disable_plaintext_auth = yes -> disable_plaintext_auth = no

Cambia en el fichero (/etc/dovecot/conf.d/10-mail.conf), donde se encuentra el buzón:

mail_location = mbox:~/mail:INBOX=/var/mail/%u
mail_location = maildir:~/Maildir

Guardamos el fichero y reiniciamos el servicio:

systemctl restart dovecot

Configuración de los clientes de correo

En el sistema operativo Debian utilizaremos Evolution agregando al usuario persona1 y en el sistema operativo Windows utilizaremos Thunderbird agregando persona2. Estos los tendremos ya instalados de antemano.

Pero antes deberemos configurar nuestro servidor dns para que pueda resolver los nombres del correo pop3.dominio.com y smtp.dominio.com crearemos 2 Cname apuntando al nombre del dominio.

Reiniciamos el servidor de bind9:

systemctl restart bind9

Ahora crearemos una nueva cuenta de correo en los clientes utilizando las aplicaciones especificadas anteriormente, empezaremos por Evolution.

Ponemos el nombre completo de la dirección de correo en este caso «persona1@salomundo.com«.

Ponemos tipo de servidor POP3 y el método de seguridad STARTTLS, porque nuestro servidor todavía no tiene un certificado para usar TLS. Y en el puerto el predeterminado

En la opción de comprobar mensajes nuevos ponemos 1 minuto para no tener que esperar.

Configuraremos el servidor SMTP y con el cifrado STARTTLS para el cifrado sin certificados en el servidor principal.

Guardamos los cambios y verificamos que la cuenta se añadió correctamente.

Nos vamos al clientes de correos thunderbird y añadiremos al usuario persona2.

En thunderbird ponemos el nombre del usuario y la dirección de correo persona2@salomundo.com.

Automáticamente detecta los servidores POP3 y SMTP, y con la seguridad STARTTLS por defecto le damos a hecho y continuamos.

Como podemos ver esta configurado correctamente y podremos enviar correos y recibirlos.

Escribimos el correo al usuario persona2 y verificamos que llego en el otro cliente de correos.

Le damos a actualizar los correos entrantes o «Recibir Correos«. Justo cuando le damos a recibir mensajes nos aparece el correo.

Si entramos dentro del mensaje vemos que efectivamente el envió se realizó correctamente.

Vamos a realizar el mismo envió de correos pero ahora al contrario para comprobar que todo esta configurado correctamente. Enviamos el correo y vamos al cliente Evolution y verificamos que llego correctamente.

Como podemos ver los correos llegaron correctamente.

Pero que pasa si ¿Nuestros clientes no pueden instalarse una aplicación de clientes de correo y solo tienen acceso a internet?. Bueno pues para eso tendremos que instalar un webmail que explicaremos como se instala y configura mas abajo.

Instalación de un Servidor Imap y Webmail

IMAP, es un protocolo de red de acceso a mensajes electrónicos almacenados
en un servidor, se puede tener acceso al correo electrónico desde cualquier equipo que tenga una conexión a Internet. Esto hace que sea mas avanzado de POP3 ya que puede mirar los correos de manera remota y no tiene porque descargarlos.

Para empezar la instalación deberemos instalar el servicio IMAP en el servidor:

apt-get install dovecot-imapd

Después deberemos instalar el Webmail

apt-get install roundcube

Seguimos el asistente de instalación del roundcube, este creará una base de datos para la pagina web donde se almacenarán los correos recibidos.

A continuación, tenemos que añadir a la configuración de apache2 el nuevo sitio virtual, luego configuraremos el Virtualhost para redirigirlo a la carpeta roundcube y después el enlace símbolo para que el apache reconozca la nueva página web. También agregaremos el nombre CNAME al dns para realizar la resolución.

Creamos el nuevo sitio virtual y lo configuramos:

Agregamos la dirección donde se encuentra el Roundcube y la dirección para entrar en el webmail.

Reiniciamos el servicio apache2 para verificar que no cometimos errores ortográficos al configurar.

systemctl restart apache2

Creamos el enlace simbólico entrando en la siguiente ruta, (/etc/apache2/sites-enabled/) y los creamos:

a2ensite round.conf

Después de crear el enlace reiniciamos el apache2. Solo nos quedaría por configurar el servidor DNS añadiendo el nuevo CNAME del VirtualHost.

Entramos en la configuracion del servidor DNS y añadimos la siguiente linea:

Reiniciamos el servicio BIND9.

El siguiente paso que realizaremos será configurar RoundCube para quitar la autorización de seguridad ya que nuestro servidor no tiene certificación de seguridad y nos saldrá un error, entramos en el siguiente fichero de configuracion:

/etc/roundcube/config.inc.php

Añadimos el prefiero «localhost» en «default_host» y «smtp_server«.

Y para evitar que los clientes se puedan enviar mensajes sin problemas de seguridad por culpa del smtp quitaremos el «%u» de «smtp_user«.

Ahora recargamos apache2:

systemctl restart apache2

Prueba de funcionamiento WebMail

Para esta prueba utilizaremos el navegador de uno de los dos clientes en este caso el de la máquina Debian para entrar a la dirección donde se encuentra nuestro WebMail instalado y configurado, desde la otra máquina Windows utilizaremos el thunderbird para ver los correos y enviarlos de vuelta.

Entramos en la url correo.salomundo.com desde nuestro navegador predeterminado.

Utilizamos el usuario que creamos anteriormente y se nos mostrará una interfaz de usuario donde se pueden enviar, ver y gestionar los correos electrónicos.

Redactamos un correo nuevo, para la persona2 que esta configurada en el cliente de correos thunderbird:

Verificamos que el correo lo enviamos correctamente y verificamos desde el cliente thunderbird la llegada del correo.

Si le damos a recibir mensaje nos aparece lo siguiente:

Entramos dentro del mensaje para ver si realmente esta correcta la información.

Realizaremos lo mismo pero al contrario enviaremos el mensaje a la persona1 para recibirlo desde el WebMail.

Entramos en el portal WebMail y recargamos la pagina para ver si llego algún correo.

Entramos dentro del correo y verificamos la información del interior del mensaje.

El correo esta correctamente configurado. Este sería el final del post. Si tenéis algún problema con errores de ficheros, verificar las faltas de ortografía y erratas que suele ser el mayor problema a la hora de configurar ficheros en debian.

Muchas gracias por ver este post, si tienes alguna duda deja tu comentario abajo.🤪 

Deja un comentario