当我为我的公共 Web 服务器订购 SSL 证书时,如何确保 Web 服务器(在我的情况下是 IIS 6)仅允许支持我们公司标准(至少 128 位对称加密)的 SSL/TLS 客户端连接。
我知道您可以购买支持 128 位的 SSL 证书,但在握手期间,客户端可能会选择将连接降级为 SSLv2 并使用 40 位加密运行。
我如何强制客户端必须运行 128 位或更高版本?
答案1
通过复选框强制执行 128 位加密密钥是强制在 Web 服务器上执行强 SSL 的第一步,但如果不明确禁用注册表中的弱加密算法,客户端可以请求使用安全性较低的加密方法(同时使用长度为 128 位的密钥)。以下是编辑注册表的 KBhttp://support.microsoft.com/kb/245030。
然而,我按照这个方法重新扫描了漏洞,发现我错过了一些,所以这里有一篇文章可以更好地解释要关闭什么: http://blog.zenone.org/2009/03/pci-compliance-disable-sslv2-and-weak.html。完成后您需要重新启动才能使更改生效。
答案2
您可以应用特定的注册表项来禁用 SSLv2 和 IIS 中的任何弱密码。
要禁用 SSLv2,请应用以下注册表更改:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0\Server]
“已启用”=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
“已启用”=dword:00000000
要禁用弱密码,请应用以下注册表更改:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\DES 56/56]
“已启用”=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\NULL]
“已启用”=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 40/128]
“已启用”=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 56/128]
“已启用”=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128]
“已启用”=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128]
“已启用”=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128]
“已启用”=dword:0000000
来源- 本页还列出了如何在 Apache 中禁用 SSLv2/弱密码
要测试配置,您可以使用 OpenSSL、THCSSLCheck 工具或新的SSL 实验室项目
答案3
您可以通过执行以下操作在 IIS 中强制实施 128 位加密:
1.在 IIS 管理器中,双击本地计算机,然后右键单击所需的网站、目录或文件,然后单击“属性”。
2.在“目录安全性”或“文件安全性”选项卡上的“安全通信”下,单击“编辑”。
3.在安全通信框中,选中需要安全通道 (SSL) 复选框。
4.如果需要 128 位加密,请选中需要 128 位加密复选框。
5.单击“确定”。