Servidor de correo con Postfix+Dovecot+RainLoop+Mailman2 y auth LDAP para usuarios del AD DC [Debian 10] – PART VII

ÍNDICE

La documentación abarcará lo siguiente:

1.Implementación de un servidor de correo con buzones.

1.1.Datos de interés.

1.2.Sincronización de tiempo.

1.3. Implementación y configuración de ESMTP Postfix.

1.3.1. Selección de cifrados.

1.3.2. Configurando Postfix.

1.3.3. Creando los archivos de controles para Postfix-LDAP.

1.3.4. Comprobando la integración con LDAP y mapeos de aliases.

1.4.Implementación y configuración de Dovecot.

1.4.1.Configurando Dovecot

1.4.2.Creando archivo de control para Dovecot-LDAP

1.4.3.Script “quota-warnings.sh”

2. Implementación del cliente de correo web

2.1. Instalación de RainLoop

2.2. Fortaleciendo la seguridad del cliente de correo web

2.3. Configuraciones desde la WebGUI de RainLoop

3. Clientes de correo externo

3.1. Outlook 2016

3.2. Outlook 2019

3.3. Thunderbird 78.8.0

4. Filtrado de correos

4.1. Filtrado de correos por categorías

4.2. Filtrado para el remitente y destinatario

4.3. Filtrado para encabezado, adjuntos y cuerpo del correo

5. Copias de Carbón Ocultas

6. Listas de distribución con Mailman 2

6.1. Configuración de Nginx para Mailman 2

6.2. Instalación y configuración de Mailman 2

6.3. Integración de Mailman 2 a Postfix

6.4. Creando otras listas en Mailman 2

7. Rotación de logs y envío de reportes

8. Comprobando la encriptación TLS

9. Iptables

 

5. Copias de Carbón Ocultas

Las Copias de Carbón Ocultas (BCC, por sus siglas en inglés o Blind Carbon Copy) hace referencia a las copias de los correos entrante o saliente de su dominio o subdominios. También se puede utilizar para redirigir una copia de los correos pertenecientes a un buzón en específico hacia otro buzón. Para ello es necesario entender tres directivas:

  • “always_bcc =”: Se utiliza para crear siempre una BCC, tanto para el correo entrante, como para el saliente.
  • “sender_bcc_maps =”: Para hacer BCC a un correo saliente.
  • “recipient_bcc_maps =”: Para hacer BCC a un correo entrante.

Creando directorio que contendrá los archivos para copias al carbón:

Creando el archivo que contiene las direcciones de usuarios y la dirección de correo que recibe las copias de los correos recibidos:

Agregue el siguiente contenido, en caso que usted desee crear una copia de todo el correo entrante referente a su dominio. En este caso el valor “@empresa.midominio.cu” se refiere al dominio en cuestión, y “[email protected]” se refiere al buzón donde se van a guardar las copias:

También puede agregar el siguiente contenido, en caso que usted desee crear una copia del contenido de un buzón en específico hacia otro buzón. En este caso el valor “[email protected]” se refiere al buzón que se le hará la copia y “[email protected]” se refiere al buzón donde se van a guardar o redirigir las copias del correo entrante del buzón de “usuario1.apellido” (OPCIONAL):

Generando el mapa del archivo creado anteriormente:

#======================================
NOTA:
Tenga en cuenta crear el usuario “trazas”, por mecanismo de autenticación implementado en el servidor. Como usamos autenticación LDAP, se debe crear una cuenta en el AD para dicho usuario.
#======================================

Creando el archivo que contiene las direcciones de usuarios y la dirección de correo que recibe las copias de los correos enviados:

Agregamos lo siguiente, la cual se considera de interés tener una copia del correo saliente especificado:

Generando el mapa del archivo creado anteriormente:

Declarando las nuevas reglas en el archivo de configuración de postfix:

Busque el fragmento «BCC» y descomente las siguientes líneas, resaltadas en color blanco:

Recargamos Postfix:

Para complementar, es importante que cualquier correo electrónico enviado directamente a la cuenta “trazas” se elimine automáticamente, ya que de otra forma habría correos duplicados en su buzón. Para lograr este fin, se edita el fichero “/etc/postfix/reglas/recipient_checks.pcre”:

Agregamos lo dirección de correo del usuario “trazas” y la acción realizarse:

Recargamos Postfix:

Cuando alguien intente escribirle directamente a “[email protected]”, recibirá el siguiente mensaje del servidor:

Si enviamos un correo desde el “usuario1.apellido” a cualquier destino, se guardará una copia de ese correo saliente en el buzon de “trazas”:

Si enviamos un correo a un usuario del dominio de correo, desde cualquier destino, se guardará una copia de ese correo saliente en el buzon de “trazas”:

La cuota del buzón de trazas debe ser lo suficientemente grande como para almacenar correos de toda la empresa por al menos 1 año.

6. Listas de distribución con Mailman 2

Usted puede agregar a su servicio de correo elementos adicionales como en este caso son las listas de distribución, estas pueden ser usadas con diversos fines, envío masivo a todos los usuarios de su institución, listas de debates temáticos a fin de compartir el conocimiento, entre otros. Para tales fines existen varios programas entre los que se encuentra Mailman.

En este tutorial se utilizará Mailman v2, el cual no tiene soporte para autenticación por STARTTLS. Esto implicará que se debe deshabilitar la autenticación forzada por TLS en el MTA Postfix para el localhost. En la configuración de Postfix ya habíamos especificado TLS oportunístico, lo cual no obliga a que los clientes SMTP a iniciar una conexión encriptada de forma obligatoria. Tener habilitado el puerto 25 para SMPT a nivel de servicio no resulta un problema si el firewall del servidor controla los accesos a este puerto (permitido solamente para las redes confiables, como el localhost y relayhost).

#======================================
NOTA:
Antes de comenzar con la implementación de Mailman, usted debe crear en su DNS una entrada referente al nombre que tendrá su servicio de listas, en este caso se tomará como ejemplo “listas.empresa.midominio.cu”.
#======================================

6.1. Configuración de Nginx para Mailman 2

Instalamos FCGIWrap para que Mailman muestre correctamente su interfaz web, para correr aplicaciones CGI con FastCGI y Nginx:

Nos aseguramos que FCGI y Nginx corren bajo el mismo usuario “www-data”. Si no es el caso lo cambiamos. Para ello verificamos el siguiente fichero:

Verificamos las opciones siguientes:

Si se tuvo que hacer algún cambio, se recomienda reiniciar el servicio “fcgiwrap”.

Creando una entrada en Nginx para Mailman:

Agregar lo siguiente:

 

 

Creando un enlace simbólico:

Reiniciando Nginx:

6.2. Instalación y configuración de Mailman 2

Seleccione con la barra espaciadora el idioma español cuando se lo pida. Luego Mailman nos indica que falta la lista por defecto “mailman” y si verificamos el estado del servicio veremos que no inició correctamente debido a esto. Por ahora solo aceptamos la información y continuamos.

Configurando Mailman:

Busque las coincidencias que aparecen a continuación y modifique los parámetros, adecuándolos a su red:

Creamos un fichero que contendrá todos los aliases para poder interactuar con las listas de correo gestionadas por Mailman:

Agregamos lo siguiente, para el caso de la lista “mailman”, que se creará luego:

Generamos el mapa del fichero:

Creando la primera lista, la cual se llama “mailman” y es obligatoria:

Pedirá un usuario de correo para que administre esta lista ponemos el usuario, por ejemplo: “[email protected]”.

Pedirá una contraseña para el administrador de esta lista:

Damos “ENTER” y se termina creando la lista. Entre las líneas que devuelve la acción anterior, se muestran las siguientes:

6.3. Integración de Mailman 2 a Postfix

Editamos el fichero de configuración de Mailman:

Busque la siguiente coincidencia en el archivo de configuración de Mailman y descomente la siguiente línea, dejándola sin el espacio inicial:

Creamos un nuevo fichero “/etc/postfix/transport” y agregamos la lista por defecto con su dominio y el usuario “mailman”:

Generamos el mapa del fichero:

Verificamos que no se ofrece autenticación para localhost:

Lo anterior deberá devolver lo siguiente:

Hecho lo anterior, ya sabemos que nuestro servidor no ofrece autenticación al propio cliente SMTP del localhost, el cual será usado por Mailman para el envío de correo a las listas.

Editamos el fichero de configuración de Postfix:

En el apartado “TRANSPORT” descomentamos la siguiente línea, dejándola como se muestra en color blanco:

En el apartado “NETWORK” descomentamos la línea que hace referencia a las listas, en las opciones de “mydestination”. La línea hace referencia al nombre por el cual responde la URL de Mailman:

En el apartado “MAILBOX” descomentamos las siguientes líneas, dejándolas como se muestran:

Reiniciamos Mailman y recargamos Postfix:

Cambiando permisos en algunos archivos y directorios de Mailman:

6.4. Creando otras listas en Mailman 2

No se debe usar la lista por defecto de Mailman para mensajes de difusión. En su lugar debemos crear una nueva lista que hará esta función. Antes de crear la nueva lista comentamos el MTA:

Editamos el fichero “/etc/mailman/mm_cfg.py”:

Comentamos el MTA:

Agregamos al fichero “/etc/postfix/virtual-mailman” los alias virtuales que se usaran en la nueva lista por crear “todos”:

Agregamos lo siguiente:

Actualizamos el mapa del fichero:

Creando la lista “todos”:

Pedirá un usuario de correo para que administre esta lista ponemos el usuario, por ejemplo: “[email protected]”.

Pedirá una contraseña para el administrador de esta lista:

Damos “ENTER” y se termina creando la lista. Entre las líneas que devuelve la acción anterior, se muestran las siguientes:

También, cada vez que se cree una nueva lista, se debe agregar al fichero “/etc/postfix/transport” el nombre de la lista con su dominio, acompañado del usuario “mailman”, como se muestra a continuación:

Actualizamos el mapa del fichero:

También debemos correr el siguiente comando tras la creación de una lista:

Editamos el fichero de configuración de Mailman:

Descomentamos nuevamente el MTA Postfix:

Reiniciamos Mailman

Accediendo a las listas creadas en Mailman, para mostrar la relación de las listas creadas.

http://listas.empresa.midominio.cu/cgi-bin/mailman/listinfo

Accediendo a las listas creadas en Mailman, para administrarlas y configurarlas vía web:

http://listas.empresa.midominio.cu/cgi-bin/mailman/admin

Si más adelante se desea borrar alguna lista creada y sus conversaciones, simplemente correr el siguiente comando:

Dentro de la web de administración de “Todos”, configuramos el idioma a usarse:

  • Opciones de idiomas:

Una vez echo, reconfiguramos Mailman para que configure todo el sitio en este idioma (si no se hace, existirán algunas palabras en inglés mezclado con español en el sitio):

Seleccionamos el idioma “es (Español)” con la barra espaciadora y aceptamos los cambios. Mailman se reconfigurará e instalará el idioma. Si devuelve que no fue necesario realizar actualizaciones, es porque ya se había instalado correctamente desde la primera vez.

Se recomiendan las siguientes configuraciones en la lista de correo “Todos”:

  • Opciones generales:

Definimos en la siguiente imagen que, cuando se responda a un correo de la lista “Todos”, se envíe a una dirección especifica, la cual puede dejarse o bloquearse a nivel del MTA Postfix:

Las notificaciones para bienvenida y baja de un miembro de la lista:

Otras configuraciones:

  • Suscripciones masivas:

Mailman 2 no da la posibilidad de integrarlo con el LDAP del AD DC, por lo que cada usuario debe agregarse manualmente a la lista creada desde la web de gestión de Mailman, o mediante aprobación ante una solicitud de suscripción.

  • Lista de suscriptores:

Recordar siempre marcar la casilla de “mod” para que el usuario sea moderado y, por ende, que las reglas configuradas en Mailman sea aplicables a dicho usuario. En este caso no se marca la casilla de moderación para el usuario “usuario1.apellido”, por ser administrador de la lista.

  • Reglas para la suscripción:

  • Opciones de entrega regular:

  • Filtrado del remitente:

Con las opciones anteriores, existen algunos mensajes predefinidos y algunas restricciones que nos permitirá automatizar un poco la gestión de la lista de correo “Todos”. A continuación, se muestran algunos ejemplos de respuestas o mensajes enviados al suscriptor o al desuscriptor:

  • Códigos HTML:

Editamos el código HTML de las páginas de acceso y los ficheros de texto públicos, específicamente para el del mensaje de bienvenida, dejándolo como sigue:

  • Si un usuario se hace suscriptor de la lista “Todos” recibirá el siguiente mensaje de bienvenida:

  • Si un usuario moderado responde a un mensaje de la lista de correo “Todos” o le escribe directamente, recibirá el siguiente mensaje, según las reglas anteriormente configuradas:

En este caso, la integración de Mailman con Postfix usuando usuarios virtuales LDAP, nos trajo una serie problemas cuando se interactúan con algunos alias del programa, generados para cada lista. Para el caso de la lista “Todos”, al tratarse de una lista informativa para los usuarios de la red, se decidió filtrar a nivel del MTA Postfix, el envió de mensajes a dichas direcciones que corresponden a los alias: “todos-owner” y “todos-bounces”. De manera que, si un administrador de la lista le escribe a la lista, se enviará el correo a cada miembro de la lista y en caso de que algún miembro de la lista sin permisos o no miembro de la misma intente escribirle a dicha lista o dicho correo, proveniente del nombre de la lista, se recibirá el mesnaje de rechazo (de estar configurado). Sin embargo, si el usuario vuelve a intentar escribirle a la respuesta de dicha lista, ya no será para el nombre de la lista, sino para uno de sus alias y es aquí donde se el servidor de correo pasa a filtrar dicha dirección. Para implementar estas restricciones seguimos los siguientes pasos.

Editamos el siguiente fichero:

Agregamos lo siguiente, al final del fichero:

Si esto no se hace, el mensaje es enviado y Postfix termina respondiéndonos en un correo, de que el usuario es desconocido y no se pudo entregar el mensaje, lo cual recae en procesamiento innecesario de Postfix y no uso eficiente de los recursos disponibles para el servidor. Si alguien le escribe a alguna de dichas direcciones, Postfix lo denegará, como muestran los logs:

 

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sobre Franco Diaz Hurtado 26 artículos
Ing. Telecomunicaciones y Electrónica; Administrador de redes en la dirección general de ECASA

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*