在使用 openssl 密码套件列表的应用程序中,是否有一种简单的白名单式方法来禁用 CBC 模式密码套件?!RC4
但是,我希望 . 风格的东西!CBC
没有效果,并且仍然允许TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
.
到目前为止,我发现的唯一解决方案是使用更详细的允许列表,其中仅包含非 CBC 密码。有没有更简单的选择?
在使用 openssl 密码套件列表的应用程序中,是否有一种简单的白名单式方法来禁用 CBC 模式密码套件?!RC4
但是,我希望 . 风格的东西!CBC
没有效果,并且仍然允许TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
.
到目前为止,我发现的唯一解决方案是使用更详细的允许列表,其中仅包含非 CBC 密码。有没有更简单的选择?
您可以使用!SHA1:!SHA256:!SHA384
禁用所有 CBC 模式密码。有一些非 CBC 误报也将被禁用 ( RC4
, NULL
),但您可能还想禁用它们。
请注意,虽然GCM
和CHACHA20
密码SHA*
在他们的名字中有,但它们并没有被禁用,因为它们使用自己的 MAC 算法。他们的SHA*
名字是针对PRF,而不是 MAC
在过去的几天里,我花了相当多的时间试图获得一个完美的 ssllabs 列表。部分归功于这一点,这是有效的:
SSLCipherSuite ALL:!RSA:!CAMELLIA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SHA1:!SHA256:!SHA384
根据文档(man ciphers)中给出的密码字符串列表,没有描述所有 CBC 密码的字符串。这意味着没有简单的方法可以通过简单的!CBC
或类似的方法来禁用所有这些(并且只有这些)。
我在https://cipherli.st/找到的最佳 SSL 密码和协议设置
有了这个,您将获得 Qualys A+ 评级:
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM
# Requires Apache 2.4.36 & OpenSSL 1.1.1
SSLProtocol -all +TLSv1.3 +TLSv1.2