如何在Apache + mod_ssl中禁用MEDIUM和WEAK / LOW强度密码?

PCI合规性扫描build议我们禁用Apache的MEDIUM和LOW / WEAK强度密码以确保安全。 有人可以告诉我如何禁用这些密码?

Apache v2.2.14 mod_ssl v2.2.14

这是他们告诉我们的:

简介:远程服务支持使用中等强度的SSL密码。 说明:远程主机支持使用提供中等强度encryption的SSL密码,目前我们认为密码长度至less为56位,小于112位。 解决scheme:尽可能重新configuration受影响的应用程序,以避免使用中等强度的密码。 风险因素:中/ CVSS基础评分:5.0(CVSS2#AV:N / AC:L / Au:N / C:P / I:N / A:N)[更多]

简介:远程服务支持使用弱SSL密码。 说明:远程主机支持使用提供弱encryption或根本不encryption的SSL密码。 另请参阅: http : //www.openssl.org/docs/apps/ciphers .html解决scheme:尽可能重新configuration受影响的应用程序以避免使用弱密码。 风险因素:中/ CVSS基础评分:5.0(CVSS2#AV:N / AC:L / Au:N / C:P / I:N / A:N)[更多]

根据您的需要,您可以想出一个SSLCipherSuite产品线来为您处理工作。

http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslciphersuite

矿井在下面,他们通过PCI扫描。

 SSLProtocol -ALL + SSLv3 + TLSv1
 SSLCipherSuite ALL:!ADH:RC4 + RSA:+ HIGH:+ MEDIUM:!LOW:!SSLv2:!EXPORT

请注意,MEDIUM将禁用128位密码,这比您原始请求所需的密码更多。 以下configuration通过了我的PCI合规性扫描,对旧版浏览器更友好:

 SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM SSLProtocol ALL -SSLv2 -SSLv3 

由于Poodle攻击,SSL版本3不安全(请参阅: http : //disablessl3.com/ )

只是给另一个解决scheme 根据ssltools.com的build议,这里是他们的build议,对我来说:

 SSLHonorCipherOrder On SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH 

如果你不确定这个SSLCipherSuite行允许的密码,你可以通过openssl运行它:

 openssl ciphers -v 'HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM' 

这会给你一个密码组合列表:

 DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1 DHE-DSS-AES256-SHA SSLv3 Kx=DH Au=DSS Enc=AES(256) Mac=SHA1 DHE-RSA-CAMELLIA256-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(256) Mac=SHA1 DHE-DSS-CAMELLIA256-SHA SSLv3 Kx=DH Au=DSS Enc=Camellia(256) Mac=SHA1 AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1 CAMELLIA256-SHA SSLv3 Kx=RSA Au=RSA Enc=Camellia(256) Mac=SHA1 PSK-AES256-CBC-SHA SSLv3 Kx=PSK Au=PSK Enc=AES(256) Mac=SHA1 EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1 EDH-DSS-DES-CBC3-SHA SSLv3 Kx=DH Au=DSS Enc=3DES(168) Mac=SHA1 DES-CBC3-SHA SSLv3 Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1 PSK-3DES-EDE-CBC-SHA SSLv3 Kx=PSK Au=PSK Enc=3DES(168) Mac=SHA1 ... 

修改参数,直到最终得到一个仅包含允许提供的密码的列表。

mod_ssl文档将MEDIUM列为“128位encryption的所有密码”,而HIGH则被描述为“所有使用Triple-DES的密码”。 我猜这是一个文档错误,但如果不是“中”实际上高于“高”。

正如你所知道的,你至less需要112位密钥; 这对你无关紧要,因为HIGH和MEDIUM都足够强大,你应该同时包括这两个。

 SSLProtocol -ALL +TLSv1 +TLSv1.1 +TLSv1.2 SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM 

是我正在使用的 – 根据ssllabs.com给出最高级别的安全性。

这是我最终不得不使用的:

 SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:!MEDIUM:!LOW:!SSLv2:!EXPORT SSLProtocol -ALL +SSLv3 +TLSv1