OpenSSL 및 Apache에서 TLS 1.1 및 1.2를 활성화하는 방법


33

새로 발표 된 BEAST (Browser Exploit Against SSL / TLS)와 같이 점점 더 많은 보안 문제에 비추어 OpenSSL 및 Apache에서 TLS 1.1 및 1.2를 활성화하여 취약하지 않도록하는 방법에 대해 궁금했습니다. 그러한 위협 벡터에.

답변:


25

이제 TLS1.2를 아파치에서 사용할 수 있습니다. TLSs1.2를 추가하려면 https 가상 호스트 구성에 추가하면됩니다.

SSLProtocol -all +TLSv1.2

-all 다른 SSL 프로토콜을 제거하고 있습니다 (SSL 1,2,3 TLS1)

+TLSv1.2 TLS 1.2를 추가합니다

더 많은 브라우저 호환성을 위해 사용할 수 있습니다

SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2

그런데 다음을 사용하여 암호 제품군을 늘릴 수도 있습니다.

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GC$

https://www.ssllabs.com/ssltest/index.html 과 같은 온라인 스캐너를 사용하여 https 웹 사이트 보안을 테스트 할 수 있습니다.


2
이 게시물이 왜 "오래된"것으로 표시되어 있는지 잘 모르겠습니다. 권장 솔루션을 사용했으며 고객 사이트가 Qualsys SSL Labs의 "C"등급에서 "A"로 변경되었습니다.
Michael Sobczak

안녕하세요, 오해를 막기 위해 오래된 경고를 제거했습니다. 오래된 정답에 대한 링크였습니다. 보안이 향상되어
기쁩니다

sites-available / 000-default.conf에서 가상 호스트 'SSLProtocol -all + TLSv1.2'에 추가하고 AH00526 : /etc/apache2/sites-enabled/000-default.conf의 31 행에서 구문 오류가 발생했습니다. : 서버 구성에 포함되지 않은 모듈에 의해 잘못 철자되었거나 정의 된 잘못된 명령 'SSLProtocol'명령 'configtest'조치가 실패했습니다.
Elia Weiss

mod_ssl을 활성화 했습니까? (명령어 : a2enmod ssl)
Froggiz

"SSL 프로토콜 : 잘못된 프로토콜 'TLSv1.2'"(OS X 10.10.5)
Michael


10

OpenSSL changelog 에 따르면 TLS 1.2에 대한 지원이 OpenSSL 1.0.1의 개발 분기에 추가되었지만이 버전은 아직 릴리스되지 않았습니다. 아마도 Apache에서 TLS 1.2를 실제로 활성화하려면 mod_ssl 코드에서 일부 변경이 필요할 것입니다.

일반적으로 사용되는 다른 SSL / TLS 라이브러리는 NSS입니다 . 잘 알려지지 않은 Apache 모듈 mod_nss에 의해 사용 됩니다 . 불행히도 현재 NSS 릴리스는 TLS 1.2를 지원하지 않습니다.

또 다른 SSL / TLS 라이브러리는 GnuTLS 이며 현재 릴리스에서 이미 TLS 1.2를 지원하는 것처럼 가장합니다. GnuTLS를 사용하는 Apache 모듈이 있습니다 : mod_gnutls , 또한 TLS 1.2를 지원한다고 주장합니다. 그러나이 모듈은 다소 새로운 것으로 보이며 매우 안정적이지 않을 수 있습니다. 나는 그것을 사용하려고하지 않았습니다.


1
@ Sergey, 링크와 정보에 감사드립니다. 나는 우리가 나이를 고려할 때 이러한 표준을 이용할 수 없다는 것이 여전히 슬프다. 시스템과 네트워크의 방어자가되어야하지만 보안 상태를 개선하는 데 도움이되는 도구를 활용할 수는 없습니다. 또한 웹 브라우저 사용자는 Apache 및 IIS와 같은 서버 사용자뿐만 아니라 이러한 표준을 지원할 수있는 방법을 가지고있는 것 같습니다.
John

2
이 답변은 1 년 후에도 여전히 정확합니까?
Ben Walther

2
@BenWalther OpenSSL 1.0.1은 2012 년 3 월 TLS 1.2를 지원하여 릴리스되었습니다. 현재 최신 버전은 1.0.1c입니다. 게시물의 나머지 부분이 여전히 유효한지 확실하지 않습니다.
Burhan Ali

6

OpenSSL은 아직 TLS 1.1 릴리스를 제공하지 않습니다.

/에 대한 적절한 의견입니다. 이 문제의 경우 :

지배적 인 라이브러리 OpenSSL이 안정적인 릴리스에서 프로토콜 중 하나를 아직 지원하지 않는 세계에서 어떻게 TLS 1.1 및 1.2 지원을 구현할 것인지에 대해 씻지 않은 대중에게 친절하게 설명 하시겠습니까? 물론, 당신은 GnuTLS와 mod_gnutls를 사용할 수 있으며, 그것을 시도했지만 Opera 이외의 브라우저가 그것을 지원하지 않았고 모듈에 이상한 결함이 있었으므로 아무런 의미가 없었습니다. IE 8/9는 Vista 및 7에서 이들을 지원해야했지만 클라이언트 측에서 1.1 및 1.2가 활성화 된 경우 mod_gnutls가 제공하는 사이트에 액세스하지 못했습니다. 나는 어제 호기심으로 새롭게 시도해 보았으며 이제는 TLS 1.1 및 1.2에서 Opera 11.51 초크까지도 시도했습니다. 그래서. 실제로 프로토콜을 지원하는 것은 없습니다. TLS 1.1에 대해 OpenSSL 1.0.1을 기다려야하며 언제 repos에 도달하는지 아무도 모릅니다.

http://it.slashdot.org/comments.pl?sid=2439924&cid=37477890


1
@ Steve-o, 정보 주셔서 감사합니다. TLS 1.1이 2006 년 4 월 이후에 출시되었고 TLS 1.2가 2008 년 8 월 이후에 2011 년 3 월에 업데이트되어 나왔기 때문에 실망 스럽지만 우리는 여전히이를 이용할 수 없습니다.
John


3

Gnu_tls는 매력처럼 작동하며 가상 호스팅에 매우 유용한 SNI (Server Name Identification)도 구현합니다.

리눅스 배포판에서 mod_gnutls에 대한 bin 패키지를 찾는 데 아무런 문제가 없습니다 .2 년 이래로 사용했지만 아무런 문제가 없으며 openssl imho보다 성능이 뛰어납니다.

그러나 문제는 대부분의 브라우저가 tls 1.1 또는 1.2를 지원하지 않기 때문에 브라우저를 사람들에게 정기적으로 업그레이드한다는 아이디어를 확산시키기 시작하십시오.


@ Rastrano-구현 방법에 대한 제안이나 링크가 있습니까? 정보 주셔서 감사합니다 그리고 "현대"브라우저가 아직 그것을 지원하지 않는 것이 너무 나쁩니다.
John
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.