我有这个configuration
SSLCipherSuite AES128+EECDH:AES128+EDH SSLProtocol All -SSLv2 -SSLv3
为Apache 2.4.6,OpenSLL 1.0.2a
并在SSLLab的SSLtest我得到A,
它build议(警告)我有以下密码启用:
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x9e) DH 1024 bits (p: 128, g: 1, Ys: 128) FS WEAK 128 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (0x67) DH 1024 bits (p: 128, g: 1, Ys: 128) FS WEAK 128 TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x33) DH 1024 bits (p: 128, g: 1, Ys: 128) FS WEAK 128
我怎样才能禁用它们?
我试过了
SSLCipherSuite AES128+EECDH:AES128+EDH:!TLS_DHE_RSA_WITH_AES_128_CBC_SHA:!TLS_DHE_RSA_WITH_AES_128_CBC_SHA256:!TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
但是这似乎并没有停止支持这些密码,我相信它是错误的configuration,任何人都可以build议如何禁用它们?
OpenSSL使用它自己的名称作为密码,而不是标准定义的TLS_this_with_that名称,尽pipe它们包含相同的信息。 这三个TLS_DHE_RSA密码由SSLCipherSuite中的AES128 + EDH项启用,它也启用了三个相应的TLS_DHE_DSS密码,但ssllabs不会看到这些密码,因为您的服务器没有DSS(又名DSA)密钥和证书,可能是因为您从公共CA和AFAICT获得您的证书没有公共CA颁发DSS证书。
所以你可以删除AES128 + EDH术语。
或者,您可以使DHE_RSA密码足够强大,以便使用更大的(2048位)DH组请求ssllabs。 较新版本的Apache使得这一点更容易一些,一般情况下可能会更好,但是如果你必须继续使用2.4.6,那么ssllabs / Qualystesting的同伴在http://blog.ivanristic.com/2013/上有一些build议08 /增加dhe-strength-on-apache.html 。
编辑评论信息,EECDH + AES128(即ECDHE)不允许连接:
看来你的httpd不支持ECDHE,它应该是2.4。 Ristic在2013年8月说,它被添加到2.3.3 https://community.qualys.com/thread/11796和https://serverfault.com/a/569677/216633说,它支持在2.4但不是2.2(显然它后来回到了2.2.26)。 http://httpd.apache.org/docs/current/mod/mod_ssl.html描述了对2.4.7中的DH(E)和ECDH(E)参数的改进,这强烈地表明至less基本参数是在那里。
你可能使用RedHat构build? 我知道RedHat从OpenSSL和GnuPG中删除(全部)椭圆曲线encryption,直到2013年底(这在OpenSSL 1.0.2a之前),我可以想象(但不知道)他们也可能已经改变了mod_ssl来省略ECDH(E )参数即曲线。
我敢肯定,这不会让你一路冲过终点,但如果没有这个,我不认为你会得到一个A +:
SSLHonorCipherOrder on
这会使浏览器的密码顺序偏好不会覆盖您configuration的内容。
这是行不通的,因为你input无效的密码。 例如,这是不正确的,在下面的行是正确的:
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
DHE-RSA-AES128-SHA
如果你只是想完成这项工作,你可以复制这个:
SSLCipherSuite "ECDHE-ECDSA-CHACHA20-POLY1305-SHA256:ECDHE-RSA-CHACHA20-POLY1305-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:DHE-RSA-AES128-CBC-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:DHE-DSS-3DES-EDE-CBC-SHA:AES128-SHA:DES-CBC3-SHA:!CAMELLIA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4" SSLHonorCipherOrder on
还有一件事:如果你禁用这些密码,你将不会有所有的浏览器保密。 如果你想完全向前保密,我build议更新Apache到2.4.8并使用这个:
openssl dhparam -out dhparams.pem 2048
然后添加到Apache:
SSLOpenSSLConfCmd DHParameters“{path to dhparams.pem}”
您可以在此网站上find更多信息: https : //weakdh.org/sysadmin.html
顺便说一句,A +被授予具有HSTS和tls_fallback_scsv的网站。