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_name
para 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.d
archivos:
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_destiny
enD_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.