这两天有个项目被扫描器报了几个中危,都是SSL证书的问题。记录一下解决方案吧。
第一个问题:SSL Certificate Signed Using Weak Hashing Algorithm
这里的原因是因为使用弱算法签名的证书。
解决方案查了下总结下来是换算法。
操作步骤:
1、从证书颁发机构安装服务器的身份验证证书
2、在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp中配置自定义的证书来支持 TLS 而不是使用默认的自签名的证书的证书的 SHA1 哈希。
新建值的名称:SSLCertificateSHA1Hash
值类型:REG_BINARY
值数据:证书指纹
- 这个值应由逗号分隔的证书的指纹,并没有空格。例如,如果您要导出该注册表项的 SSLCertificateSHA1Hash 值如下所示:
"SSLCertificateSHA1Hash"= hex: 42,49,e1,6e,0a,f0,a0,2e,63,c4,5、 93、 fd,52,ad,09、 27、 82,1b,01
注意: 需要直接编辑注册表,因为在 Windows 客户端配置服务器证书的 SKUs 没有用户界面。
- 在网络服务帐户下运行远程桌面主机服务。因此,有必要设置 RDS (由 SSLCertificateSHA1Hash 注册表值中指定的证书引用) 所使用的密钥文件的 ACL 具有"读取"权限包括网络服务。若要修改权限,请按照以下步骤:
打开证书管理单元中的本地计算机:
- 单击开始,单击运行,键入mmc,请单击确定。
- 在文件菜单上单击添加/删除管理单元。
- 在添加或删除管理单元对话框中,在可用的管理单元列表中,单击证书,并单击添加。
- 在证书管理单元对话框中,单击计算机帐户,然后单击下一步。
- 在选择计算机对话框中,单击本地计算机: (运行此控制台的计算机),然后单击完成。
- 在添加或删除管理单元对话框中,单击确定。
- 证书管理单元中,在控制台树中,展开证书 (本地计算机),展开个人,然后导航到您想要使用的 SSL 证书。
- 用鼠标右键单击证书,选择所有任务,然后选择管理私钥。
- 在权限对话框中,单击添加,键入网络服务,在允许复选框,单击确定,选择读取然后单击确定。
到这里差不多就可以完成了。
SSL Medium Strength Cipher Suites Supported
这个问题的话也是修改注册表,修改注册表文件中的
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\
新建一个名称为Enabled,值为0的注册表选项即可了。
DWORD key name 'Enabled' with value '0' to the cipher key with the size less than '128'.