Configuración
==============
Para configurar un servicio de correo electrónico, es necesario realizar una serie de pasos que incluyen la instalación y configuración del software de servidor de correo, la creación de cuentas de usuario, la configuración del DNS para el dominio asociado al correo, y la implementación de medidas de seguridad para proteger el servicio. Nuestro objetivo es lograr la implementación de un servidor de correo electrónico autónomo(por cuestiones de aprendizaje y por las limitaciones de la propia red del centro) utilizando un stack de código abierto compuesto por:
* **Postfix:** Agente de transferencia (MTA).
* **Dovecot:** Encargado de la entrega y gestión de buzones (MDA/IMAP).
La necesidad de un servicio de correo electrónico autónomo y autogestionado es fundamental en muchos entornos profesionales para garantizar el **cumplimiento de la normativa de seguridad, la soberanía de datos, privacidad y control total frente a los grandes proveedores comerciales**, estructurando el proceso desde los cimientos del DNS hasta la seguridad avanzada.
Antes de comenzar con la configuración concreta, es básico entender los pasos a realizar y los distintos agentes y servicios que intervienen en el proceso de envío y recepción de correos electrónicos, así como la importancia de cada uno en la cadena de comunicación.
1. **DNS y Hostname:** El servidor de correo debe tener una identidad clara en la red, lo que implica configurar correctamente el hostname de los participantes y los registros DNS (A, MX, PTR) para asegurar que otros servidores puedan localizarlo y confiar en él.
2. **Configuración del MTA (Postfix):** Es el núcleo del sistema de correo, responsable de enrutar los mensajes salientes y recibir los entrantes. La configuración debe incluir la definición de dominios, políticas de seguridad TLS, y la integración con el MDA para la entrega local.
- Tipo de instalación: Internet site, Satellite o Local
- Entrega de buzones Maildir(recomendado) o mbox
- Autenticación: SASL habilitado para usuarios remotos
- Restricciones: Evitar open relay (permit_mynetworks, permit_sasl_authenticated)
- Interfaces: Escuchar solo donde se necesite
- Relayhost.
- **Seguridad TLS en producción, texto plano solo laboratorio**
- Persistencia: Especialmente en despliegues automatizados.
3. **Configuración del MDA/IMAP (Dovecot):** Gestiona la entrega de correos a los buzones de los usuarios y permite el acceso a través de protocolos como IMAP o POP3. La configuración debe asegurar que los correos se almacenen de manera segura y que la autenticación de los usuarios sea robusta.
- Ubicación buzones Maildir recomendado: cada correo es un archivo (*cur, new, tmp*) → seguro y compatible con Postfix. **Debe coincidir con home_mailbox de Postfix.**
- Namespaces: Definir inbox=yes para INBOX. Define qué carpeta es la bandeja de entrada (INBOX) y otras subcarpetas.
- **Autenticación Plain solo para laboratorio; TLS en producción**: Usuarios del sistema (auth-system.conf.ext) vs usuarios virtuales (base de datos, LDAP, archivos planos).
- Integración Postfix: Habilitar SASL vía socket. Necesario si quieres que los usuarios puedan enviar correo autenticados. El socket debe ser accesible para Postfix.
- Protocolos:IMAP para pruebas y uso real, POP3 solo si necesitas compatibilidad con clientes antiguos.
* IMAP (dovecot-imapd) → recomendado, sincroniza carpetas, soporta múltiples clientes.
* POP3 (dovecot-pop3d) → descarga correos, opcionalmente los elimina del servidor.
- **Permisos y ubicación de buzones:** Usuario dueño + chmod 700
- **Seguridad TLS obligatorio en producción**: Configurar certificados SSL para cifrar las comunicaciones entre clientes y el servidor, evitando la exposición de credenciales y datos sensibles.
4. **Gestión de Usuarios y seguridad** Es fundamental crear cuentas de usuario adecuadas siguiendo alguno de los métodos disponibles (usuarios del sistema, LDAP, BBDD, virtuales, etc.) y configurar las políticas de seguridad para evitar el acceso no autorizado.
5. **Verificación:** Finalmente, es crucial verificar que el sistema funciona correctamente, tanto en el envío como en la recepción de correos, utilizando herramientas de prueba(mailutils) y/o configurando clientes de correo(thunderbird) para validar la experiencia del usuario final.
.. mermaid::
flowchart TD
%% Máquinas
DNS["DNS: dns.ser.asir.es
"]
MAIL["Mail: mail.ser.asir.es
"]
CLIENTE["Cliente: cliente.ser.asir.es
"]
%% Flujo de correo
CLIENTE -->|SMTP envío| MAIL
MAIL -->|IMAP lectura| CLIENTE
MAIL -->|DNS lookup| DNS
%% Usuarios y buzones
subgraph UsuariosMail["Usuarios en MailServer"]
PEPE["USER1
/home/USER1/Maildir"]
MANOLO["USER2
/home/USER2/Maildir"]
end
MAIL --> UsuariosMail
%% Configuración crítica Postfix
subgraph Postfix["Postfix Config"]
PF1["Maildir delivery"]
PF2["SASL auth habilitado"]
PF3["inet_interfaces?? localhost (laboratorio) / all (producción)"]
PF4["permit_mynetworks, permit_sasl_authenticated"]
end
MAIL --> Postfix
%% Configuración crítica Dovecot
subgraph Dovecot["Dovecot Config"]
DV1["Maildir por usuario"]
DV2["Namespace inbox=yes"]
DV3["IMAP habilitado, POP3 opcional"]
DV4["Permisos 700, propietario correcto"]
DV5["SASL socket para Postfix"]
end
MAIL --> Dovecot
style Postfix fill:#f9f,stroke:#333,stroke-width:1px
style Dovecot fill:#9ff,stroke:#333,stroke-width:1px
style UsuariosMail fill:#ffd,stroke:#333,stroke-width:1px
%% Tamaño de letra aumentado
classDef bigfont font-size:18px;
class DNS,MAIL,CLIENTE,PEPE,MANOLO,PF1,PF2,PF3,PF4,PF5,DV1,DV2,DV3,DV4,DV5 bigfont;
En el espacio virtual del módulo puedes encontrar en el área de recursos de la unidad un ejemplo de configuración de un servidor, **básico y orientado al uso local en un entorno de aprendizaje-pruebas**, de correo electrónico utilizando **Postfix y Dovecot**, con un despliegue automatizado para facilitar su implementación y modificación.
.. raw:: html