TLS 1.0, 1.1 및 1.2를 지원하기위한 Apache의 SSLCipherSuite 설정


8

단일 IP 주소를 사용하여 여러 도메인 이름을 실행하는 Apache 2.4.7 웹 서버가 있습니다. 푸들 취약점의 결과로 다음 SSLCipherSuite줄을 추가했습니다 . 한동안 문제가 없었지만 사용자는 Firefox에서 페이지에 액세스하는 데 문제가 있다고보고했습니다. 사용자에게 브라우저를 전환하도록 요청하는 것은 유감스럽게도 옵션이 아니므로 TLS 1.0, 1.1 및 1.2를 지원하도록 설정을 변경해야합니다.

현재 설정은 다음과 같습니다

<VirtualHost ZYX.XYZ.org:443>
DocumentRoot /var/www/ZYX.XYZ/www
ServerName ZYX.XYZ.org

<Directory "/var/www/ZYX.XYZ/">
  allow from all
  Options -Indexes
</Directory>

SSLEngine on
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-SSLv3:-EXP:!kEDH
SSLCertificateFile /etc/apache2/ssl/XYZ.org.crt
SSLCertificateKeyFile /etc/apache2/ssl/XYZ.org.key
SSLCACertificateFile /etc/apache2/ssl/gd_bundle-g2-g1.crt
</VirtualHost>

우리가 보면 퀄리스 '테스트 , 우리는 서버는 TLS 1.2을 지원하는 것을 알 수있다.

사이트에서 이전 브라우저를 지원하고 적절한 수준의 보안을 유지할 수 있도록 TLS 1.0, TLS 1.1 및 TLS 1.2를 활성화하기위한 적절한 설정은 무엇입니까?

답변:


13

다음 구성은 SSLLabs에 따른 최상의 구성입니다.

SSLProtocol +TLSv1.2 +TLSv1.1 +TLSv1
SSLCompression off
SSLHonorCipherOrder on
SSLCipherSuite "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA"

그러나 비 PFS 및 RC4 암호 제품군이 없기 때문에 모든 이전 브라우저 (Opera Mini! 포함)는 제외됩니다. PFS 없이 RC4에 폴백 (마지막 항목)을 포함하여 RC4를 활성화하기 위해 다음 (물론 인용문 앞)을 추가 할 수 있습니다 .

:ECDHE-ECDSA-RC4-SHA:ECDHE-RSA-RC4-SHA:ECDH-ECDSA-RC4-SHA:ECDH-RSA-RC4-SHA:RC4-SHA

사용자가 최대한 빨리 업그레이드하도록 권장해야합니다. RC4가 손상되어 특히 PFS 없이는 더 이상 사용하지 않아야합니다.

더 나은 성적을 얻으려면 HSTS 헤더도 보내십시오 (이 기능을 사용하려면을 활성화해야합니다 mod_header).

Header always set Strict-Transport-Security "max-age=63072000;"

이 구성은 Elliptic-curve 암호화를 지원하지 않기 때문에 Apache <2.2.26에서는 작동하지 않습니다.

업데이트 :
방금 확인했지만 여전히 A +에 좋습니다. :) 그래도 SHA256 인증서가 필요하다고 생각합니다.

2015 년 10 월 업데이트 :
최근 Mozilla에서 제공하는 SSL 구성을위한 다른 생성기를 발견 했습니다. Chrome에서 더 이상 사용되지 않는 암호 제품군을 사용하고 있다고 말하지 않도록 암호를 주문합니다.


3

Cipherli.st 에서이 권장 사항을 찾았습니다 .

SSLCipherSuite AES128+EECDH:AES128+EDH
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off 
SSLUseStapling on 
SSLStaplingCache "shmcb:logs/stapling-cache(150000)" 

3
 SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-SSLv3:-EXP:!kEDH
                                                           ^^^^^^^^

SSLv3 암호화 제품군을 비활성화하면 SSL3.0에 도입 된 모든 암호화 제품군이 비활성화됩니다. 이러한 암호 제품군은 이후의 SSL 버전 (TLS1.0 +)과 함께 사용되며 새로운 암호 제품군은 대부분 TLS1.2와 함께 도입되었으므로이 설정은 공유 암호가 없기 때문에 TLS1.0 및 TLS1.1을 사용할 수 없습니다. 따라서 프로토콜은 효과적으로 TLS1.2로 제한됩니다.

openssl ciphers -V <cipher>암호 문자열을 사용하여 호출 하면 사용 가능한 모든 암호에 TLS1.2가 필요합니다.

예를 들면 다음과 같습니다 openssl ciphers -V TLSv1.2..


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