Rastrear a causa de um erro "Endereço de destinatário rejeitado: acesso negado" do Postfix

6

Estamos a ter uma situação em que os emails de entrada de uma empresa específica para destinatários legítimos estão a ser ignorados com "Endereço de destinatário rejeitado: acesso negado":

Aug 23 09:15:27 extranet postfix/smtpd[20228]: NOQUEUE: reject: RCPT from sender.com[8.9.10.11]: 554 5.7.1 <[email protected]>: Recipient address rejected: Access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mg01d1.sender.com>

postconf -d | grep mail_version

mail_version = 2.7.1

postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
allow_percent_hack = no
allow_untrusted_routing = yes
append_dot_mydomain = no
biff = no
bounce_queue_lifetime = 24h
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
delay_warning_time = 4h
disable_vrfy_command = yes
html_directory = /usr/share/doc/postfix/html
inet_interfaces = all
mailbox_size_limit = 0
maximal_queue_lifetime = 24h
mydestination = mail.example.com, extranet.example.com, localhost
myhostname = mail.example.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = /usr/share/doc/postfix
recipient_delimiter = +
relay_domains = $mydestination
relayhost = 
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_data_restrictions = reject_unauth_pipelining, permit
smtpd_helo_required = yes
smtpd_recipient_restrictions = reject_non_fqdn_recipient, permit_mynetworks, reject_unauth_destination, check_recipient_access hash:/etc/postfix/access,    reject_non_fqdn_sender, check_sender_access hash:/etc/postfix/sender_access,    reject_non_fqdn_hostname, reject_invalid_hostname, check_helo_access hash:/etc/postfix/helo_access, reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net, permit
smtpd_sasl_auth_enable = no
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/ssl/certs/mail.example.com.2013.chain.pem
smtpd_tls_key_file = /etc/ssl/private/example.2013.key
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
smtpd_use_tls = no
virtual_alias_domains = example.co.uk, example.co
virtual_alias_maps = hash:/etc/postfix/virtual, ldap:/etc/postfix/ldap_virtual_alias_maps.cf, ldap:/etc/postfix/ldap_virtual_groups.cf
virtual_mailbox_domains = ldap:/etc/postfix/ldap_virtual_domains.cf
virtual_mailbox_maps = ldap:/etc/postfix/ldap_virtual_mailbox_maps.cf
virtual_transport = dovecot

Agora, só usamos smtpd_recipient_restrictions porque somos bastante específicos sobre a ordem em que as restrições de cliente, helo e destinatário são aplicadas. Mas, pelo meu entendimento (obviamente limitado), a única diretiva lá que deveria estar gerando esse erro é a diretiva check_recipient_access hash:/etc/postfix/access , mas esse arquivo é usado apenas para bloquear alguns endereços comumente spam em um dos nossos domínios alias virtuais:

[email protected]   REJECT Recipient address rejected. This domain name is only an alias. Please email postmaster @ the primary domain or the mail server hostname.
[email protected]        REJECT Recipient address rejected. This domain name is only an alias. Please email abuse @ the primary domain or the mail server hostname.
[email protected]  REJECT Recipient address rejected. This domain name is only an alias. Please email support @ the primary domain or the mail server hostname.

/etc/postfix/sender_access está vazio (em espera) e helo_access contém apenas:

extranet.example.com        REJECT You are not me
www.example.com     REJECT You are not me
mail.example.com        REJECT You are not me

Todas as outras diretivas parecem estar corretamente preenchidas, ou pelo menos eu estaria esperando um erro diferente, como Helo command rejected , User unknown in virtual mailbox table , Service unavailable; Client host [2.3.4.5] blocked using zen.spamhaus.org , etc.

Onde devo procurar em breve para ver porque estou a receber "Endereço de destinatário rejeitado: acesso negado"? Alguma dessas outras diretivas em smtpd_recipient_restrictions emitirá esse erro em caso de falha?

    
por jaydisc 23.08.2013 / 02:16

2 respostas

2

O servidor de envio de e-mail estava enviando e-mail na porta 465 por algum motivo, o que estava chamando um conjunto diferente de smtpd_recipient_restrictions, o mais simples:

smtps     inet  n       -       -       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o broken_sasl_auth_clients=yes
  -o content_filter=
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING

Naturalmente, o servidor SMTP não estava sendo autenticado, portanto, o Endereço do Destinatário foi rejeitado com o Acesso Negado.

Devo aceitar entrega local não autenticada acima de 465? Eu certamente não penso assim.

    
por 24.08.2013 / 01:42
0

Você está recebendo e-mails endereçados a um usuário @example.com , mas você não configurou o Postfix para este domínio! No seu virtual_alias_domains apenas example.co.uk e example.co estão presentes. Assim, o Postfix acha que é não deveria aceitar e-mail para este domínio e trata-o como uma situação de revezamento (o que, é claro, é negado ).

    
por 23.08.2013 / 17:23

Tags