我在CentOS 5上的sendmail服务器开始拒绝某些连接,并记录以下消息:
error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1092:SSL alert number 40
当我尝试使用CentOS 6服务器上的openssl连接到它时,我收到以下错误:
$openssl s_client -starttls smtp -crlf -connect hostname.example.net:smtp (...) error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small:s3_clnt.c:3331 (...) Server Temp Key: DH,512 bits (...)
CentOS 6服务器上的邮件暂时被拒绝,延期:403 4.7.0 TLS握手失败.
怎样做才能将邮件从CentOS 6 / RHEL 6发送到CentOS6 / RHEL5服务器?
这是因为在最近对CentOS 6上的openssl,openssl-1.0.1e-30.el6.11.x86_64进行更新后,使用此库的程序开始拒绝连接到易受
Logjam TLS漏洞影响的服务器.
您需要配置sendmail以使用更强的临时Diffie-Hellman密钥 – 至少1024位.它与您在TLS证书中使用的密钥不同,因此如果您的证书使用2048位密钥,那么您仍然可能容易受到攻击.
openssl dhparam -out /etc/pki/tls/certs/dhparams.pem 1024
配置sendmail以使用此参数文件,并仅使用强密码.添加到/etc/mail/sendmail.mc:
LOCAL_CONFIG O CipherList=HIGH:!ADH O DHParameters=/etc/pki/tls/certs/dhparams.pem O ServeRSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3 +SSL_OP_CIPHER_SERVER_PREFERENCE O ClientSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3
然后使用make -C / etc / mail /和sendmail重启服务.