最近服务器扫描出ssl证书是使用弱哈希算法签名的SSL证书(CVE-2004-2761)【原理扫描】,要求联系证书颁发机构重新颁发证书。使用弱哈希算法签名SSL证书的端口有1433,3389。所有要对这俩端口配置一个新的证书。算法且满足sha256。
下面是我我服务器证书升级步骤。(还需下载ssl证书生成工具)
ssl证书生成工具下载链接:https://download.csdn.net/download/rainjm/87351536
注意:大胆尝试,升级ssl证书不会对应用服务器造成什么影像的。
1.下载好工具后上传至服务器C:\Windows\System32路径下,解压到当前文件夹。
2.打开服务自带的Windows PowerShell,cd进入C:\Windows\System32路径下
3.进入C:\Windows\System32后运行下面命令,然后按下回车。
makecert -r -pe -n "CN=Server" -b 01/01/2022 -e 01/01/2032 -sky exchange -sv ServerPublicKey.pvk ServerPublicKey.cer -a sha256 -len 2048
4.界面会弹出创建秘钥的界面 ,创建自己的自定义秘钥,秘钥最好是自己比较好记的,后续还会用到。
输入完成后还会在弹出输入私钥密码界面,输入刚才创建的私钥秘钥就可以了
输入完成后Windows PowerShell界面里会succeeded提示,表示操作成功。
5.创建ssl证书,输入以下命令,其中password为刚输入的秘钥,需要替换掉哦。输入命令后回车。界面无提示表示成功。然后关闭窗口,不会在用到。
pvk2pfx -pvk ServerPublicKey.pvk -spc ServerPublicKey.cer -pfx ServerPrivateKey.pfx -pi password
6.打开运行窗口输入mmc回车打开管理控制台.
7.打开控制台的文件,然后点击添加/删除管理单元,然后弹出添加/删除管理单元界面。
8.点击添加/删除管理单元界面里的证书,然后点击添加,然后弹出证书管理单元界面。
9.证书管理单元界面选择计算机账户,然后下一步
10.点击左侧的证书,证书(右键)–>所有任务–>导入–>本地机计算–>下一步–>在选择框里输入C:\Windows\SysWOW64\ServerPrivateKey.pfx–>下一步–>输入刚才创建的秘钥–>确定–>下一步–>选择将所有的证书都放入下列存储->完成–>导入成功–>证书(双击)–>出现带私钥的Server证书
11.添加证书访问权限。 Server证书(右键)–>所有任务–>管理私钥–>添加–>输入对象名称来选择–>NETWORK SERVICE–>检查名称–>确定–>分配NETWORK SERVICE读取权限–>确定
12.双击server证书。 查看证书里的详细信息(特别是指纹值)
13.通过Windows+R打开运行regedit
14.打开路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
创建SSLCertificateSHA1Hash ,然后选择二进制值。
再次右键点击创建好的SSLCertificateSHA1Hash,选择修改二进制值数据,把上面server证书里的指纹值输入进去就可以了。
15.证书创建生效完成了。可以去申请接收漏洞扫描了。这个是ssl证书(3389端口)的。1433端口证书升级也是大同小异。需要打开路径HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQLServer\SuperSocketNetLib
创建Certificate,然后选择二进制值。再次右键点击创建好的Certificate,选择修改二进制值数据,把上面server证书里的指纹值输入进去就可以了。