SMTP protocol synchronization error (input sent without waiting for greeting): rejected connection from H=localhost [127.0.0.1] input=”\026\003\001\002″

image_pdfimage_print

Ao perceber no log do servidor este erro, quando se analisa o software cliente, é possível que o servidor não suporte tentativa de login criptografada e o cliente esteja configurado para efetuar a operação utilizando este meio de segurança. Então é possível no cliente:

  • Modificar o modo de autenticação/login de SSL/TLS para Nenhum. Caso esta opção não exista;
  • Modificar o modo de autenticação/login para STARTTLS. Caso esta opção não exista ou não funcione;
  • Modificar o modo de autenticação/login de criptografado para sem criptografia ou Nenhum.

Embora esta estratégia de configurar o software cliente possa funcionar, é importante ressaltar que a utilização de autenticação sem uso de criptografia é pouco seguro, visto que o login e senha são enviados para o servidor de uma maneira que pode ser facilmente identificado no corpo da mensagem de conexão.

(input sent without waiting for greeting) ... input="\026\003\001"

Analisando apenas o lado servidor, podemos indicar que os caracteres recebidos indicam que o cliente está enviando um conjunto inesperado de dados antes da comunicação para o fazê-lo. Mas isto ocorre apenas porque o cliente está tentando efetuar o handshake usando uma negociação SSL, o que claramente o servidor parece não suportar.

Estes caracteres \026\003\001 (or hex 16 03 01) são o início do Handshake TLS 1.0, e são enviados por um cliente tentando o uso implícito de TLS sem aguardar pela mensagem de início do servidor, que ao contrário, está esperando enviar em texto puro a mensagem de início de comunicação SMTP.

Em resumo: O cliente está usando TLS de forma implícita numa porta que pede o uso do TLS explícito.

Detalhando, pode-se indicar que existem dois modos de uso do TLS com SMTP:

  • TLS implícito, que é TLS presente desde o início da comunicação. É utilizado a porta 465 (smtps). Este modo é em alguns clientes é chamado simplesmente de criptografado ou SSL.
  • TLS explícito, que é iniciado com uma comunicação SMTP sem criptografia e alterada com o comando STARTTLS em seguida. É utilizado nas portas 25 (smtp) e 587 (submissão).
Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!