SSLCipherSuite 别名

SSLCipherSuite aliases

如果之前有人问过这个问题,请原谅我,但我真的很想深入了解 SSLCipherSuite 指令在 Apache 和其他地方的工作原理。首先,我熟悉密码的四个部分:

密钥交换算法
认证算法
密码编码算法(批量加密)
MAC 摘要算法(哈希函数)

这是我的 Apache 机器的默认 SSLCipherSuite:

SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5

根据我目前的知识和我在网上阅读的内容,我是这样读的:

高 - 启用所有使用 Triple-DES 的密码 MEDIUM - 启用所有具有 128 位加密的密码 !aNULL - 禁用空身份验证,以后无法通过“+”(加号)重新添加到字符串中 !MD5 - MD5 哈希被禁用,以后不能通过“+”(加号)重新添加到字符串中

现在我的问题是,别名 HIGH、MEDIUM 和 LOW 是仅指所使用的批量加密算法,还是指作为一个整体使用的密码套件(上面列出的所有四个类别)?仅设置为这样会不会有问题?

SSLCipherSuite 高

或者会不会因为其他三个类别没有限制而产生意想不到的后果?如果是这种情况,除了使用 MD5 作为散列算法之外还有什么我应该从密钥交换、身份验证、MAC 摘要算法类别中禁用的吗?

谢谢,如果有任何需要澄清或扩展的内容,请告诉我!

Now my question is, do the aliases HIGH, MEDIUM, and LOW refer to JUST the bulk encryption algorithm used, or to the cipher suite being used as a WHOLE (all four categories listed above)? Would there be an issue with setting it to just this?

它们指的是密码套件。

这些名称背后的确切含义取决于 OpenSSL 版本。有关详细信息,请参阅 the documentation of openssl ciphers

Would there be an issue with setting it to just this?

SSLCipherSuite HIGH

由于 HIGH 的确切含义取决于 OpenSSL 版本,因此最好有一个不太依赖于 OpenSSL 版本的更细粒度的规范。

参考所有组件 - 所有类别。

您可以输入 openssl ciphers 'HIGH'(等)来检索与该设置关联的密码列表。在我的旧 mac(较旧的 OpenSSL)上,我得到(对于其他版本,您会看到不同的 - 推荐具有 none / 少数已记录漏洞的最新版本):

$ openssl ciphers 'HIGH'
ADH-AES256-SHA:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:ADH-AES128-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA:ADH-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA:DES-CBC3-MD5

$ openssl ciphers 'MEDIUM'
ADH-SEED-SHA:DHE-RSA-SEED-SHA:DHE-DSS-SEED-SHA:SEED-SHA:ADH-RC4-MD5:RC4-SHA:RC4-MD5:RC2-CBC-MD5:RC4-MD5

$ openssl ciphers 'LOW'
ADH-DES-CBC-SHA:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:DES-CBC-MD5

你提到你了解密码套件。这是一份白皮书,其中有一节是关于“choosing cipher suites”的:https://www.creativsymantec.com/campaigncentral/downl/b-wp_ecc.pdf

当然,选择密码套件是移动目标,最近出现了所有漏洞,例如 Poodle(SSLv3 和 TLS1 与分组密码)等。根据 Qualys SSL 测试测试您的 Web 服务器并相信其评估是一个好主意。