请原谅我之前是否曾经问过这个问题,但我真的想深入了解SSLCipherSuite指令在Apache和其他地方的工作原理。首先,我熟悉密码的四个部分:
密钥交换算法
认证算法
密码编码算法(批量加密)
MAC摘要算法(散列函数)
这是我的Apache框的默认SSLCipherSuite:
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
根据我目前的知识以及我在网上阅读的内容,以下是我的阅读方式:
HIGH - 启用使用Triple-DES的所有密码 MEDIUM - 启用所有具有128位加密的密码 !aNULL - 禁用空认证,以后不能通过" +"重新添加到字符串中。 (加号 !MD5 - MD5哈希被禁用,以后不能通过" +"重新添加到字符串中。 (加号)签名
现在我的问题是,别名HIGH,MEDIUM和LOW是指JUST使用的批量加密算法,还是用作整个密码套件(上面列出的所有四个类别)?设置它只会出现问题吗?
SSLCipherSuite HIGH
或者是否会产生意想不到的后果,因为其他三个类别没有限制?如果是这种情况,除了使用MD5作为哈希算法还有其他什么我应该从密钥交换,身份验证,MAC摘要算法类别中禁用吗?
谢谢,如果有任何需要澄清或扩展,请告诉我!
答案 0 :(得分:7)
参考所有组件 - 所有类别。
您可以输入openssl ciphers 'HIGH'
(等)来检索与该设置相关联的密码列表。在我的旧Mac(较旧的OpenSSL)上,我得到(与其他版本,你会看到不同的 - 推荐最新版本没有/很少记录的漏洞):
$ 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服务器并信任其评估将是一个好主意。
答案 1 :(得分:1)
现在我的问题是,别名HIGH,MEDIUM和LOW是指JUST使用的批量加密算法,还是用作整个密码套件(上面列出的所有四个类别)?设置它只会出现问题吗?
他们指的是密码套件。
这些名称背后的内容取决于OpenSSL版本。有关详细信息,请参阅the documentation of openssl ciphers
。
将它设置为这样会出现问题吗?
SSLCipherSuite HIGH
由于HIGH的确切含义取决于OpenSSL版本,因此最好有更细粒度的规范,而不是那么依赖OpenSSL版本。