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.

samba-tool group add "Mail_Nacional" \
--groupou="OU=Grupos" \
--description="Grupo para usuarios con Correo Nacional"

samba-tool group add "Mail_Local" \
--groupou="OU=Grupos" \
--description="Grupo para usuarios con Correo Local"

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

samba-tool group addmembers "Mail_Nacional" usuario2.apellido
samba-tool group addmembers "Mail_Local" usuario3.apellido

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

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:
nano /etc/postfix/ldap/nacional_in.cf

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

server_host = dc1.empresa.midominio.cu
server_port = 389
version = 3
bind = yes
start_tls = no
bind_dn = EMPRESA\administrator
bind_pw = Admin*123
search_base = ou=Usuarios,dc=empresa,dc=midominio,dc=cu
query_filter = (&(memberOf=cn=Mail_Nacional,ou=Grupos,dc=empresa,dc=midominio,dc=cu)(mail=%s))
result_attribute = mail
result_format = mail_nacional_in
debuglevel = 0
  • Mapeo de usuarios de Correo Nacional para correo de salida:
nano /etc/postfix/ldap/nacional_out.cf

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

server_host = dc1.empresa.midominio.cu
server_port = 389
version = 3
bind = yes
start_tls = no
bind_dn = EMPRESA\administrator
bind_pw = Admin*123
search_base = ou=Usuarios,dc=empresa,dc=midominio,dc=cu
query_filter = (&(memberOf=cn=Mail_Nacional,ou=Grupos,dc=empresa,dc=midominio,dc=cu)(mail=%s))
result_attribute = mail
result_format = mail_nacional_out
debuglevel = 0
  • Mapeo de usuarios de Correo Local para correo de entrada:
nano /etc/postfix/ldap/local_in.cf

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

server_host = dc1.empresa.midominio.cu
server_port = 389
version = 3
bind = yes
start_tls = no
bind_dn = EMPRESA\administrator
bind_pw = Admin*123
search_base = ou=Usuarios,dc=empresa,dc=midominio,dc=cu
query_filter = (&(memberOf=cn=Mail_Local,ou=Grupos,dc=empresa,dc=midominio,dc=cu)(mail=%s))
result_attribute = mail
result_format = local_in
debuglevel = 0
  • Mapeo de usuarios de Correo Local para correo de salida:
nano /etc/postfix/ldap/local_out.cf

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

server_host = dc1.empresa.midominio.cu
server_port = 389
version = 3
bind = yes
start_tls = no
bind_dn = EMPRESA\administrator
bind_pw = Admin*123
search_base = ou=Usuarios,dc=empresa,dc=midominio,dc=cu
query_filter = (&(memberOf=cn=Mail_Local,ou=Grupos,dc=empresa,dc=midominio,dc=cu)(mail=%s))
result_attribute = mail
result_format = local_out
debuglevel = 0

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

mkdir /etc/postfix/reglas

Editamos las reglas para el Correo Nacional:

nano /etc/postfix/reglas/filtro_nacional

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

/.*\@*.cu/
RELAY

/^\@/
REJECT "550 Invalid / Formato invalido"

/[!%\@=].*\@/
REJECT "550 Syntax Error / Error de sintaxis"

/.*\@.*/
REJECT "550 Sorry this user has no international access / Lo sentimos, pero este usuario no tiene correo internacional"

/\<\>/
RELAY

Editamos las reglas para el correo institucional o local:

nano /etc/postfix/reglas/filtro_local

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

/.*\@empresa.midominio.cu/
  RELAY

/^\@/
  REJECT "550 Invalid Format / Formato invalido"

/[!%\@=].*\@/
  REJECT "550 Syntax Error / Error de sintaxis"

/.*\@.*/
  REJECT "550 Sorry, this user has only local domain access / Lo siento, este usuario solo tiene acceso al dominio local"

/\<\>/
  RELAY

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

nano /etc/postfix/main.cf

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

# [...]
smtpd_sender_restrictions =
  # [...]
  check_recipient_access ldap:${config_directory}/ldap/nacional_in.cf,
  check_sender_access ldap:${config_directory}/ldap/nacional_out.cf,
  check_recipient_access ldap:${config_directory}/ldap/local_in.cf,
  check_sender_access ldap:${config_directory}/ldap/local_out.cf,
  # [...]

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

# [...]
smtpd_restriction_classes =
  mail_nacional_in,
  mail_nacional_out,
  mail_local_in,
  mail_local_out

# [...]
mail_nacional_in = check_sender_access regexp:${config_directory}/reglas/filtro_nacional

# [...]
mail_nacional_out = check_recipient_access regexp:${config_directory}/reglas/filtro_nacional

# [...]
mail_local_in = check_sender_access regexp:${config_directory}/reglas/filtro_local

# [...]
mail_local_out = check_recipient_access regexp:${config_directory}/reglas/filtro_local

Reiniciamos Postfix para aplicar los cambios:

systemctl restart postfix.service

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):

telnet mail.empresa.midominio.cu 25
Trying 192.168.120.37...
Connected to mail.empresa.midominio.cu.
Escape character is '^]'.
220 mail.empresa.midominio.cu ESMTP
ehlo mail.empresa.midominio.cu
250-mail.empresa.midominio.cu
250-PIPELINING
250-SIZE 10485760
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-SMTPUTF8
250 CHUNKING
mail from: [email protected]
250 2.1.0 Ok
rcpt to: [email protected]
554 5.7.1 <[email protected]>: Sender address rejected: "550 Sorry, this user has only local domain access / Lo siento, este usuario solo tiene acceso al dominio local"

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:

telnet mail.empresa.midominio.cu 25
Trying 192.168.120.37...
Connected to mail.empresa.midominio.cu.
Escape character is '^]'.
220 mail.empresa.midominio.cu ESMTP
ehlo mail.empresa.midominio.cu
250-mail.empresa.midominio.cu
250-PIPELINING
250-SIZE 10485760
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-SMTPUTF8
250 CHUNKING
mail from: [email protected]
250 2.1.0 Ok
rcpt to: [email protected]
554 5.7.1 <[email protected]>: Sender address rejected: "550 Sorry this user has no international access / Lo sentimos, pero este usuario no tiene correo internacional"

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):

nano /etc/postfix/reglas/sender_checks.pcre

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:

# Rechazar cuando se usa un remitente del dominio, si se envia desde fuera del dominio y sin auth
# Cambiar por su dominio de correo
/\@(.+\.)*empresa\.midominio\.cu$/
  521 "Forged account / Cuenta falsificada"

/\@cibercuba\.com$/
  521 "Blacklisted / En lista negra"

/\@patriademarti\.com$/
  521 "Blacklisted / En lista negra"

/\@cubitanow\.com$/
  521 "Blacklisted / En lista negra"

/^informacionalcliente\@compra-dtodo\.com$/
  521 "Blacklisted / En lista negra"

/^no-reply\@tmweb\.ru$/
  521 "Blacklisted / En lista negra"

/^spameri\@tiscali\.it$/
  521 "Blacklisted / En lista negra"

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

nano /etc/postfix/reglas/recipient_checks.pcre

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:

/\@cibercuba\.com$/
  521 "En lista negra"

/\@patriademarti\.com$/
  521 "En lista negra"

/\@cubitanow\.com$/
  521 "En lista negra"

/^informacionalcliente\@compra-dtodo\.com$/
  521 "En lista negra"

/^no-reply\@tmweb\.ru$/
  521 "En lista negra"

/^spameri\@tiscali\.it$/
  521 "En lista negra"

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:

nano /etc/postfix/reglas/helo_checks.pcre

Agregamos lo siguiente:

# Rechazar si un cliente SMTP remoto (que no sea de la red) usa un nombre de equipo del dominio
# Cambiar por su nombre de dominio
/^(.+\.)*empresa\.midominio\.cu$/
  521 "Forged hostname / Nombre de equipo falsificado"

/^(.+\.)*bezeqint\.net$/
  521 "Blacklisted / En lista negra"

/^(.+\.)*censys\-scanner\.com$/
  521 "Blacklisted / En lista negra"

/^(.+\.)*dyndns\.info$/
  521 "Blacklisted / En lista negra"

/^(.+\.)*emkei\.cz$/
  521 "Blacklisted / En lista negra"

/^(.+\.)*ip(\-[0-9]+){1,}\.eu$/
  521 "Blacklisted / En lista negra"

/^(.+\.)*mail\.port25\.com$/
  521 "Blacklisted / En lista negra"

/^(.+\.)*parking\.ru$/
  521 "Blacklisted / En lista negra"

/^(.+\.)*stretchoid\.com$/
  521 "Blacklisted / En lista negra"

/^(.+\.)+(adult|date|dating|love|ninja|porn|sexy?|singles|xxx)$/
  521 "Blacklisted / En lista negra"

/^(.+\.)*ampereinnotech\.com$/
  521 "Blacklisted / En lista negra"

/^(.+\.)*(throwaway|yop)mail\.com$/
  521 "Blacklisted / En lista negra"

/^(\[.*\]|[0-9\.:]+|[^\.]+)$/
  521 "Invalid / Inválido"

/^(.+\.)*(example|localhost)(\.[^\.]+)*$/
  521 "Invalid / Inválido"

/^(.+\.)+(arpa|corp|domain|example|home|internal|intranet|invalid|lan|local(domain|host)?|mail|onion|private|test)$/
  521 "Invalid / Inválido"

/^(.+\.)*(ampereinnotech|censys\-scanner|quadmetrics|stretchoid)\.com$/
  521 "Blacklisted / En lista negra"

/^(.+\.)*((blog|census[0-9]*|data|dns|malware\-hunter|private|www)\.)?shodan\.io$/
  521 "Blacklisted / En lista negra"

/^(\[.*\]|[0-9\.:]+|[^\.]+|[^\.]+\.[^\.]+)$/
  REJECT "Need fully-qualified hostname / Se necesita un FQDN como hostname"

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

nano /etc/postfix/main.cf

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

# [...]
smtpd_client_restrictions =
  # [...]
  check_sender_access pcre:${config_directory}/reglas/sender_checks.pcre,
  check_helo_access pcre:${config_directory}/reglas/helo_checks.pcre,
  # [...]

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

# [...]
smtpd_recipient_restrictions =
  # [...]
  check_recipient_access pcre:${config_directory}/reglas/recipient_checks.pcre
  # [...]

Recargamos Postfix para que los cambios tengan efecto:

systemctl reload postfix.service

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:

nano /etc/postfix/reglas/header_checks.regexp

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

# NOTA!!!: Este fichero requiere un "postmap"

#====================
# BODY_CHECKS.REGEXP
#====================

# El formato de cada liinea en el archivo es el siguiente:
# /contenido_a_analizar/ ACCION
# contenido_a_analizar: Va precedido por ".*" el cual inidica que no importa que caracteres habiia antes del contenido a analizar.
# ACCION "REJECT": Rechaza el mensaje antes de entrar al servidor de correo. Opcionalmente permite agregar una frase.
# ACCION "IGNORE": Elimina del encabezado la frase y continuaraa normalmente.
# ACCION "WARN": Deja pasar el correo y registra la alerta en "/var/log/mail.log". Se utiliza para testear reglas.
# ACCION "HOLD": Mantiene el correo en espera.
# ACCION "DISCARD": Descarta el mensaje sin notificacioon de falla al emisor, hacieendole creer que el enviio fue satisfactorio.
# ACCION "FILTER": Permite especificar otra instancia de Postfix. Luego de la palabra "FILTER" debe agregarse una liinea como en el archivo "transport".

/^Subject:.*v[_\.\*\-]+i[_\.\*\-]+r[_\.\*\-]+u[_\.\*\-]+s/
REJECT "Spam Header REGEXP-Rule #1: Palabra escondida en el Asunto"

/^Subject:.*vendo /
REJECT "Spam Header REGEXP-Rule #3: Palabra prohibida en el Asunto"

/^Subject:.*compro /
REJECT "Spam Header REGEXP-Rule #4: Palabra prohibida en el Asunto"

/^To:.*[email protected]/
REJECT "Destinatario restringido por el servidor"

Creamos el mapa del fichero:

postmap /etc/postfix/reglas/header_checks.regexp

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

nano /etc/postfix/reglas/header_checks.pcre

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

#====================
# HEADER_CHECKS.PCRE
#====================

/^Subject:\s*.*((my_)?(iphone|sexy)_photo|my_photo(_sexy)?)/ix
REJECT "SPAM Header PCRE-Rule #1:"Palabra prohibida en el Asunto"

/^Date:\s+.* (1[0-9]{3}|20[0-1][0-9]) .*/
REJECT "SPAM Header PCRE-Rule #2: Fecha invalida. Es posible que la hora de su PC esté mal o está adjuntando un correo con fecha anterior a 2020"

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

nano /etc/postfix/reglas/adjuntos.regexp

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

# NOTA!!!: Este fichero requiere un "postmap"

#====================
# BODY_CHECKS.REGEXP
#====================

# El formato de cada liinea en el archivo es el siguiente:
# /contenido_a_analizar/ ACCION
# contenido_a_analizar: Va precedido por ".*" el cual inidica que no importa que caracteres habiia antes del contenido a analizar.
# ACCION "REJECT": Rechaza el mensaje antes de entrar al servidor de correo. Opcionalmente permite agregar una frase.
# ACCION "IGNORE": Elimina del encabezado la frase y continuaraa normalmente.
# ACCION "WARN": Deja pasar el correo y registra la alerta en "/var/log/mail.log". Se utiliza para testear reglas.
# ACCION "HOLD": Mantiene el correo en espera.
# ACCION "DISCARD": Descarta el mensaje sin notificacioon de falla al emisor, hacieendole creer que el enviio fue satisfactorio.
# ACCION "FILTER": Permite especificar otra instancia de Postfix. Luego de la palabra "FILTER" debe agregarse una liinea como en el archivo "transport".

/filename=.*(iphone_photo|my_photo|my_iphone_photo|my_photo_sexy|my_sexy_photo)/
REJECT "SPAM Attachment REGEXP-Rule #1: El nombre del archivo adjuntado no esta permitido"

/filename=.*(jpg|png|gif|txt|docx?|pdf|xlsx?|pptx?|vsdx|rar|zip)/
OK

/filename=.*\.*/
REJECT "SPAM Attachment REGEXP-Rule #2: El formato adjuntado no esta permitido"

Creamos el mapa del fichero:

postmap /etc/postfix/reglas/adjuntos.regexp

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

nano /etc/postfix/reglas/body_checks.regexp

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

# NOTA!!!: Este fichero requiere un "postmap"

#====================
# BODY_CHECKS.REGEXP
#====================

# El formato de cada liinea en el archivo es el siguiente:
# /contenido_a_analizar/ ACCION
# contenido_a_analizar: Va precedido por ".*" el cual inidica que no importa que caracteres habiia antes del contenido a analizar.
# ACCION "REJECT": Rechaza el mensaje antes de entrar al servidor de correo. Opcionalmente permite agregar una frase.
# ACCION "IGNORE": Elimina del encabezado la frase y continuaraa normalmente.
# ACCION "WARN": Deja pasar el correo y registra la alerta en "/var/log/mail.log". Se utiliza para testear reglas.
# ACCION "HOLD": Mantiene el correo en espera.
# ACCION "DISCARD": Descarta el mensaje sin notificacioon de falla al emisor, hacieendole creer que el enviio fue satisfactorio.
# ACCION "FILTER": Permite especificar otra instancia de Postfix. Luego de la palabra "FILTER" debe agregarse una liinea como en el archivo "transport".

/servicios exportables /
  REJECT "SPAM Body REGEXP-Rule #1: Frase prohibida en el cuerpo del correo"

/lineas aereas de EE.UU /
  REJECT "SPAM Body REGEXP-Rule #2: Frase prohibida en el cuerpo del correo"

/directivas de negocios /
  REJECT "SPAM Body REGEXP-Rule #3: Frase prohibida en el cuerpo del correo"

/planes de riesgos /
  REJECT "SPAM Body REGEXP-Rule #4: Frase prohibida en el cuerpo del correo"

Creamos el mapa del fichero:

postmap /etc/postfix/reglas/body_checks.regexp

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

nano /etc/postfix/main.cf

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

# [...]
header_checks =
  regexp:${config_directory}/reglas/header_checks.regexp,
  pcre:${config_directory}/reglas/header_checks.pcre
# [...]
mime_header_checks = regexp:${config_directory}/reglas/adjuntos.regexp
# [...]
body_checks = regexp:${config_directory}/reglas/body_checks.regexp
# [...]

Recargamos Postfix para que los cambios tengan efecto:

systemctl reload postfix.service

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 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.

  2. 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.

Dejar una contestacion

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


*