Herramientas de usuario

Herramientas del sitio


es:buster:email:filtering:amavisd_new



5.3.1 amavisd-new

Objetivo

Integrar un sistema de filtros en el servidor smtp.

Después de la configuración, en el momento en que el servidor smtp (postfix) reciba un e-mail, va a enviarlo al sistema de filtros (amavisd-new) que invocará diversos filtros y alterará los encabezados de acuerdo con los resultados, para devolverlo luego al servidor smtp.

Instalación

root@server:~# apt install amavisd-new

El paquete amavisd-new sugiere la instalación de otros paquetes, necesarios para analizar archivos comprimidos, con el fin de que su contenido sea examinado:

root@server:~# apt install arc arj bzip2 cabextract lhasa lzop nomarch p7zip-full pax ripole rpm tnef unrar-free unzip zip zoo

Configuración

La configuración consiste en indicarle al servidorsmtp (postfix) para que envíe los e-mail al sistema de filtros y los vuela a recibir luego de su análisis. Para esto, debe modificar el archivo /etc/postfix/main.cf:

Primeiro instruir o postfix para enviar os emails para o amavisd-new, o que é feito no ficheiro /etc/postfix/main.cf:

# [...]

#
# amavisd-new scanner
# See: https://amavis.org/README.postfix.html#filter_global
#
content_filter = amavis-filter:[127.0.0.1]:10024
receive_override_options = no_address_mappings

Luego, debe configurar el postfix o servicio para que reciba los e-mails filtrados por amavisd-new, lo que se configura en el archivo /etc/postfix/master.cf:

# [...]

#
# amavisd-new scanner
#

# AV scan filter (used by content_filter)
# See: https://amavis.org/README.postfix.html#basics_transport_smtp-client
amavis-filter   unix    -   -   n   -   2   smtp
  -o smtp_data_done_timeout=1200
  -o smtp_send_xforward_command=yes
  -o disable_dns_lookups=yes
  -o max_use=20

# For injecting mail back into postfix from the filter
# See: https://amavis.org/README.postfix.html#basics_smtpd-daemon
127.0.0.1:10025 inet    n  -   n   -   -    smtpd
  -o content_filter=
  -o smtpd_delay_reject=no
  -o smtpd_client_restrictions=permit_mynetworks,reject
  -o smtpd_helo_restrictions=
  -o smtpd_sender_restrictions=
  -o smtpd_recipient_restrictions=permit_mynetworks,reject
  -o smtpd_data_restrictions=reject_unauth_pipelining
  -o smtpd_end_of_data_restrictions=
  -o smtpd_restriction_classes=
  -o mynetworks=127.0.0.0/8
  -o smtpd_error_sleep_time=0
  -o smtpd_soft_error_limit=1001
  -o smtpd_hard_error_limit=1000
  -o smtpd_client_connection_count_limit=0
  -o smtpd_client_connection_rate_limit=0
  -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters
  -o local_header_rewrite_clients=

Reiniciar el servicio SMTP:

root@server:~# systemctl restart postfix

Verificación

Debe asegurar que los servicios funcionen:

root@server:~# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
# [...]
tcp        0      0 localhost:10024         *:*                     LISTEN     3672/amavisd (maste
tcp        0      0 localhost:10025         *:*                     LISTEN     3759/master
# [...]

Comprobar que amavisd-new acepte conexiones:

root@server:~# telnet 127.0.0.1 10024
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 [127.0.0.1] ESMTP amavisd-new service ready
quit
221 2.0.0 [127.0.0.1] amavisd-new closing transmission channel
Connection closed by foreign host.

Comprobar también que postfix pueda recibir de vuelta los mensajes filtrados:

root@server:~# telnet 127.0.0.1 10025
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 server.home.lan ESMTP Postfix (Debian/GNU)
quit
221 2.0.0 Bye
Connection closed by foreign host.

El sistema de filtros está operando. El paso siguiente debe ser la instalación y configuración de los filtros.

Referencias

es/buster/email/filtering/amavisd_new.txt · Última modificación: 2024-02-15 01:05 por 127.0.0.1

Excepto donde se indique lo contrario, el contenido de este wiki esta bajo la siguiente licencia: CC Attribution-Noncommercial-Share Alike 4.0 International
CC Attribution-Noncommercial-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki