Embora eu tenha encontrado duas respostas para isso, não consigo descobrir como realmente implementá-las, e pelo menos uma delas não responde à pergunta. Então, se alguém tiver alguma experiência para compartilhar eu ficaria muito grato.
Eu tenho um servidor (Ubuntu 18.04) executando o Postfix. Eu já estou limitando a taxa de remetentes SASL usando postfwd, e usando e outras coisas para escanear e-mails de saída da máquina/rede local (por exemplo, de servidores web) usando o Amavis. Está tudo bem, e se parece com isso em main.cf:
smtpd_sender_restrictions =
check_client_access cidr:/etc/postfix/internal_clients_filter,
permit_mynetworks,
reject_unknown_sender_domain
e em 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
Como faço para colocar remetentes SASL (que, por definição, não estão na minha rede) por meio de uma verificação de spam e malware da mesma forma que estou fazendo para remetentes locais?
A resposta para isso, um tanto embaraçoso, foi que os usuários SASL-auth estavam sendo filtrados. No entanto, eu não havia especificado a
syslog_name
para o ouvinte smtpd no master.cf, então não estava vendo evidências de que isso funcionasse em todo o ruído (os remetentes de autenticação SASL talvez sejam 1% de todo o tráfego no log).Então, como penitência, a seguir está uma descrição completa da minha configuração agora ligeiramente alterada, que passa tanto e-mails de saída (por exemplo, aplicativos da web na rede local) quanto contas autenticadas por SASL enviando e-mails de redes externas arbitrárias por meio de nosso servidor de e-mail.
Usando o Ubuntu 18.04 com pacotes de ações, salvo indicação em contrário:
Primeiramente, precisei adicionar o usuário clamav ao mesmo grupo do amavis:
Alterações nos
/etc/amavis/conf.d
arquivos:05-domain_id
15-content_filter_mode : habilita a verificação de spam e antivírus
20-debian_defaults : Defina e crie o diretório de quarentena (de propriedade de amavis user+group) e defina
final_spam_destiny
comoD_DISCARD
40-policy_banks :
Em Postfix main.cf :
/etc/postfix/internal_clients_filter :
Em master.cf
Recarregue amavis e postfix para obter novas configurações. Procure por "amavis-reentry" em seus logs e você deverá ver os resultados da filtragem.