Apache SSLconfiguration – SSLLabs如何获得A +

我有这个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的网站。