링크 한 기사 에서이 취약점으로부터 자신을 보호하기위한 3 가지 권장 단계가 있습니다. 원칙적으로이 단계는 SSL / TLS와 함께 사용할 수있는 모든 소프트웨어에 적용되지만 여기서는 해당 소프트웨어이므로 Apache (httpd)에 적용하기위한 특정 단계를 처리합니다.
- 내보내기 암호 스위트 비활성화
아래 2에서 구성 변경 사항 !EXPORT
을 처리하십시오 ( SSLCipherSuite
줄 끝 부분은 내보내기 암호 제품군을 비활성화하는 방법입니다)
- ECDHE (Ephemeral) Elliptic-Curve Diffie-Hellman 배포
이를 위해, 당신은 당신의 아파치 설정 파일에 몇 가지 설정을 편집해야합니다 - 즉 SSLProtocol
, SSLCipherSuite
, SSLHonorCipherOrder
는 "모범 사례"설정을 할 수 있습니다. 다음과 같은 것으로 충분합니다.
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder on
참고 :있는대로 SSLCipherSuite
사용하는 설정이 항상 변화하고, 같은 리소스를 참조하는 것이 좋습니다 이 한 최신 권장 구성을 확인합니다.
3. 강력하고 독특한 Diffie Hellman 그룹 생성
그렇게하기 위해, 당신은 실행할 수 있습니다
openssl dhparam -out dhparams.pem 2048
.
이는 매개 변수가 생성되는 동안 서버에 상당한로드를 가할 것입니다. 다른 시스템에서 매개 변수를 생성하고 scp
이를 사용하여 해당 서버로 전송 하여 사용하여이 잠재적 문제를 항상 해결할 수 있습니다.
Apache 설명서dhparams
에서 Apache에서 새로 생성 된 것을 사용하려면 다음 을 수행하십시오 .
사용자 정의 DH 매개 변수를 생성하려면 openssl dhparam 명령을 사용하십시오. 또는 RFC 2409, 섹션 6.2 의 다음 표준 1024 비트 DH 매개 변수를 해당 SSLCertificateFile 파일에 추가 할 수 있습니다 .
(강조 광산)
그런 다음 표준 1024 비트 DH 매개 변수가 이어집니다. 이를 통해 맞춤형 생성 된 DH 매개 변수가 해당 관련 항목 SSLCertificateFile
에 추가 될 수 있음을 알 수 있습니다 .
이렇게하려면 다음과 유사한 것을 실행하십시오.
cat /path/to/custom/dhparam >> /path/to/sslcertfile
또는 원래 링크 한 기사 의 Apache 하위 섹션 에 따라 인증서 파일 자체를 변경하지 않으려는 경우 작성한 사용자 정의 dhparams 파일을 지정할 수도 있습니다.
SSLOpenSSLConfCmd DHParameters "/path/to/dhparams.pem"
Apache 구성이 특정 SSL / TLS 구현과 관련 이 있는 conf.d/ssl.conf
경우 ( 일반적으로 또는 conf.d/vhosts.conf
아파치 구성에 따라 다름)
이에 따라, 그 주목할 가치가 이 링크 ,
Apache 2.4.7 이전에는 DH 매개 변수가 항상 1024 비트로 설정되어 있으며 사용자가 구성 할 수 없습니다. 이는 Red Hat이 httpd-2.2.15-32.el6을 사용하여 RHEL 6 Apache 2.2 배포판으로 백 포트 한 mod_ssl 2.4.7에서 수정되었습니다.
Debian Wheezy에서 apache2를 2.2.22-13 + deb7u4 이상으로 업그레이드하고 openssl을 1.0.1e-2 + deb7u17로 업그레이드하십시오. 위의 SSLCipherSuite가 완벽하게 작동하지 않고이 블로그에 따라 다음을 사용하십시오 .
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-DSS-AES128-SHA256:DHE-DSS-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA:!DHE-RSA-AES256-SHA256:!DHE-RSA-CAMELLIA128-SHA:!DHE-RSA-CAMELLIA256-SHA
배포판에 따라 Apache 버전이이 버전 번호보다 늦은 지 확인하고, 그렇지 않은 경우 가능하면 업데이트하십시오.
위의 단계를 수행하여 구성을 업데이트하고 Apache 서비스를 다시 시작하여 변경 사항을 적용한 후 SSLLabs 및 이 특정 취약성 관련 기사 에서 테스트를 실행하여 구성이 원하는지 확인해야 합니다.