Postfix: Como verificar malware e spam de usuários de autenticação SMTP SASL de saída?

Postfix: Como verificar malware e spam de usuários de autenticação SMTP SASL de saída?

Embora eu tenha encontradodois respostaspara isso, não consigo descobrir como realmente implementá-los e pelo menos um deles 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) rodando Postfix. Já estou limitando a taxa de remetentes SASL usando postfwd e usando outras coisas para verificar e-mails enviados da máquina/rede local (por exemplo, de servidores web) usando Amavis. Está tudo bem e fica assim 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 faço para remetentes locais?

Responder1

A resposta para isso, de forma um tanto embaraçosa, foi que os usuários do SASL-autheramsendo filtrado. No entanto, eu não havia especificado um syslog_namepara o ouvinte smtpd em master.cf, então não estava vendo evidências de que isso funcionava com todo o ruído (os remetentes de autenticação SASL são talvez 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 transmite tanto e-mails de saída (por exemplo, aplicativos da web na rede local) quanto contas autenticadas por SASL que enviam e-mails de redes externas arbitrárias por meio de nosso servidor de e-mail.

Usando o Ubuntu 18.04 com pacotes de estoque, salvo indicação em contrário:

Primeiramente, precisei adicionar o usuário clamav ao mesmo grupo do amavis:

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

Mudanças nos /etc/amavis/conf.darquivos:

05-domain_id

@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-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 do usuário + grupo amavis) e defina final_spam_destinycomoD_DISCARD

40-policy_banks:

$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
};

No Postfix main.cf:

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

/etc/postfix/internal_clients_filter:

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

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

Recarregue o amavis e o postfix para obter novas configurações. Procure por "amavis-reentry" em seus logs e você verá os resultados da filtragem.

informação relacionada