Servidor de correo · 3 min read · Oct 05, 2025

Solución Completa de Servidor de Correo con Dominios y Usuarios Virtuales (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Página 12

C. Dovecot Seguro

El servidor Dovecot puede hacer IMAPS prácticamente desde el principio… así que vamos a instalarlo en secure-mail. Como de costumbre, Debian se encarga de la mayor parte del trabajo:

# apt-get install dovecot-imapd

Para nuestros propósitos, no necesitamos POP3 (y realmente, tú tampoco deberías), pero si lo quisieras, solo añade dovecot-pop3d al final de ese comando.

Abre el archivo de configuración de Dovecot ubicado en /etc/dovecot/dovecot.conf y haz que se vea como lo siguiente. Probablemente ya haya mucha configuración predeterminada hecha, así que probablemente solo necesitarás descomentar ciertas secciones y cambiar cosas menores. Presta mucha atención a las secciones ssl_ del archivo, ya que son diferentes en este servidor.

## Archivo de configuración de Dovecot  
#  
base_dir = /var/run/dovecot/  
#  
# imap imaps pop3 pop3s (usa imaps y pop3s si está configurado para SSL)  
protocols = imaps  
#  
# Descomenta las declaraciones ssl_listen y comenta listen si usas SSL  
protocol imap {  
# listen = *:143  
ssl_listen = *:993  
}  
#protocol pop3 {  
#listen = *:110  
# ssl_listen = *:995  
#}  
#  
log_timestamp = “%Y-%m-%d %H:%M:%S ”  
syslog_facility = mail  
#  
# Descomenta esto si usas SSL  
ssl_cert_file = /etc/ssl/example.com/mailserver/mail-cert.pem  
ssl_key_file = /etc/ssl/example.com/mailserver/mail-key.pem  
#ssl_ca_file = /etc/ssl/mycompany/ca/mycompany.pem  
#ssl_verify_client_cert = yes  
ssl_parameters_regenerate = 168  
verbose_ssl = no  
#  
# Donde se encuentran los buzones  
mail_location = maildir:/vmail/%d/%u  
#  
mail_extra_groups = mail  
mail_debug = no  
first_valid_uid = 150  
last_valid_uid = 150  
maildir_copy_with_hardlinks = yes  
#  
protocol imap {  
login_executable = /usr/lib/dovecot/imap-login  
mail_executable = /usr/lib/dovecot/imap  
imap_max_line_length = 65536  
}  
#protocol pop3 {  
#login_executable = /usr/lib/dovecot/pop3-login  
#mail_executable = /usr/lib/dovecot/pop3  
#pop3_uidl_format = %08Xu%08Xv  
#}  
protocol lda {  
postmaster_address = [email protected]  
sendmail_path = /usr/lib/sendmail  
auth_socket_path = /var/run/dovecot/auth-master  
}  
#  
auth_verbose = no  
auth_debug = no  
auth_debug_passwords = no  
#  
auth default {  
 mechanisms = plain  
 passdb sql {  
 args = /etc/dovecot/dovecot-sql.conf  
 }  
 userdb sql {  
 args = /etc/dovecot/dovecot-sql.conf  
 }  
 user = nobody  
 socket listen {  
 master {  
 path = /var/run/dovecot/auth-master  
 mode = 0660  
 user = vmail  
 group = mail  
 }  
 client {  
 path = /var/spool/postfix/private/auth  
 mode = 0660  
 user = postfix  
 group = postfix  
 }  
 }  
 #  
 # Si quieres certificados de cliente, usa estas líneas  
 # ssl_require_client_cert = yes  
 # ssl_username_from_cert = yes  
}

NOTA: ¡No puedes simplemente copiar la configuración anterior y esperar que funcione! ¡Vas a necesitar incorporar cualquier cambio anterior en tu propia configuración!

La configuración de Dovecot está casi completa, pero al igual que con la configuración anterior, los ajustes de MySQL necesitan ser incorporados.

Abre el archivo /etc/dovecot/dovecot-sql.conf y asegúrate de que lo siguiente esté presente.

driver = mysql  
connect = host=sql-1.internal.example.com dbname=virtual_mail user=vmail_user password=vmail_user_password  
# El nuevo nombre para MD5 es MD5-CRYPT así que puede que necesites cambiar esto dependiendo de la versión  
default_pass_scheme = MD5  
# Obtén el buzón  
user_query = SELECT '/vmail/%d/%n' AS home, 'maildir:/vmail/%d/%n' AS mail, 150 AS uid, 8 AS gid, CONCAT('dirsize:storage=', quota) AS quota FROM mailbox WHERE username = '%u' AND active = '1'  
# Obtén la contraseña  
password_query = SELECT username AS user, password, '/vmail/%d/%n' AS userdb_home, 'maildir:/vmail/%d/%n' AS userdb_mail, 150 AS userdb_uid, 8 AS userdb_gid FROM mailbox WHERE username = '%u' AND active = '1'  
# Si usas certificados de cliente para autenticación, comenta lo anterior y descomenta lo siguiente  
#password_query = SELECT null AS password, '%u' AS user

Dado que hemos almacenado nuestra contraseña de MySQL en formato de texto plano en este documento, ¡vamos a asegurarnos de que solo nosotros podamos leerla!

# chmod 600 /etc/dovecot/*.conf  
# chown vmail /etc/dovecot/*.conf

¡La configuración de Dovecot Externo/Secure ya está terminada! adelante y reinicia el servicio dovecot:

# invoke-rc.d dovecot restart

… ¡y tus usuarios externos/inseguros ahora pueden revisar su correo en secure-mail.example.com!

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.