Servidor de correo · 4 min read · Sep 09, 2025

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

Solución Completa de Servidor de Correo con Dominios y Usuarios Virtuales (Debian Etch, Postfix, MySQL, DoveCot, DSpam, ClamAV, Postgrey, RBL)

Este tutorial está protegido por derechos de autor (c) 2007 por Justin Refice. Se deriva de varias guías y material original, que se enumeran al final del documento. Eres libre de usar este tutorial bajo la licencia Creative Commons 2.5 o cualquier versión posterior.

I. Introducción

Esta guía describe cómo configurar una solución de correo electrónico completa en Debian Linux (todo el código es de Debian Etch). Me pidieron que diseñara una solución segura, escalable y portátil para una pequeña empresa. Aunque la guía hace referencia a muchos ‘servidores’, la empresa solo tenía 4 máquinas físicas, se utilizó Xen para virtualizar toda la solución. Ese aspecto particular del sistema no se discute en esta guía, aunque intentaré incluirlo en la próxima revisión.

Solo una nota sobre los nombres de los servidores utilizados a continuación: Si no necesita ser accesible desde Internet, no lo permita. Los nombres de dominio que terminan en internal.example.com son direcciones NIC/IP internas… no hay forma de acceder a ellas directamente desde Internet, ni debería haber. Cualquier servidor que SOLO tenga un nombre de dominio internal.example.com es un servidor puramente interno y no puede ser accedido directamente desde Internet. Todos los servidores no internos tienen dos NICs (pueden ser dos NICs reales o virtuales). La primera NIC tiene acceso a Internet y está estrictamente protegida por un firewall. La segunda NIC tiene acceso a la red interna y tiene un poco menos de seguridad como resultado. Los detalles sobre cómo configurar estas NICs están fuera del alcance de este documento, pero puedo actualizarlo para incluirlos en el futuro.

El diseño general de los servidores es:

MX Primario:
NIC1 = Inseguro/Internet = mx-1.example.com
NIC2 = Seguro/Intranet = mx-1.internal.example.com
MTA: Postfix
Filtro de Greylist: Postgrey

MX Secundario:
NIC1 = Inseguro/Internet = mx-2.example.com
NIC2 = Seguro/Intranet = mx-2.internal.example.com
MTA: Postfix
Filtro de Greylist: Postgrey

SMTP+TLS & IMAPS:
NIC1 = Inseguro/Internet = secure-mail.example.com
NIC2 = Seguro/Intranet = secure-mail.internal.example.com
MTA: Postfix (+TLS/SSL)
IMAP: Dovecot (IMAPS)

Servidor de Entrega de Correo: postman.internal.example.com
MTA (lmtp): DSPAM
Antivirus: ClamAV
IMAP: Dovecot

Servidor de Base de Datos: sql-1.internal.example.com
MySQL

Servidor de Archivos: files-1.internal.example.com
NFS

Servidor de Construcción Temporal: build.internal.example.com

El correo funciona de la siguiente manera: Correo de Internet *a* tus dominios: 1. El correo llega al MX Primario o Secundario en el puerto 25 2. El MX consulta al servidor MySQL para ver si el destinatario y el destino del correo son válidos: a. El destinatario no está autorizado - El correo es rechazado (Error 550) b. El destinatario está autorizado - El correo puede continuar 3. El MX verifica la política de greylist: a. Esta es la primera vez que se intenta el correo - El correo es rechazado (Reintentar) b. Esta no es la primera vez que se intenta el correo - El correo puede continuar 4. El MX verifica las violaciones de cuota a. La cuota del usuario está llena - El correo es rebotado b. El usuario tiene espacio - El correo es entregado 5. El MX envía el correo al Servidor de Entrega Interno (a través de LMTP) 6. El Servidor de Entrega Interno verifica si hay Virus/SPAM a. Esto es SPAM - El SPAM es marcado y entregado al LDA para su entrega. b. Esto es un virus - El correo es rechazado c. Esto NO es SPAM y NO es VIRUS - El correo es entregado al LDA 7. LDA Entrega el correo a. El correo está marcado como SPAM - Entregado al directorio "SPAM" en Maildir b. El correo NO está marcado como SPAM - Entregado a la bandeja de entrada. Correo de Internet *desde* tus dominios: 1. El usuario inicia la conexión al Relay SMTP en el puerto 25 2. El Relay SMTP ofrece TLS: a. El usuario no usa TLS - El correo es rechazado b. El usuario usa TLS - La sesión puede continuar 3. El Relay SMTP ofrece AUTH (PLAIN): a. El usuario no se autentica/Falla la Autenticación - El correo es rechazado b. El usuario se autentica - La sesión se completa como de costumbre Los usuarios remotos acceden al correo a través de IMAPS (IMAP Seguro) Los usuarios locales acceden al correo a través de IMAP Si el usuario detecta una detección de SPAM falsa positiva, reenvía el correo a "ham-@." Si el usuario detecta una detección de SPAM falsa negativa, reenvía el correo a "spam-@." ### II. Notas Importantes Todo esto puede ser instalado en Debian 4.0 Etch o Ubuntu Feisty Fawn, ya que ambos sistemas son bastante similares. Sin embargo, ten en cuenta que puede haber algunos problemas menores si usas la versión predeterminada de Dovecot y Postfix, pero intentaré anotarlos para ti cuando surjan. Si eres un usuario de Ubuntu, ten en cuenta que no usaré “sudo” delante de cada comando. En su lugar, lanzar una shell de root usando el comando “sudo -s”. Instalar software en Ubuntu y Debian es muy fácil, así que siempre que sea posible usaremos la utilidad apt-get incorporada. Cuanto menos tengamos que construir nosotros mismos, más fácil será mantenerlo más tarde. Así que, ¡comencemos!
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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