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.