sendmail rechaza algunas conexiones con falla en el protocolo de enlace: alerta SSL número 40

sendmail rechaza algunas conexiones con falla en el protocolo de enlace: alerta SSL número 40

Mi servidor de sendmail en CentOS 5 comenzó a rechazar algunas conexiones y se registró el siguiente mensaje:

error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1092:SSL alert number 40

Cuando intento conectarme usando openssl desde el servidor CentOS 6, aparece el siguiente error:

$ 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
(...)

El correo en el servidor CentOS 6 se rechaza temporalmente con Deferred: 403 4.7.0 TLS handshake failed.

¿Qué hacer para poder enviar correo desde CentOS 6/RHEL 6 al servidor CentOS6/RHEL5?

Respuesta1

Esto se debe a que después de una actualización reciente de openssl en CentOS 6, openssl-1.0.1e-30.el6.11.x86_64los programas que usaban esta biblioteca comenzaron a negarse a conectarse a servidores vulnerables aAtolladeroVulnerabilidad TLS.

Debe configurar sendmail para utilizar una clave Diffie-Hellman temporal más potente, de al menos 1024 bits. No es la misma clave que usa en su certificado TLS, por lo que si su certificado usa una clave de 2048 bits, aún puede ser vulnerable.

Genere el archivo de parámetros DH en su servidor:

openssl dhparam -out /etc/pki/tls/certs/dhparams.pem 1024

Configure sendmail para utilizar este archivo de parámetros y utilizar sólo cifrados seguros. Añadir /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

Luego use make -C /etc/mail/y service sendmail restart.

Respuesta2

Si, funciona:-)

Mi error fue un poco diferente, pero la solución es la misma:

SSL routines:SSL3_READ_BYTES:sslv3 alert illegal parameter:s3_pkt.c:1060:SSL alert number 47

Genero clave temporal del servidor: archivo DH (no tengo ninguna en mi configuración, el valor predeterminado es 512 bits)

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

(lleva mucho, mucho tiempo ;-)

y puse línea en el sendmail.cf

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

Después de reiniciar, mi sendmail comienza a enviar correos nuevamente :-)

información relacionada