Hola a tod@s,
En este post vamos a ver como instalar y configurar un servidor de correos en Ubuntu Server 24.04 LTS, utilizaremos postfix para el servidor SMTPS y dovecot para el servidor POP3 e IMAP.
- Para este post disponemos de tres máquinas virtuales, la primera máquina virtual es el servidor DNS, llamado cenicienta, cuya IP es 192.168.5.1:
- La segunda máquina virtual, llamada marcopolo, debe tener instalado el sistema operativo Ubuntu, tener la dirección IP 192.168.5.105 y ser servidor de correo autorizado en la zona clasicosinfantilesdejramonramos.org:
- La tercera máquina la llamaremos donata tiene instalado un Ubuntu 24.04 LTS Desktop, le asignamos la IP 192.168.5.106 y la incluimos en el servidor DNS cenicienta, también tiene instalado el cliente de correo Mozilla Thunderbird:
- Instalamos en marcopolo los servidores de correo postfix y dovecot estableciendo que postfix se instale con configuración modo sitio de Internet para el dominio clasicosinfantilesdejramonramos.org.
- Empezamos instalando el servidor de correo MTA postfix, ejecutando apt install postfix:
- Configuramos el modo Sitio de Internet para el dominio org:
- Cuando la instalación ha finalizado, ejecutamos el comando systemctl status postfix para ver el estado del servicio:
- Una vez finalizada la instalación del postfix, vamos a proceder a instalar el servidor de correo MDA Dovecot, ejecutando apt install dovecot-imapd dovecot-pop3d:
- Cuando la instalación ha finalizado, ejecutamos el comando systemctl status dovecot para ver el estado del servicio:
- A partir del archivo de configuración de postfix, escribimos el contenido de las directivas que indican:
- Redes desde las que se pueden enviar correos, si no incluye la red 192.168.5.0/24 a la que pertenece marcopolo, la debemos incluir.
- Editamos el archivo de configuración del postfix con nano /etc/postfix/main.cf:
- Añadimos nuestra red 192.168.5.0/24 en mynetworks, en estas nuevas versiones de postfix, las direcciones IPs se separan con espacios y no con coma:
- El sistema de buzones de usuario será MailDir en detrimento de mbox.
- Añadimos al fichero la línea home_mailbox = Maildir/:
- Reiniciamos y vemos el estado del servicio postfix con systemctl restart postfix y systemctl status postfix:
- Verificamos la configuración ejecutando el comando postconf home_mailbox que nos debe mostrar home_mailbox = Maildir/:
- Destinos para los que el servidor puede enviar mensajes o almacenarlos en buzones.
- Editamos la línea mydestination = del fichero nano /etc/postfix/main.cf, que al realizar la instalación en modo Sitio de Internet ya nos añade nuestro dominio:
- A partir de los ficheros de configuración de dovecot le debemos indicar:
- La localización de los buzones MailDir.
- Editamos el archivo de configuración de dovecot para la localización de los buzones con nano /etc/dovecot/d/10-mail.conf:
- Editamos la línea mail_location, que nos aparece así:
- Y nos debe de quedar así, mail_location = maildir:~/Maildir:
- Reiniciamos y vemos el estado del servicio dovecot con systemctl restart dovecot y systemctl status dovecot:
- Para verificar que mail_location está correctamente configurado ejecutamos el comando doveadm config get mail_location que nos debe mostrar maildir:~/Maildir:
- Que tenga en cuenta conexiones inseguras a la hora de acceder al correo del usuario.
- Permitimos la autenticación en texto plano, para ello editamos el fichero nano /etc/dovecot/conf.d/10-auth.conf:
- Modificamos la línea disable_plaintext_auth = no esto permite que los usuarios inicien sesión sin necesidad de SSL/TLS:
- Sobre este mismo fichero, verificamos los métodos de autenticación permitidos, y modificamos la línea auth_mechanisms = plain login esto habilita los métodos de autenticación más comunes:
- Seguimos deshabilitando el SSL obligatorio, para ello, editamos el fichero nano /etc/dovecot/conf.d/10-ssl.conf:
- La línea que aparece como ssl = yes la debemos cambiar por ssl = no esto va a permitir las conexiones sin cifrado:
- Habilitamos los puertos POP3 110 e IMAP 143 en el fichero /etc/dovecot/conf.d/10-master.conf:
- Reiniciamos y vemos el estado del servicio dovecot con systemctl restart dovecot y systemctl status dovecot:
- Para verificar si los puertos están abiertos, ejecutamos el comando ss -tlnp | grep dovecot y nos indica que los puertos para IMAP TCP 143 y POP3 TCP 110 están escuchando:
- Integramos el servidor de correo marcopolo (192.168.n.105) en la zona DNS clasicosinfantilesdejramonramos.org.
- Configuramos la zona dns de búsqueda directa en nuestro servidor DNS cenicienta:
- Añadimos los registros del tipo MX y A para el servidor de correo marcopolo, también hemos agregado el registro tipo A para la máquina donata:
- Configuramos la zona dns de búsqueda inversa en nuestro servidor DNS cenicienta:
- Añadimos los registros del tipo PTR para el servidor de correo marcopolo, también hemos agregado el registro PTR para la máquina donata:
- Reiniciamos y vemos el estado del servicio bind9 con systemctl restart bind9 y systemctl status bind9:
- Verificamos que la resolución DNS funciona correctamente, ejecutando comandos nslookup, dig y host -t:
- Creamos en marcopolo los usuarios fantina y moretta para que puedan tener cuentas de usuario de correo pero no iniciar sesión en el sistema, les asignamos una contraseña, la necesitaremos mas adelante para configurar las cuentas de correo en Thunderbirds.
- Para crear los usuarios indicados y que puedan tener cuenta de correo pero no iniciar sesión en el sistema, ejecutamos el comando useradd -m -s /sbin/nologin usuario:
- Le asignamos una contraseña a cada usuario:
- El directorio /home/usuario/Maildir donde se almacenan los buzones de los usuarios se va a crear cuando el usuario reciba su primer correo.
- Ahora iniciamos en donata una conexión telnet con el servidor de correo marcopolo para que fantina envíe un mensaje de correo a moretta, nos conectamos por el puerto 25 y usaremos el FQDN completo de marcopolo.
- Iniciamos una conexión telnet ejecutando telnet marcopolo.clasicosinfantilesdejramonramos.org 25 y como se puede ver iniciamos la conexión:
- Una vez establecida la conexión podemos empezar a enviar comandos SMTP al servidor.
- Empezamos con helo donata. clasicosinfantilesdejramonramos.org que lo envía el cliente para identificarse.
- Seguimos con mail from: fantina@clasicosinfantilesdejramonramos.org para identificar al remitente del correo.
- Luego rcpt to: moretta@clasicosinfantilesdejramonramos.org para identificar al destinatario del correo.
- data para indicar que se va a comenzar a enviar el mensaje.
- subject: actividad número 5 tema 5 que permite especificar el asunto del mensaje, es obligatorio que este comando se envíe a continuación de data y hay que enviar una línea en blanco y después el contenido o cuerpo del mensaje., se finaliza con una línea que tenga sólo un punto.
- quit cierra la conexión cliente servidor.
- Ahora accedemos al buzón de moretta y comprobaremos que ha recibido el correo, lo haremos desde donata usando una conexión telnet por el puerto 110 e indicando la FQDN completa de marcopolo.
- Iniciamos una conexión telnet ejecutando telnet marcopolo.clasicosinfantilesdejramonramos.org 110 y como se puede ver iniciamos la conexión.
- Una vez establecida la conexión podemos empezar a enviar comandos al servidor dovecot.
- Empezamos con user moretta para iniciar sesión en el servidor.
- Seguimos con pass contraseña para validar credenciales.
- list para ver los mensajes en el buzón del usuario, en este caso nos indica que hay 1 mensaje.
- retr 1 para ver el contenido del mensaje, si tuviésemos más mensajes en el servidor y quisiéramos ver el contenido pues tendríamos que ir poniendo retr 2, retr 3 según el mensaje que quisiéramos ver.
- quit cierra la conexión cliente servidor.
- Instalamos Thunderbirds en donata y marcopolo, configuraremos una cuenta de correo para fantina en donata y otra para moretta en marcopolo, las dos tienen que ser cuentas de correo en el dominio clasicosinfantilesdejramonramos.org y deben ser configuradas sin seguridad SSL.
- En Ubuntu Desktop 24.04 LTS que estoy utilizando para realizar el laboratorio ya viene instalado Thunderbirds.
- Creamos la cuenta de fantina en donata:
- Como podemos ver, la comprobación del servidor y validación de la cuenta es correcta:
- Le indicamos que configure la cuenta de correo en Thunderbird:
- Aceptamos la restricción de seguridad:
- Como podemos ver, la cuenta se ha creado correctamente:
- Ahora vamos a crear la cuenta de moretta en marcopolo:
- Como podemos ver, la comprobación del servidor y validación de la cuenta es correcta:
- Le indicamos que configure la cuenta de correo en Thunderbird:
- Aceptamos la restricción de seguridad:
- Como podemos ver, la cuenta se ha creado correctamente:
- Desde el cliente thunderbird de moretta creamos un nuevo mensaje para la cuenta de correo de fantina, le indicamos el asunto, redactamos el mensaje y enviamos, una vez enviado podemos visualizarlo en Enviados, luego en el cliente thunderbird de fantina le llega el mensaje a la Bandeja de entrada desde donde se puede visualizar.
- Enviamos un correo de moretta a fantina:
- Recogemos el correo de fantina:
- Como los dos usuarios ya han recibido un correo, podemos ver, que se ha creado el directorio /home/usuario/Maildir donde se almacenan los buzones de los usuarios:
Saludos y espero que os sea de ayuda 😉