Como habilitar a verificação de RBL no postfix?

4

Como habilitar filtros RBL no postfix?

Minha configuração atual:

submission inet n       -       n       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
  -o smtpd_helo_restrictions=
  -o smtpd_sender_restrictions=reject_sender_login_mismatch,permit
  -o receive_override_options=no_header_body_checks,no_address_mappings
  -o smtpd_sender_restrictions=permit_sasl_authenticated,reject
  -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject

Os e-mails estão sendo enviados e recebidos.

Quando eu adiciono:

reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client bl.spamcop.net

O Thunderbird faz um loop para sempre durante o envio e nada acontece. /var/log/mail.* está vazio.

    
por Sfisioza 22.01.2015 / 15:06

2 respostas

8

Sua declaração reject_rbl_client vai para a declaração smtpd_recipient_restrictions encontrada em main.cf. Para minhas máquinas CentOS, está em / etc / postfix /. O código que você postou tende a aparecer no master.cf. Esse é um arquivo diferente em conjunto.

Esta é a aparência da minha definição smtpd_recipient_restrictions:

smtpd_recipient_restrictions =
        permit_mynetworks,
        permit_sasl_authenticated,
        reject_unauth_destination
        reject_unauth_pipelining,
        check_client_access hash:/etc/postfix/rbl_override,
        reject_unknown_reverse_client_hostname,
        reject_invalid_helo_hostname,
        reject_non_fqdn_helo_hostname,
        reject_non_fqdn_sender,
        reject_non_fqdn_recipient,
        reject_unknown_sender_domain,
        reject_unknown_recipient_domain,
        reject_invalid_hostname,
        check_client_access hash:/etc/postfix/client_checks,
        reject_rbl_client zen.spamhaus.org,
        reject_rbl_client bl.spamcop.net,
        reject_rbl_client b.barracudacentral.org,
        reject_rbl_client dnsbl.sorbs.net,
        check_policy_service unix:private/policy,
        permit
    
por 22.01.2015 / 15:18
6

Como os outros disseram, você coloca reject_rbl_client no lugar errado. Defina-o na linha smtpd master.cf ou em main.cf .

Se o seu postfix tiver a versão 2.8 mais alta, você poderá colocar a verificação da RBL em postscreen . Você pode obter mais informações na página do Howto da Postscreen .

Por exemplo, a configuração equivalente de

reject_rbl_client sbl-xbl.spamhaus.org,
reject_rbl_client bl.spamcop.net

em termos posteriores é

postscreen_dnsbl_sites = sbl-xbl.spamhaus.org, bl.spamcop.net
postscreen_dnsbl_action = enforce

Algumas considerações em que você coloca rbl check, smtpd _ * _ restriction ou postscreen

Profissionais do Postcreen

  • Verifique antes de qualquer transação SMTP porque a entrada era apenas endereço IP
  • Use o mecanismo de cache quando o endereço IP não é encontrado na RBL
  • Suporte pontuação ponderada para o site dnsbl (por exemplo, sua RBL interna era mais confiável do que spamhaus RBL, então você pode colocar postscreen_dnsbl_sites = internal.rbl.example.com*3, spamhaus.org )
  • O peso pode ser um valor negativo para obter o mesmo efeito com permit_dnswl_client

Contras do Postcreen

Veja Sebix resposta para esta questão e um tópico na lista de discussão postfix

    
por 23.01.2015 / 03:11