Apache(RHEL 7)에서 mod_nss를 통해 TLS를 구현하려고 합니다. ~에 따르면문서,설치했습니다mod_nss삭제하고mod_ssl.
나는 문서(위 링크 참조)에 설명된 단계를 따랐으며, 특히 다음 사항을 확인했습니다.NSS 프로토콜지시문은 다음과 같습니다(문서에 따르면 TLS 버전 1 이상을 제외한 모든 SSL 및 TLS 프로토콜 버전이 비활성화됩니다).
NSSProtocol TLSv1.0,TLSv1.1
그런 다음 Apache를 다시 시작하고 SSLv3가 활성화되었는지 테스트했습니다.
openssl s_client -connect localhost:443 -ssl3
반품:
[root@box1 ~]# openssl s_client -connect localhost:443 -ssl3
CONNECTED(00000003)
139894684407712:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:339:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 7 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : SSLv3
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
Krb5 Principal: None
PSK identity: None
PSK identity hint: None
Start Time: 1442107224
Timeout : 7200 (sec)
Verify return code: 0 (ok)
---
[root@box1 ~]#
보시다시피 핸드셰이크가 완료됩니다(예:SSL 핸드셰이크에는 5바이트를 읽고 7바이트를 썼습니다.) 그래서 SSLv3가 실제로 비활성화되어 있는지 궁금합니다.
나는 해결책을 찾기 위해 수많은 시간을 보냈지만 내가 찾은 모든 것은 mod_nss 대신 mod_ssl을 통해 SSLv3를 비활성화하는 방법을 알려줍니다.
어떤 아이디어나 설명이라도 환영합니다.
답변1
핸드셰이크 오류가 발생하여 나쁜 일은 발생하지 않았습니다.
오류: 1408F10B: SSL 루틴: SSL3_GET_RECORD: 잘못된 버전 번호
클라이언트/서버는 바이트를 전송하지 않고 버전 번호가 잘못되었음을 어떻게 확인할 수 있습니까?
명령에서 이를 제거 -ssl3
하면 차이점을 볼 수 있습니다.
SSL 핸드셰이크는 4493바이트를 읽고 499바이트를 썼습니다.
또한 연결이 설정되면 s_client
입력이 서버로 전송될 때까지 기다립니다. 연결이 없으면 반환됩니다.