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

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

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

Eu executo o servidor iRedMail (está usando stock debian 7/wheezy, postfix 2.9.6-2) para meu domínio e algumas dezenas de domínios de clientes. O problema é que tenho um cliente que não consegue enviar e-mail para mim mesmo (não apenas meu e-mail, mas todo o domínio) - ele é rejeitado devido, reject_non_fqdn_helo_hostnamemas o cliente está usando SMTP AUTH e está configurado corretamente, portanto, deve ignorar a verificação de FQDN. Parece que o MUA não está usando SMTP AUTH apenas para meus endereços de e-mail e meus coleaques.

Alguém viu isso antes? Como posso solucionar esse problema? Qualquer contribuição é muito apreciada!

Será que está conectado ao MUA? Ela está usando o Outlook (não o Express)?

Dê uma olhada nos seguintes trechos de registros mostrando diferentes situações. Tudo foi capturado na mesma configuração/mesmos MUA/IP's, ...:

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

28 de maio 13:02:13 email2 postfix/smtpd[1191]: conectar de <censurado>
28 de maio 13:02:13 email2 postfix/smtpd[1191]: 28A5D35E61DC: client=<censored>, sasl_method=LOGIN, sasl_username=<[e-mail protegido]>
28 de maio 13:02:26 email2 postfix/limpeza[1435]: 28A5D35E61DC: message-id=<006c01ce5b92$d33805e0$79a811a0$@cz>
28 de maio 13:02:44 email2 postfix/qmgr[376]: 28A5D35E61DC: de=<[e-mail protegido]>, tamanho=4392922, nrcpt=7 (fila ativa)
28 de maio 13:02:44 email2 postfix/smtp[1580]: 28A5D35E61DC: to=<[e-mail protegido]>, relé=127.0.0.1[127.0.0.1]:10024, atraso=32, atrasos=31/0/0/0.88, dsn=2.0.0, status=enviado (250 2.0.0 do MTA(smtp:[127.0 .0.1]:10025): 250 2.0.0 Ok: na fila como B061435E61DE)
28 de maio 13:02:47 email2 postfix/qmgr[376]: 28A5D35E61DC: removido

2) está tudo bem: meu cliente envia email para conta local (coleque dela); ela está usando SMTP AUTH

28 de maio 13:06:18 email2 postfix/smtpd[2519]: conectar de <censurado>
28 de maio 13:06:18 email2 postfix/smtpd[2519]: 49CE735E61D4: client=<censored>, sasl_method=LOGIN, sasl_username=<[e-mail protegido]>
28 de maio 13:06:18 email2 postfix/limpeza[429]: 49CE735E61D4: message-id=<007201ce5b93$5df069c0$19d13d40$@cz>
28 de maio 13:06:19 email2 postfix/qmgr[376]: 49CE735E61D4: de=<[e-mail protegido]>, tamanho=10875, nrcpt=1 (fila ativa)
28 de maio 13:06:19 email2 postfix/smtp[2295]: 49CE735E61D4: to=<[e-mail protegido]>, relé=127.0.0.1[127.0.0.1]:10024, atraso=1,6, atrasos=1,2/0/0/0,43, dsn=2.0.0, status=enviado (250 2.0.0 do MTA(smtp:[127.0 .0.1]:10025): 250 2.0.0 Ok: na fila como CC61F35E61D7)
28 de maio 13:06:19 email2 postfix/qmgr[376]: 49CE735E61D4: removido

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

28 de maio 13:04:38 email2 postfix/smtpd[1433]: conectar de <censurado>
28 de maio 13:04:38 email2 postfix/smtpd[1433]: NOQUEUE: rejeitar: RCPT de <censurado>: 554 5.7.1 <meu_email>>: Endereço do destinatário rejeitado: HELO/EHLO inválido; Deve ser um FQDN ou um endereço literal, não 'xxx'; de=<[e-mail protegido]> to=<meu_endereço> proto=ESMTP helo=
28 de maio 13:04:41 email2 postfix/smtpd[1433]: desconectar de <censurado>

Parte da configuração do postfix:

smtpd_sender_restrictions = permit_mynetworks,
                            rejeitar_autenticado_sender_login_mismatch,
                            permit_sasl_authenticated
smtpd_recipient_restrictions = rejeitar_unknown_sender_domain,
                               rejeitar_destinatário_desconhecido_domínio,
                               rejeitar_non_fqdn_sender,
                               rejeitar_non_fqdn_recipient,
                               rejeitar_destinatário_não listado,
                               check_policy_service inet:127.0.0.1:7777,
                               check_policy_service inet:127.0.0.1:10031,
                               permitir_minhasredes,
                               permit_sasl_authenticated,
                               rejeitar_unauth_destination
smtpd_helo_restrictions = permit_mynetworks,
                          permit_sasl_authenticated,
                          rejeitar_non_fqdn_helo_hostname,
                          rejeitar_invalid_helo_hostname,
                          check_helo_access pcre:/etc/postfix/helo_access.pcre

Veja a saída depós-confidenciaegato principal.cfg

Responder1

HELO/EHLO aconteceantesa 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álidoanteschegando à parte SMTP AUTH.

Embora manter essa rejeição reduza parte do spam, também bloqueará vários e-mails legítimos. Você deve dar uma olhada mais de perto na documentação do Postfix pararejeitar_invalid_helo_hostnameesmtp_helo_restrictionspara descobrir como você deseja que isso funcione.

Responder2

Você smtpd_recipient_restrictionsestá bem presumindo que todos os seus clientes estão se comportando bem. Como eles não estão (não estão enviando HELO correto), você deve 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 arquivo smtpd_recipient_restrictions. DesdeHELO 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, já que você pode fazer tudo lá, evita repetir coisas e a sobrecarga de rede de conexões que teriam sido encerradas após o helo não é substancial.

Responder3

O problema estava no policyd (cluebringer)... não foi visto no log à primeira vista, que a rejeição não era da restrição do postfix, mas sim do policyd.

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 resolvi esvaziar os internal_domains e tudo funciona como esperado agora.

Obrigado por toda sua ajuda!

informação relacionada