Postfix: endereço do destinatário rejeitado: HELO / EHLO inválido

1

O problema parece ser o MS Outlook 2007 não enviar SMTP AUTH por algum motivo estranho para apenas um domínio específico.

Eu corro servidor iRedMail (ele está usando o estoque debian 7 / wheezy, postfix 2.9.6-2) para o meu domínio e algumas dezenas de domínios de clientes. O problema é que eu tenho um cliente incapaz de enviar e-mail para mim (não apenas meu e-mail, mas todo o domínio) - ele é rejeitado devido reject_non_fqdn_helo_hostname , mas o cliente está usando SMTP AUTH e ele está configurado corretamente, então deve ignorar o FQDN Verifica. Parece apenas que o MUA não está usando o SMTP AUTH apenas para os meus e meus endereços de email.

Alguém já viu isso antes? Como posso solucionar esse problema? Qualquer entrada é muito apreciada!

Poderia ser conectado ao MUA? Ela está usando o Outlook (não Express)?

Dê uma olhada nos snips de registros mostrando diferentes situações. Tudo foi capturado na mesma configuração / mesmo MUA / IP, ...:

1) está tudo bem: meu cliente envia e-mail para o servidor de terceiros; usando SMTP AUTH

May 28 13:02:13 email2 postfix/smtpd[1191]: connect from <censored>
May 28 13:02:13 email2 postfix/smtpd[1191]: 28A5D35E61DC: client=<censored>, sasl_method=LOGIN, sasl_username=<[email protected]>
May 28 13:02:26 email2 postfix/cleanup[1435]: 28A5D35E61DC: message-id=<006c01ce5b92$d33805e0$79a811a0$@cz>
May 28 13:02:44 email2 postfix/qmgr[376]: 28A5D35E61DC: from=<[email protected]>, size=4392922, nrcpt=7 (queue active)
May 28 13:02:44 email2 postfix/smtp[1580]: 28A5D35E61DC: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10024, delay=32, delays=31/0/0/0.88, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as B061435E61DE)
May 28 13:02:47 email2 postfix/qmgr[376]: 28A5D35E61DC: removed

2) está tudo bem: Meu cliente envia e-mail para conta local (coleque dela); ela está usando o SMTP AUTH

May 28 13:06:18 email2 postfix/smtpd[2519]: connect from <censored>
May 28 13:06:18 email2 postfix/smtpd[2519]: 49CE735E61D4: client=<censored>, sasl_method=LOGIN, sasl_username=<[email protected]>
May 28 13:06:18 email2 postfix/cleanup[429]: 49CE735E61D4: message-id=<007201ce5b93$5df069c0$19d13d40$@cz>
May 28 13:06:19 email2 postfix/qmgr[376]: 49CE735E61D4: from=<[email protected]>, size=10875, nrcpt=1 (queue active)
May 28 13:06:19 email2 postfix/smtp[2295]: 49CE735E61D4: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10024, delay=1.6, delays=1.2/0/0/0.43, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as CC61F35E61D7)
May 28 13:06:19 email2 postfix/qmgr[376]: 49CE735E61D4: removed

3) problema, email enviado para minha conta (mesmo servidor, mas domínio diferente), NÃO usando SMTP AUTH ???:

May 28 13:04:38 email2 postfix/smtpd[1433]: connect from <censored>
May 28 13:04:38 email2 postfix/smtpd[1433]: NOQUEUE: reject: RCPT from <censored>: 554 5.7.1 <my_email>>: Recipient address rejected: Invalid HELO/EHLO; Must be a FQDN or an address literal, not 'xxx'; from=<[email protected]> to=<my_address> proto=ESMTP helo=
May 28 13:04:41 email2 postfix/smtpd[1433]: disconnect from <censored>

Parte da configuração do postfix:

smtpd_sender_restrictions = permit_mynetworks,
                            reject_authenticated_sender_login_mismatch,
                            permit_sasl_authenticated
smtpd_recipient_restrictions = reject_unknown_sender_domain,
                               reject_unknown_recipient_domain,
                               reject_non_fqdn_sender,
                               reject_non_fqdn_recipient,
                               reject_unlisted_recipient,
                               check_policy_service inet:127.0.0.1:7777,
                               check_policy_service inet:127.0.0.1:10031,
                               permit_mynetworks,
                               permit_sasl_authenticated,
                               reject_unauth_destination
smtpd_helo_restrictions = permit_mynetworks,
                          permit_sasl_authenticated,
                          reject_non_fqdn_helo_hostname,
                          reject_invalid_helo_hostname,
                          check_helo_access pcre:/etc/postfix/helo_access.pcre

Veja a saída de postconf e cat main.cfg

    
por Kamil Šrot 28.05.2013 / 14:24

3 respostas

0

O problema estava no policyd (cluebringer) ... não foi visto do log para o primeiro olhar, que o rejeito não era da restrição do postfix, mas do policyd.

Plano de fundo

Eu tinha no grupo cluebringers internal_domains apenas meu domínio primário (após a instalação) e todos os novos domínios não estavam lá ... Para resolver o problema, decidi esvaziar o internal_domains e tudo funciona como esperado agora.

Obrigado por toda sua ajuda!

    
por 28.11.2013 / 14:30
0

HELO / EHLO acontece antes da autenticação SMTP. Se o seu servidor estiver configurado com reject_non_fqdn_helo_hostname = yes , ele rejeitará qualquer conexão com um nome de host inválido antes de chegar à parte SMTP AUTH.

Manter essa rejeição reduzirá o spam, mas também bloqueará vários e-mails legítimos. Você deve dar uma olhada mais de perto na documentação do Postfix para reject_invalid_helo_hostname e smtp_helo_restrictions para descobrir como você quer que isso funcione.

    
por 28.05.2013 / 14:47
0

Seu smtpd_recipient_restrictions está ok, supondo que todos os seus clientes estão se comportando bem. Já que eles não estão (não mandando o HELO correto), você deveria pelo menos ter algo como

smtpd_recipient_restrictions = reject_unknown_sender_domain, 
                               reject_unknown_recipient_domain, 
                               permit_sasl_authenticated, 
                               reject_non_fqdn_sender, 
                               reject_non_fqdn_recipient, 
                               reject_unlisted_recipient, 
                               check_policy_service inet:127.0.0.1:7777, 
                               check_policy_service inet:127.0.0.1:10031, 
                               permit_mynetworks, 
                               reject_unauth_destination

Melhor ainda:

smtpd_recipient_restrictions =
    check_recipient_access hash:/etc/postfix/access-recipient-rfc,
    check_client_access cidr:/etc/postfix/access-client,
    check_helo_access hash:/etc/postfix/access-helo,
    check_sender_access hash:/etc/postfix/access-sender,
    check_recipient_access hash:/etc/postfix/access-recipient,
    permit_mynetworks,
    permit_sasl_authenticated, 
    reject_unknown_sender_domain,
    reject_non_fqdn_sender,
    reject_unknown_recipient_domain,
    reject_non_fqdn_recipient,
    reject_rbl_client zen.spamhaus.org,
    reject_rbl_client ix.dnsbl.manitu.net,
    # greylisting
    check_policy_service inet:127.0.0.1:10023,
    # policyd-weight
    check_policy_service inet:127.0.0.1:12525,
    reject_unauth_destination,
    reject_unverified_recipient,
    permit

Além disso, você deve integrar todas as restrições no smtpd_recipient_restrictions . Como a HELO vem antes da autenticação SASL , não adianta permitir a autenticação SASL no smtpd_helo_restrictions .

Em geral, é uma boa prática usar apenas smtpd_recipient_restrictions , pois você pode fazer tudo lá, isso evita que você repita coisas, e a sobrecarga de rede das conexões que seriam terminadas após o helo não é substancial.

    
por 28.05.2013 / 14:52