Postfix: ¿Cómo escanear malware y spam a los usuarios de autenticación SMTP SASL salientes?

Postfix: ¿Cómo escanear malware y spam a los usuarios de autenticación SMTP SASL salientes?

Aunque he encontradodos respuestasAdemás de esto, no puedo entender cómo implementarlos realmente, y al menos uno de ellos no responde la pregunta. Entonces, si alguien tiene alguna experiencia para compartir, estaría muy agradecido.

Tengo un servidor (Ubuntu 18.04) que ejecuta Postfix. Ya estoy limitando la velocidad de los remitentes SASL usando postfwd y usando otras cosas para escanear el correo saliente desde la máquina/red local (por ejemplo, desde servidores web) usando Amavis. Todo eso está bien y se ve así en main.cf:

smtpd_sender_restrictions =
    check_client_access cidr:/etc/postfix/internal_clients_filter,
    permit_mynetworks, 
    reject_unknown_sender_domain

y en master.cf

senderCheck  unix  -       n       n       -       15       spawn
  user=nobody argv=/opt/policyd/src/policyd.pl  max_idle=30 max_use=50 daemon_timeout=50

127.0.0.1:10025 inet    n    -    n    -    -    smtpd
    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o smtpd_restriction_classes=
    -o smtpd_delay_reject=no
    -o smtpd_client_restrictions=
    -o smtpd_helo_restrictions=
    -o smtpd_sender_restrictions=
    -o mynetworks=127.0.0.0/8
    -o smtpd_data_restrictions=
    -o smtpd_end_of_data_restrictions=
    -o local_header_rewrite_clients=
    -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 smtpd_milters=
    -o local_recipient_maps=
    -o relay_recipient_maps=
    -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_address_mappings

¿Cómo hago para someter a los remitentes SASL (que por definición no están en mi red) a un análisis de spam y malware de la misma manera que lo hago con los remitentes locales?

Respuesta1

La respuesta a esto, un tanto embarazosa, fue que los usuarios de autenticación SASLeransiendo filtrado. Sin embargo, no había especificado un syslog_namepara el oyente smtpd en master.cf, por lo que no veía evidencia de que eso funcionara con todo el ruido (los remitentes de autenticación SASL son quizás el 1% de todo el tráfico en el registro).

Entonces, como penitencia, la siguiente es una descripción completa de mi configuración ahora ligeramente modificada, que pasa tanto el correo saliente (por ejemplo, aplicaciones web en la red local) como las cuentas autenticadas por SASL que envían correo desde redes externas arbitrarias a través de nuestro servidor de correo.

Usar Ubuntu 18.04 con paquetes estándar a menos que se indique lo contrario:

En primer lugar, necesitaba agregar el usuario clamav al mismo grupo que amavis:

$ id clamav
uid=115(clamav) gid=115(clamav) groups=115(clamav),126(amavis)

Cambios en /etc/amavis/conf.darchivos:

05-id_dominio

@local_domains_acl = ( ".$mydomain" );

# I've got multiple IP addresses on my machine and only want one to be used for mail:
@inet_acl = qw(127.0.0.1 [::1] 185.73.x.x [2001:ba8:0:x::x]); 

15-modo_filtro_contenido: habilita la comprobación de spam y antivirus

20-debian_defaults: Establezca y cree un directorio de cuarentena (propiedad del usuario+grupo amavis) y configúrelo final_spam_destinyenD_DISCARD

40-póliza_bancos:

$interface_policy{'10024'} = 'INTERNAL'; 
$policy_bank{'INTERNAL'} = {  # mail originating from clients in cidr:/etc/postfix/internal_clients_filter
  bypass_spam_checks_maps   => [0],  # spam-check outgoing mail 
  bypass_banned_checks_maps => [0],  # banned-check outgoing mail 
  bypass_header_checks_maps => [0],  # header-check outgoing mail  
  forward_method => 'smtp:[127.0.0.1]:10025', # relay to Postfix listener on port 10025
};

En Postfix principal.cf:

smtpd_sender_restrictions =
    check_client_access cidr:/etc/postfix/internal_clients_filter,
    permit_mynetworks, 
    reject_unknown_sender_domain

/etc/postfix/filtro_clientes_internos:

0.0.0.0/0 FILTER smtp:127.0.0.1:10024
::/0 FILTER smtp:[::1]:10024

En maestro.cf

127.0.0.1:10025 inet    n    -    n    -    -    smtpd
    -o syslog_name=amavis-reentry
    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o smtpd_restriction_classes=
    -o smtpd_delay_reject=no
    -o smtpd_client_restrictions=
    -o smtpd_helo_restrictions=
    -o smtpd_sender_restrictions=
    -o mynetworks=127.0.0.0/8
    -o smtpd_data_restrictions=
    -o smtpd_end_of_data_restrictions=
    -o local_header_rewrite_clients=
    -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 smtpd_milters=
    -o local_recipient_maps=
    -o relay_recipient_maps=
    -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_address_mappings

Vuelva a cargar amavis y postfix para obtener nuevas configuraciones. Busque "amavis-reentry" en sus registros y debería ver los resultados del filtrado.

información relacionada