gog*_*oud 19 remote-desktop windows-7 certificate ssl-certificate windows-10
我们办公室有一台 Windows 10 Pro 机器,它有一个开放的互联网端口,用于传入远程桌面连接(“主机”)。它受到复杂密码和有限次数的允许尝试以及仅 TLS 1.1 或更高版本的良好保护,但它不提供外部验证的 SSL 证书,仅提供远程桌面服务提供的自生成自签名证书,并且此给我们带来了两个问题:
如何让作为服务器/主机的 Windows 10 Pro(或 Windows 7 / 8 / 8.1 Pro)机器提供正确的 SSL 证书以进行远程桌面验证?
gog*_*oud 22
您可以将此主机设置为使用并呈现您的(现有)外部验证 SSL 证书,因此(说明可能也适用于 Windows 8 和 8.1,可能适用于 Windows 7,也可能不适用于 Windows 7)(部分内容基于Microsoft KB 2001849 ):
首先,您需要有一个真正的经过验证的 ssl 证书,无论是您购买的还是从 LetsEncrypt 等免费的。
如果您拥有 pkcs12 格式文件(例如 pfx 扩展名)的此证书,则可以使用 Linux 或 Cygwin 查看 SHA1 指纹(您将在下面需要它):
openssl pkcs12 -in mysite.pfx -nodes|openssl x509 -noout -fingerprint
Run Code Online (Sandbox Code Playgroud)
或者,如果您在 Linux 服务器中的 /etc/ssl(/etc/ssl/certs/mysite.crt、/etc/ssl/mysite.ca-bundle 和 /etc/ssl/private/mysite.key ) 您可以创建 pfx 文件并因此获取 SHA1 指纹:
如果您还没有证书,请为您的证书创建 pfx 文件(此处:mysite.pfx)– 在请求时设置一个好的密码:
sudo openssl pkcs12 -export -out mysite.pfx -inkey /etc/ssl/private/mysite.pem -in /etc/ssl/certs/mysite.crt -certfile /etc/ssl/mysite.ca-bundle
Run Code Online (Sandbox Code Playgroud)
根据需要移动或复制此 pfx 文件,以便您的 Windows 主机可以访问它。
查看密钥的 SHA1 指纹(您将在下面需要它):
openssl x509 -in /etc/ssl/certs/mysite.crt -noout -fingerprint
将 pkcs12 格式(例如 pfx)文件导入 Windows 主机的个人证书存储:
使用 regedit 在 中添加一个名为 SSLCertificateSHA1Hash 的新二进制值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp。它需要的值是上面得到的证书的SHA1指纹:在新值上右击,选择修改,然后依次输入十六进制代码(不带冒号、空格或逗号,字母不区分大小写)——有总共 20 个十六进制对(40 个字符)。
您可能需要重新启动主机,或重新启动远程桌面服务(来自 Services.msc)才能工作。
现在,在使用正确的站点名称(例如 mysite.com)与该主机建立远程桌面连接后,您应该会在顶部连接栏的左侧看到一个锁定的挂锁:单击它会显示远程的身份电脑已验证。从 Internet 到此主机打开的端口现在应该通过 PCI-DSS 3.1 主机名测试。
Pet*_*orf 16
以下是我使用的基本步骤:
获取主机的有效证书(它不必来自外部 CA,但您的所有机器都必须信任它)。确保它具有正确的主机名,我在使用通配符证书时遇到了问题。
在主机上安装证书,如:
certutil.exe -p myPassword -importPFX c:\mycert.pfx noExport
Run Code Online (Sandbox Code Playgroud)
在 UI 或 PowerShell 中找到证书的指纹:
$tp = (ls Cert:\LocalMachine\my | WHERE {$_.Subject -match "something unique in your certs subject field" } | Select -First 1).Thumbprint
Run Code Online (Sandbox Code Playgroud)
现在告诉远程桌面使用该证书:
& wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="$tp"
Run Code Online (Sandbox Code Playgroud)
无需重启
| 归档时间: |
|
| 查看次数: |
39142 次 |
| 最近记录: |