핸드 셰이크 실패로 일부 연결을 거부하는 sendmail : SSL 경고 번호 40


8

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 서버의 메일은으로 일시적으로 거부됩니다 Deferred: 403 4.7.0 TLS handshake failed.

CentOS 6 / RHEL 6에서 CentOS6 / RHEL5 서버로 메일을 보내려면 어떻게해야합니까?

답변:


10

CentOS 6에서 openssl을 최근에 업데이트 한 후이openssl-1.0.1e-30.el6.11.x86_64 라이브러리를 사용하는 프로그램이 Logjam TLS 취약점에 취약한 서버에 대한 연결을 거부하기 시작 했기 때문 입니다.

더 강력한 임시 Diffie–Hellman 키 (최소 1024 비트)를 사용하도록 sendmail을 구성해야합니다. TLS 인증서와 동일한 키가 아니므로 인증서가 2048 비트 키를 사용하는 경우 여전히 취약 할 수 있습니다.

서버에서 DH 매개 변수 파일을 생성하십시오.

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/및을 사용하십시오 service sendmail restart.


나에게서 +1-멋진 작업, 생명의 은인. 감사!
MadHatter

명확하게하기 위해이 변경이 필요한 송신 또는 수신 서버입니까? 아니면 둘다?
Joe

1
@Joe 수신 측. openssl-0.9.8e-36.el5_11이 문제를 해결했을 수도있는 RHEL5 / CentOS5 용 새로운 openssl 패키지 ( )가 출시되었으므로 여전히 엄격하게 필요한지는 확실하지 않습니다 . 그래도 여전히 권장됩니다.
Tometzky

1024 비트 DH 매개 변수가 훨씬 더 안전하다고는 생각하지 않습니다. 지금 2048 비트 매개 변수를 사용하십시오.
Michael Hampton

좋아, 그것은 서버를 고칠 수는 있지만 어떻게 s_client STFU를 만들고 어쨌든 연결합니까?
Ricky Beam

0

예, 작동합니다 :-)

내 오류는 조금 다르지만 해결책은 동일합니다.

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

서버 임시 키를 생성합니다. DH 파일 (내 구성에는 없습니다. 기본값은 512 비트입니다)

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

(아주 오래 걸렸다)

sendmail에 줄을 넣습니다 .cf

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

다시 시작한 후 sendmail은 메일을 다시 보내기 시작합니다 :-)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.