Falha do handshake SSL / TLS do Mailx: erro desconhecido -5938

1

Eu tenho 2 máquinas Linux CentOS 7, um servidor Samba e um servidor Postfix. O servidor Postfix está configurado para usar a autenticação SASL e a criptografia TLS. No servidor Samba, posso me conectar ao servidor Postfix usando o openssl.

[root@samba1 ~]# openssl s_client 
-connect mail.example.com:587 
-starttls smtp 
-CAfile /etc/pki/tls/mail.example.com.pem

Quando eu uso o mailx no servidor Samba, recebo a mensagem " SSL / TLS handshake failed: Unknown error -5938 ".

[root@samba1 ~]@ echo "Hello World" | mailx -v -s "Test" -A default [email protected]
Resolving host mail.example.com . . . done.
Connecting to 192.168.0.10:587 . . . connected.
SSL/TLS handshake failed: Unknown error -5938.

Em / var / log / maillog no servidor Postfix, vejo alguns eventos TLS.

Nov 25 19:23:05 mail postfix/smtpd[5659]: initializing the server-side TLS engine
Nov 25 19:23:05 mail postfix/smtpd[5659]: connect from samba1.example.com[192.168.0.12]
Nov 25 19:28:05 mail postfix/smtpd[5659]: timeout after UNKNOWN from samba1.example.com[192.168.0.12]

Este é o meu arquivo /etc/mail.rc no servidor Samba.

[root@samba1 ~]# cat /etc/mail.rc
account default {
set smtp=smtps://mail.example.com:587

#Authentication
set smtp-auth=login
set [email protected]
set smtp-auth-password="my_password"

#Encryption
set smtp-use-starttls
set nss-config-dir=/etc/pki/nssdb
}

set hold
set append
set ask
set crt
set dot
set keep
set emptybox
set indentprefix="> "
set quote
set sendcharsets=iso-8859-1,utf-8
set showname
set showto
set newmail=nopoll
set autocollapse
set markanswered
ignore received in-reply-to message-id references
ignore mime-version content-transfer-encoding
fwdretain subject date from to
set bsdcompat

Este artigo sugere comentar o smtp-use-starttls, que parece não se aplica à minha situação, pois meu servidor Postfix está configurado para usar o TLS. Se eu comentar smtp-use-starttls, ainda recebo a mensagem 5938.

This post sugere que você pode garantir que os dois servidores estejam usando a mesma versão do TLS. Eu adicionei ssl-method = tls1 para /etc/mail.rc no servidor Samba, e ainda recebo a mensagem 5938.

Usando o certutil , vejo meu certificado em / etc / pki / nssdb no servidor Samba e é válido.

[root@samba1 ~]# certutil -V -n "mail.example.com.crt" -d /etc/pki/nssdb -u A
certutil: certificate is valid

Aqui está o conteúdo do nssdb

-rw-r--r--. 1 root root 65536 Nov 25 17:56 cert8.db
-rw-r--r--. 1 root root  9216 Jun 26 08:51 cert9.db
-rw-r--r--. 1 root root 16384 Nov 25 17:56 key3.db
-rw-r--r--. 1 root root 11264 Jun 26 08:51 key4.db
-rw-r--r--. 1 root root   451 Apr 25  2016 pkcs11.txt
-rw-r--r--. 1 root root 16384 Apr 25  2016 secmod.db

Não sei o que devo fazer em seguida para essa anomalia.

    
por JeremyCanfield 26.11.2016 / 02:38

1 resposta

1

dave_thompson_085 respondido nos comentários :

smtps: means to initially connect with SSL/TLS, which 587 does not support. You want to connect then start SSL/TLS, which is generically called starttls.

Uso:

smtp=server:587

e

smtp-use-starttls
    
por 13.04.2017 / 14:36