sendmail rifiuta alcune connessioni con errore di handshake: avviso SSL numero 40


8

Il mio server sendmail su CentOS 5 ha iniziato a rifiutare alcune connessioni con il seguente messaggio registrato:

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

Quando provo a connettermi ad esso usando openssl dal server CentOS 6 ottengo il seguente errore:

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

La posta sul server CentOS 6 viene temporaneamente rifiutata con Deferred: 403 4.7.0 TLS handshake failed.

Cosa fare per poter inviare la posta dal server CentOS 6 / RHEL 6 al server CentOS6 / RHEL5?

Risposte:


10

Questo perché dopo un recente aggiornamento di openssl su CentOS 6, i openssl-1.0.1e-30.el6.11.x86_64programmi che utilizzano questa libreria hanno iniziato a rifiutare la connessione ai server vulnerabili alla vulnerabilità di TLS Logjam .

Devi configurare sendmail per usare una chiave Diffie-Hellman temporanea più potente - almeno 1024 bit. Non è la stessa chiave che usi nel tuo certificato TLS, quindi se il tuo certificato usa una chiave a 2048 bit allora puoi essere ancora vulnerabile.

Genera il file dei parametri DH sul tuo server:

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

Configurare sendmail per utilizzare questo file di parametri e per utilizzare solo cifre sicure. Aggiungi a /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

Quindi utilizzare make -C /etc/mail/e service sendmail restart.


+1 da parte mia - un bel lavoro e un salvavita. Grazie!
MadHatter,

Per chiarimenti, è il server di invio o ricezione che necessita di questa modifica apportata su di esso? o entrambi?
Joe,

1
@Joe Lato di ricezione. Non sono sicuro che sia ancora strettamente necessario, poiché esiste un nuovo pacchetto openssl per RHEL5 / CentOS5 rilasciato ( openssl-0.9.8e-36.el5_11) che potrebbe aver corretto questo problema. È comunque raccomandato comunque.
Tometzky,

Non mi aspetto che i parametri DH a 1024 bit siano sicuri per molto più tempo. Inizia subito a utilizzare i parametri a 2048 bit.
Michael Hampton,

Ok, questo può risolvere il server, ma come faccio a creare s_client STFU e connettermi comunque?
Ricky Beam,

0

Sì funziona:-)

Il mio errore è stato leggermente diverso, ma la soluzione è la stessa:

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

Genero chiave temporanea del server: file DH (non ne ho nella mia configurazione, il valore predefinito è 512 bit)

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

(impiega molto, molto tempo ;-)

e ho messo la linea in sendmail.cf

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

Dopo il riavvio il mio sendmail inizia a inviare di nuovo le mail :-)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.