postfix SASL authentication failed - Erro interno de autenticação

3

Recentemente, tive que mudar os retransmissores SMTP do Cablevision para a Verizon. A Verizon bloqueia a porta 25, mas eles aceitarão SSL pela porta 465 (por isto ). Eu usei este e this para ter os dados de stunnnel forward postfix na porta 465.

Infelizmente, meu e-mail não está conseguindo. Eu recebo os seguintes erros no mail.log:

Sep  8 15:16:25 DServ postfix/qmgr[6178]: A9EF9480429: from=<[email protected]>, size=545, nrcpt=1 (queue active)
Sep  8 15:16:25 DServ postfix/smtp[6777]: A9EF9480429: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:12345, delay=231428, delays=231428/0.01/0.4/0, dsn=4.7.0, status=deferred (SASL authentication failed; server 127.0.0.1[127.0.0.1] said: 500 5.7.0 Unknown AUTH error -1 (Internal authentication error).)

O Dovecot emite mensagens, no entanto, nenhuma delas parece ser uma mensagem de erro. Eu também vi o seguinte:

Sep  8 17:26:26 DServ postfix/error[7112]: D0B944801A9: to=<[email protected]>, relay=none, delay=197679, delays=197679/0.01/0/0.03, dsn=4.7.0, status=deferred (delivery temporarily suspended: SASL authentication failed; server 127.0.0.1[127.0.0.1] said: 500 5.7.0 Unknown AUTH error -1 (Internal authentication error).)

no meu main.cf, eu tenho:

relayhost = [127.0.0.1]:12345
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

em / etc / postfix / sasl_passwd eu tenho

[127.0.0.1]:12345 [email protected]:MYPASSWORD

Eu corri:

sudo postmap hash:/etc/postfix/sasl_passwd
sudo service postfix restart

Se eu telnet localhost 12345 , posso acessar o servidor da verizon.

Qualquer ajuda seria muito apreciada! Obrigado.

EDITAR Por Costin abaixo, eu corri openssl e tenho:

CONNECTED(00000003)
3073435324:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:787:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 305 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

Parece que está reclamando sobre um protocolo desconhecido. Não tenho certeza de onde tirá-lo daqui.

ADIÇÃO A transcrição de telnet succussful:

telnet localhost 12345
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 vms173023pub.verizon.net -- Server ESMTP (Sun Java(tm) System Messaging Server 7u2-7.02 32bit (built Apr 16 2009))
EHLO verizon.net
250-vms173023pub.verizon.net
250-8BITMIME
250-PIPELINING
250-CHUNKING
250-DSN
250-ENHANCEDSTATUSCODES
250-HELP
250-XLOOP 80E3E78D42E6EE2FDAB2C28EB1AA64CD
250-AUTH DIGEST-MD5 PLAIN LOGIN CRAM-MD5
250-AUTH=LOGIN PLAIN
250-ETRN
250-NO-SOLICITING
250 SIZE 20971520
AUTH LOGIN
334 VXNlcm5hbWU6
MYUSERNAME-IN-64
334 UGFzc3dvcmQ6
MYPASSWORD-IN-64
235 2.7.0 LOGIN authentication successful.
    
por Mark Kasson 09.09.2014 / 00:38

2 respostas

3

Eu trouxe alguém para dentro e, após alguns exames e testes, adicionamos smtp_sasl_mechanism_filter = login a main.cf . Isso esclareceu tudo.

Ele explicou que força o postfix a fazer o AUTH LOGIN (que eu estava fazendo manualmente durante o teste via telnet). documento smtp_sasl_mechanism_filter

Eu assisti com tail -F /var/log/mail.log e os e-mails estavam saindo. mailq runs mostrou uma fila decrescente e foi bom.

Obrigado, tudo!

P.S. Mais três notas:

1) Eu removi smtp_sasl_security_options = noanonymous . Isso pode ter sido na direção certa, mas não foi feito.

2) Eu não precisei usar smtp_generic_maps .

Um dos artigos usou ambos (e Costin sugeriu smtp_sasl_security_options também).

3) Este artigo foi útil para mostrar como obter a senha do Base64 para fazer login manualmente com telnet com perl -MMIME::Base64 -e 'print encode_base64("john\@example.com%code%john\@example.com%code%password")';

    
por 09.09.2014 / 15:01
0

Tente adicionar isso ao seu main.cf

smtp_sasl_security_options = noanonymous

depois recarregue a configuração do postfix

Além disso, depois de fazer telnet para o localhost, tente usar as etapas descritas aqui para testar a conectividade do smtp auth à verizon: link

Substitua o comando telnet mailserver.com 25 do artigo por telnet localhost 12345

Alguns howtos omitem mencionar que você precisa ter o pacote libsasl2-modules instalado. Por favor, verifique se ele está instalado e instale-o, se não estiver.

    
por 09.09.2014 / 01:18

Tags