强制远程 IIS 管理器通过 TLS 1.2 连接

强制远程 IIS 管理器通过 TLS 1.2 连接

我已经在 Windows Server 2019 Core 1809(ltsc)上设置了新的 IIS 10。

我已经设置了该wmsvc服务并确认它正在运行。我能够通过端口从远程管理服务器 (Windows Server 2019) 通过 IIS 管理器连接到 IIS 服务器wmsvc,并且开发人员能够从他们的 Windows 10 计算机使用WebDeploy,它也使用。wmsvc

然后我继续按照Qualys SSL 指南为了在密码套件等方面获得非常好的分数,我使用了IISCryptoCli

我在 IIS 上使用了以下命令:

IISCryptoCli.exe /backup BackupCrypto.reg /template strict /reboot

为什么我使用strict模板而不是best模板?因为它是唯一一个禁用已弃用的 TLS 1.0 和 TLS 1.1

现在的问题是 - 从那时起,我无法从 RemoteServer 连接到我的 IIS 管理器,开发人员也无法WebDeploy再使用。尝试连接时,我们总是收到以下错误:

底层连接已关闭:发送时发生意外错误。

我发现关注网站描述了问题,并说我必须将以下注册表项添加到要连接的远程计算机,以强制使用 TLS 1.2 协议:

  • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]"SchUseStrongCrypto"=dword:00000001

我照做了,然后重新启动了机器,但是仍然没有运气。

然后,我在远程管理服务器上IISCrypto设置了 TLS 协议best并重新启动它们 - 仍然不起作用。

之后,我将我的 IIS 设置为best重新启用 TLS 1.0 和 TLS 1.1 的模板,并重新启动我的 IIS - 仍然不起作用。

我还能做什么?如何才能仅启用 TLS 1.2,同时仍能通过 IIS 远程管理正常运行wmsvc

更新:

我开始认为 TLS 的改变不是问题所在。

我恢复了以下内容:

  • 我通过卸载WASWeb-Server功能完全重置了 IIS,我基本上有一个完全干净的 IIS(我可以确认因为administration.configapplicationhost.config被重置为默认状态,在我重新安装WAS和之后Web-Server。)此外,WMSVC在此操作期间也完全重置了
  • 我基本上卸载了所有程序(包括所有.net 核心包、WebDeploy 等)
  • 我还将所有 TLS 内容恢复为默认值。

问题仍然存在。我在网上找到了很多资料,人们遇到了同样的问题,但没有解决方案...嗯...

更新 2:

我现在设置了一个新的 IIS,并且基本上在每个步骤之间都做了备份。事实上,当我设置模板时,strict一切IISCrypto都崩溃了。当我实现默认注册表项时,一切都恢复正常。

... 现在,当我使用这两个注册表项时,它突然就起作用了SchUseStrongCrypto。很奇怪。但无论如何,我现在很高兴。看起来在我的第一个 IIS 上,注册表中的某些东西被弄乱了,并且从未恢复过。

答案1

我这里有两台安装了 IIS 的 2019 服务器。服务器 A 安装了管理服务。在服务器 BI 上,可以使用 IIS 管理器使用默认的 Windows TLS 设置连接到服务器 A。

我使用 IIS Crypt GUI 将服务器 A 上的 TLS 设置更改为以下内容:

IIS 加密

如您所见,仅启用了 TLS 1.2,所有密码套件都已启用,但有些也可能被禁用。

我仍然能够从服务器 B 连接到服务器 A。

我还没试过WebDeploy

答案2

我必须删除 Web 管理角色,重新启动并重新添加它。启用远程管理注册表项并执行 WINRM 服务启动并将其设置为自动。

我在想,如果你在弃用的 TLS 仍然启用的情况下安装 Web 管理服务,它就会锁定在那里,不会放手。

如果我仅将服务器设置为 TLS 1.2,重新启动,然后安装 Web 管理角色,则不会出现任何问题。

相关内容