sendmail rejetant certaines connexions avec échec de la prise de contact: numéro d'alerte SSL 40

8

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 me connecter à l'aide de openssl à partir du serveur CentOS 6, j'obtiens 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
(...)

Le courrier sur le serveur CentOS 6 est temporairement rejeté avec Deferred: 403 4.7.0 TLS handshake failed.

Que faire pour pouvoir envoyer du courrier depuis le serveur CentOS 6 / RHEL 6 vers le serveur CentOS6 / RHEL5?

Tometzky
la source

Réponses:

10

En effet, après une récente mise à jour d'OpenSL sur CentOS 6, les openssl-1.0.1e-30.el6.11.x86_64programmes utilisant cette bibliothèque ont commencé à refuser de se connecter aux serveurs vulnérables à la vulnérabilité Logjam TLS.

Vous devez configurer sendmail pour utiliser une clé Diffie – Hellman temporaire plus puissante - 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 clé de 2048 bits, vous pouvez toujours être vulnérable.

Générez le 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 pour utiliser uniquement des chiffres forts. 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.

Tometzky
la source
+1 de moi - un beau travail et un épargnant de vie. Merci!
MadHatter
Pour plus de précision, est-ce le serveur d'envoi ou de réception qui a besoin de cette modification? ou les deux?
Joe
1
@Joe Réception côté. Je ne suis pas sûr qu'il soit toujours strictement requis, car il y a un nouveau paquet openssl pour RHEL5 / CentOS5 release ( openssl-0.9.8e-36.el5_11) qui pourrait avoir corrigé ce problème. C'est quand même recommandé.
Tometzky
Je ne m'attendrais pas à ce que les paramètres DH 1024 bits soient sûrs beaucoup plus longtemps. Commencez à utiliser les paramètres de 2048 bits maintenant.
Michael Hampton
Ok, cela peut réparer le serveur, mais comment puis-je faire s_client STFU et me connecter quand même?
Ricky Beam
0

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 la clé temporaire du serveur: fichier DH (je n'en ai pas dans ma configuration, la valeur par défaut est 512 bits)

openssl dhparam -out /etc/mail/certs/dhparams.pem 2048

(prenez très, très longtemps ;-)

et je mets la ligne dans le sendmail.cf

O DHParameters=/etc/mail/certs/dhparams.pem

Après redémarrage, mon sendmail recommence à envoyer des mails :-)

zipp
la source