✉️ ¡Nuestra aventura para construir un servidor de correo ha llegado al corazón de la configuración de Dovecot!
¿Vimos la estructura de los archivos de configuración de Dovecot en la publicación anterior? ¡Es hora de entrar en la práctica!
📌 Si aún no has visto la parte anterior, te recomiendo que la leas primero.
👉 Construyendo un servidor de correo en Linux #3: Estructura y aplicación de los archivos de configuración de Dovecot
En esta publicación, analizaremos cuatro archivos de configuración esenciales de Dovecot que son imprescindibles para operar un servidor de correo, y organizaremos métodos de configuración prácticos considerando un entorno de usuarios virtuales y la integración con Postfix.
🚀 Cuatro archivos de configuración esenciales de Dovecot
Hay tantos archivos de configuración de Dovecot que pueden causar confusión al principio. Sin embargo, si comprendes bien estos cuatro archivos de configuración, podrás operar servicios de correo básicos.
Archivo de configuración | Función |
---|---|
10-auth.conf |
Configuración de autenticación de usuarios |
10-mail.conf |
Configuración del almacenamiento de correo (buzón) |
10-master.conf |
Configuración de procesos de servicio (IMAP, POP3, LMTP, etc.) |
10-ssl.conf |
Configuración de cifrado TLS/SSL |
Vamos a examinar cada archivo de configuración y aplicar ajustes considerados para un entorno de usuarios virtuales y la integración con Postfix.
🛠️ Usuario vmail
creado al instalar Dovecot
Cuando instalas Dovecot por primera vez, se crea automáticamente un usuario y grupo dedicado llamado vmail
(UID/GID 5000) en el sistema.
Este usuario tiene el rol de almacenar y administrar datos de correo, y no es una cuenta del sistema, sino una cuenta diseñada específicamente para manejar solo correo.
🔍 Cómo verificar el usuario vmail
Puedes verificarlo ejecutando el siguiente comando en la terminal:
id vmail
Ejemplo de salida:
uid=5000(vmail) gid=5000(vmail) groups=5000(vmail)
Alternativamente, también puedes buscarlo directamente en el archivo /etc/passwd
.
grep vmail /etc/passwd
Si el usuario vmail
no existe, deberás crearlo manualmente con el siguiente comando.
sudo groupadd -g 5000 vmail
sudo useradd -u 5000 -g vmail -s /sbin/nologin -d /var/mail vmail
✅ ¡Ahora puedes usar el usuario vmail
en la configuración de Dovecot para almacenar correo!
1️⃣ 10-auth.conf
- Configuración de autenticación de usuarios
Este archivo es extremadamente importante porque determina el método de autenticación de los usuarios.
Particularmente, dado que planeamos construir un entorno de usuarios virtuales, haremos la configuración considerando eso.
📌 Puntos de configuración importantes
- Autenticación mediante usuarios virtuales (integración con la base de datos)
- Habilitar autenticación mediante PLAIN y LOGIN (usado de manera segura en entorno SSL)
- Autenticación mediante DB en lugar de cuentas del sistema (/etc/passwd)
🔹 Ejemplo de archivo de configuración (/etc/dovecot/conf.d/10-auth.conf
)
disable_plaintext_auth = yes
auth_mechanisms = plain login
!include auth-sql.conf.ext
💡 Explicación
disable_plaintext_auth = yes
→ La autenticación en texto plano solo está permitida cuando se usa SSLauth_mechanisms = plain login
→ Los métodos de autenticación más utilizados en IMAP y POP3!include auth-sql.conf.ext
→ Configura la obtención de información de autenticación desde una base de datos
✍ Es decir, se configura Dovecot para usar DB como método de autenticación en lugar de cuentas del sistema como /etc/passwd
.
¡En la siguiente parte, se tratará detalladamente el archivo auth-sql.conf.ext
!
2️⃣ 10-mail.conf
- Configuración de almacenamiento de correo
Este es el archivo de configuración que determina dónde se almacenará realmente el correo. Generalmente, es común almacenar en formato Maildir en integración con Postfix.
📌 Puntos de configuración importantes
- Usar formato Maildir
- Configurar la ruta de almacenamiento de correos para usuarios virtuales
- Configurar permisos de correo
Ejemplo de archivo de configuración (/etc/dovecot/conf.d/10-mail.conf
)
mail_home = %h
mail_location = maildir:%h/Maildir
namespace inbox {
inbox = yes
}
mail_uid = vmail
mail_gid = vmail
mail_privileged_group = mail
💡 Explicación
mail_home = %h
→ Usar el directorio home del usuario virtual (ruta especificada directamente en la base de datos)mail_location = maildir:%h/Maildir
→ Almacenar el correo en formato Maildirmail_uid
,mail_gid
→ Usar usuario dedicado para almacenamiento de correo (vmail
)namespace inbox { inbox = yes }
→ Designado como el buzón principal (bandeja de entrada)
✍ Es decir, se configura para administrar el correo de los usuarios mediante una cuenta vmail
separada en lugar de una cuenta del sistema.
3️⃣ 10-master.conf
- Configuración del proceso del servicio
Este archivo configura los servicios proporcionados por Dovecot (IMAP, POP3, LMTP, etc.).
Particularmente, dado que planeamos usar LMTP (Local Mail Transfer Protocol) en integración con Postfix, es necesario activarlo.
📌 Puntos de configuración importantes
- Activar LMTP (en integración con Postfix)
- Configurar socket de autenticación (ajustar para que Postfix use la autenticación de Dovecot)
🔹 Ejemplo de archivo de configuración (/etc/dovecot/conf.d/10-master.conf
)
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
}
service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
unix_listener auth-userdb {
mode = 0600
user = vmail
group = vmail
}
client {
path = /run/dovecot/auth-client
}
}
💡 Explicación
- Activar LMTP (service lmtp)
- Cuando Postfix entrega correo a Dovecot, se utiliza el socket
dovecot-lmtp
- Integración de autenticación de Postfix y Dovecot (service auth)
- Configurar para que Postfix obtenga la información de autenticación desde Dovecot a través del socket
/var/spool/postfix/private/auth
✍ En resumen, se configura para que Postfix procese la autenticación de usuarios a través de Dovecot y para que la entrega de correo se integre mediante LMTP.
4️⃣ 10-ssl.conf
- Configuración de cifrado TLS/SSL
¡El servidor de correo debe ser cifrado! En este archivo, configuramos SSL/TLS para aumentar la seguridad.
📌 Puntos de configuración importantes
- Activar cifrado SSL/TLS
- Se pueden usar certificados de Let’s Encrypt o certificados autofirmados
📌 ⚠️ En esta publicación se omite el proceso para obtener certificados SSL.
Suponiendo que ya se ha obtenido un certificado para el dominio, se pueden utilizar certificados de Let’s Encrypt, autofirmados o comerciales.
Ejemplo de archivo de configuración (/etc/dovecot/conf.d/10-ssl.conf
)
ssl = required
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
💡 Explicación
ssl = required
→ SSL es obligatoriossl_cert
,ssl_key
→ Aplicar cifrado utilizando certificados de Let’s Encrypt
✍ En resumen, se configura para evitar el acceso sin cifrado a los clientes y aumentar la seguridad a través de TLS.
🏁 Resumen
✅ En esta publicación cubrimos los cuatro archivos de configuración esenciales de Dovecot
- 10-auth.conf → Método de autenticación de usuarios (aplicación basada en DB para un entorno de usuarios virtuales)
- 10-mail.conf → Configuración de ruta y permisos para el almacenamiento de correos (mail_home = %h
)
- 10-master.conf → Configuración de LMTP y servicio de autenticación en integración con Postfix
- 10-ssl.conf → Configuración de seguridad SSL/TLS (omisión de configuración de Let’s Encrypt)
Si entiendes correctamente estas configuraciones, podrás configurar un entorno para recibir/enviar correos en integración con Postfix. En la próxima parte, se tratará la configuración de la base de datos para un entorno de usuarios virtuales (auth-sql.conf.ext
) ¡🚀!
¡También revisa la publicación anterior y otras de la serie sobre construcción de servidores de correo! ¡Busca “dovecot” o “mail” en el cuadro de búsqueda en la parte superior derecha!
Add a New Comment