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

Í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

 

4. Filtrado de correos

En esta sección se analizará como desplegar diversos tipos de filtrado en nuestro servidor de correo. Dichos tipos de filtrado son totalmente opcionales, por lo cual lo implementamos como un apartado independiente a la puesta en marcha de un servidor de correo, pero que no dejan de ser una parte importante en la seguridad y gestión del mismo.

4.1. Filtrado de correos por categorías

Para el filtrado por categorización de usuarios, teniendo en cuenta grupos LDAP del AD DC, se debe tener muy claro cómo va ser dicha categorización para realizar el filtrado de la navegación, según los intereses de su institución. En este caso se propone la siguiente clasificación:

  • Mail_Nacional: Grupo del AD para Correo Nacional. Los usuarios bajo esta categoría solamente podrán enviar y recibir correo para los dominios considerados como nacionales, siempre y cuando los dominios y direcciones de correo remitentes no se encuentren en algún filtro denegado por algún motivo.
  • Mail_Local: Grupo del AD para Correo Local o Institucional. Los usuarios bajo esta categoría podrán enviar y recibir correo solamente desde el dominio local, en este caso “empresa.midominio.cu”.

Si el usuario no pertenece a ninguno de los grupos anteriores, se considerará que no tiene limitación de trafico de correo, siempre y cuando tenga bien configurado la cuota de correo y la dirección de correo, además de ser una cuenta activa del AD.

Como se trata de un servicio integrado al LDAP del AD DC, necesitamos preparar dichos grupos con sus respectivos integrantes.

#==============================
NOTA:

Configuraciones necesarias en el AD DC:

En este tutorial se usa como solución de AD DC a Samba4. En caso de usarse Windows Server, simplemente usar las RSAT de Windows, aunque estas también pueden usarse para Samba4 y se ahorran los comandos en consola.

Supongamos que ya se tengan creados los usuarios faltando solo agregarlos sus nuevos grupos:

#==============================

Es importante entender que los nombres que usted utilice para el filtrado deben coincidir en cada archivo que haga referencia a estos.

  • Mapeo de usuarios de Correo Nacional para correo de entrada:

Agregue lo que aparece a continuación, modifique según sus datos de red:

  • Mapeo de usuarios de Correo Nacional para correo de salida:

Agregue lo que aparece a continuación, modifique según sus datos de red:

  • Mapeo de usuarios de Correo Local para correo de entrada:

Agregue lo que aparece a continuación, modifique según sus datos de red:

  • Mapeo de usuarios de Correo Local para correo de salida:

Agregue lo que aparece a continuación, modifique según sus datos de red:

Creando las reglas vinculadas a las clases personalizadas para cada tipo de tráfico de cada categoría:

Editamos las reglas para el Correo Nacional:

Agregue lo que aparece a continuación, modifique lo que aparece resaltado según sus intereses y datos de red:

Editamos las reglas para el correo institucional o local:

Agregue lo que aparece a continuación, modificando lo que aparece resaltado en color balnco, según sus intereses y datos de red:

Declarando en el archivo de configuración de Postfix el uso de este filtrado:

En el apartado “RESTRICCIONES”, el fragmento relacionado con “smtpd_sender_restrictions =” descomentamos las líneas, quedando de la siguiente forma:

Descomente las siguientes opciones, dejándolas como se muestran:

Reiniciamos Postfix para aplicar los cambios:

Si tratamos de enviar un correo cualquiera (por ejemplo, con Thunderbird), con el usuario “u3.apellido” del grupo del AD DC para correo local, “Mail_Local”, al tratar de enviar un correo a cualquier dominio que no sea el de la empresa, el servidor nos debe devolver la siguiente respuesta:

Simulamos el caso de la entrada de un correo proveniente de una cuenta nacional a la cuenta de “u3.apellido” (hacemos telnet desde el relayhost):

Si, por el contrario, ubicamos a este usuario en el grupo de correo nacional “Mail_Nacional” y tratamos de enviar un correo a una dirección internacional, el servidor nos debe devolver la siguiente respuesta:

Esto se debe a que el usuario en cuestión pertenece al grupo “Mail_Nacional” y solo podrá enviar correos nacionales. En todos los casos, si se hacen estas mismas pruebas desde el webmail RainLoop, no devolverá ningún mensaje, dando solo “Error de envío” cuando es desde dentro hacia afuera. Los mensajes de respuesta del servidor solo podrán obaservarse en los logs del correo.

Simulamos el caso de un correo proveniente de internet a la cuenta del usuario de correo nacional:

Con estas pruebas comprobamos que las políticas de filtrado por categorías se encuentran funcionales.

4.2. Filtrado para el remitente y destinatario

Usted puede crear filtros adicionales en función de direcciones de correos o dominios conocidos los cuales no desea que sean recibidos en su servidor de correo.

Creando el fichero en “/etc/postfix/reglas/sender_checks.pcre” (remitente):

El archivo “sender_checks.pcre” va a contener todas las direcciones de correo, dominios o direcciones IP que se consideren, que no serán recibidas por su servidor de correo. A continuación, se ponen ejemplos. Adapte los mismos, según los criterios y políticas a seguir:

Creando un fichero en “/etc/postfix/reglas/recipient_checks.pcre” (destinatario):

El archivo “recipient_checks.pcre” va a contener todas las direcciones de correo, dominios o direcciones IP que se consideren, que no serán destinatarios válidos para el servidor de correo. Se debe notificar al remitente que su correo no será entregado. A continuación, se ponen ejemplos. Adapte los mismos, según los criterios y políticas a seguir:

Protección para la identificación de los clientes. Existen muchos spammers intentando usar direcciones IP literales, dominios locales o el propio nombre de dominio para ingresar mensajes, además de equipos/dominios que suelen escanear para pasarnos a una lista de “victimas potenciales”. Para ayudar a combatir esto, creamos el siguiente fichero:

Agregamos lo siguiente:

Para habilitar las reglas anteriores, editamos el fichero de configuración de Postfix:

En el apartado “RESTRICCIONES”, el fragmento relacionado con “smtpd_client_restrictions =” descomentamos las líneas resaltadas en color blanco:

En el apartado “RESTRICCIONES”, el fragmento relacionado con “smtpd_recipient_restrictions =” descomentamos las líneas resaltadas en color blanco:

Recargamos Postfix para que los cambios tengan efecto:

Cuando se intente escribir a las direcciones de correo del fichero “recipient_checks.pcre” recibiremos algo como lo siguiente:

Si un cliente de correo mal configurado, especificando el puerto 25 como servicio y STARTTLS, sin pertenecer a las redes confiables declaradas en el servidor, recibirá el siguiente mensaje de alerta:

Lo anterior puede entederse también como un spammer intentando usar una cuenta de correo local y sin autenticación.

4.3. Filtrado para encabezado, adjuntos y cuerpo del correo

En Postfix podemos filtrar el correo por el remitente, contenido, el título del correo, o adjuntos, entre otros. Para ello es necesario crear los ficheros con las expresiones adecuadas para filtrar en postfix y hacer un ajuste de configuración.

Creando fichero “/etc/postfix/reglas/header_checks.regexp” para el filtrado de cabeceras:

Agregamos dentro lo siguiente, y adaptamos a lo que se quiera en nuestra red:

Creamos el mapa del fichero:

Creando fichero “/etc/postfix/reglas/header_checks.pcre”, también para cabeceras:

Agregamos dentro lo siguiente, y adaptamos a lo que se quiera en nuestra red:

Creando fichero “/etc/postfix/reglas/adjuntos.regexp” para los adjuntos:

Agregamos dentro lo siguiente, y adaptamos a lo que se quiera en nuestra red:

Creamos el mapa del fichero:

Creando fichero “/etc/postfix/reglas/body_checks.regexp” para el cuerpo del correo:

Agregamos dentro lo siguiente, y adaptamos a lo que se quiera en nuestra red:

Creamos el mapa del fichero:

Editamos el fichero de configuración principal de Postfix para habilitar las reglas anteriores:

En el apartado “RESTRICCIONES”, descomentamos las líneas resaltadas en color blanco:

Recargamos Postfix para que los cambios tengan efecto:

Si trata de enviar un archivo con un nombre no permitido, le saldrá esto como respuesta en el cliente de correo externo:

Si tratamos de adjuntar un formato que no está entre los permitidos, obtendremos la siguiente alerta:

Se se envía una palabra escondida en el asunto, y que pueda ser detectada por el servidor, devolverá lo siguiente:

Si envía una de las frases que se encuentran restringidas para el cuerpo del mensaje, nos saldrá lo siguiente, como respuesta:

Entre otros ejemplos.

 

 

 

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

¡Haz clic en una estrella para puntuar!

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

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

Sobre Franco Diaz Hurtado 27 artículos
Ing. Telecomunicaciones y Electrónica; 1er Especialista en Redes de ECASA Nivel Central

3 comentarios

  1. Firefox 89.0 Firefox 89.0 Mac OS X  10.12 Mac OS X 10.12
    Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:89.0) Gecko/20100101 Firefox/89.0

    En el regexp file del filtro_nacional (/etc/postfix/reglas/filtro_nacional) faltan 2 espacios delante de las palabras RELAY y REJECT. Enmendar y borrar este comentario por favor.

  2. Firefox 95.0 Firefox 95.0 Windows 7 Windows 7
    Mozilla/5.0 (Windows NT 6.1; rv:95.0) Gecko/20100101 Firefox/95.0

    No me funciona el filtro en el caso de un correo proveniente de internet, todos los correos de internet el servidor los recibe, aunque el destinatario esté en el grupo Mail_Nacional.
    En mi escenario los correos los descargo con fetchmail, de un buzón en mi ISP que me brinda el servicio.

Dejar una contestacion

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