Mon serveur Sendmail sur Centos 5 a commencé à rejeter certaines connexions avec le message suivant enregistré:
error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1092:SSL alert number 40
Lorsque j'essaie de vous connecter à OpenSSL à partir du serveur Centos 6, je reçois l'erreur suivante:
$ 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
(...)
Mail On Centos 6 Server est temporairement rejeté avec Deferred: 403 4.7.0 TLS handshake failed
.
Que faire pour pouvoir envoyer un courrier de Centos 6/Rhel 6 au serveur CENTOS6/RHEL5?
En effet, après une mise à jour récente de OpenSSL sur Centos 6, openssl-1.0.1e-30.el6.11.x86_64
, les programmes utilisant cette bibliothèque ont commencé à refuser la connexion aux serveurs vulnérables à logjam TLS vulnérabilité.
Vous devez configurer Sendmail pour utiliser la clé temporaire de Diffie-Hellman plus forte - au moins 1024 bits. Ce n'est pas la même clé que vous utilisez dans votre certificat TLS, donc si votre certificat utilise une touche 2048 bit, vous pouvez toujours être vulnérable.
Générez un fichier de paramètres DH sur votre serveur:
openssl dhparam -out /etc/pki/tls/certs/dhparams.pem 1024
Configurez Sendmail pour utiliser ce fichier de paramètres et utiliser uniquement des chiffres puissants. Ajouter à /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
Ensuite, utilisez make -C /etc/mail/
et service sendmail restart
.
Oui cela fonctionne:-)
Mon erreur était peu différente, mais la solution est la même:
SSL routines:SSL3_READ_BYTES:sslv3 alert illegal parameter:s3_pkt.c:1060:SSL alert number 47
Je génère une clé temporaire du serveur: fichier DH (je ne l'ai pas dans ma configuration par défaut est 512bits)
openssl dhparam -out /etc/mail/certs/dhparams.pem 2048
(prenez très longtemps ;-)
et je mets la ligne dans le fichier sendmail.cf
O DHParameters=/etc/mail/certs/dhparams.pem
Après avoir redémarré mon sendmail commence à envoyer de nouveau des mails :-)