为Windows RM生成HTTPS Listener

2017-11-22 07:51:46
网络安全和信息化 2017年4期
关键词:数字签名公钥命令

Windows远程管理,即Windows RM(Windows Remote Management),是一种基于SOAP(Simple Object Access Protocal,简单对象访问协议)协议的可通过防火墙的系统功能。

众所周知,SOAP采用了已广泛使用的两个协议:HTTP 和XML,HTTP用于实现 SOAP 的RPC 风格的传输, 而XML 是它的编码模式。HTTP与RPC 的协议很相似,其简单、配置广泛,并且对防火墙比其他协议更容易发挥作用。SOAP技术有助于实现大量异构程序和平台之间的互操作性,从而使存在的应用能够被广泛的用户所访问。Windows RM支持PowerShell Remoting,因而可以在远设安全运行cmdlets及其脚本,并将结果返回到原来的PowerShell控制台。那么,为什么需要为其生成HTTP Listener呢?

在活动目录环境下,Kerberos协议能够确认远设可信度,但Kerberos协议是一种基于可信第三方的身份认证协议,具有口令猜测攻击、重放攻击等缺陷,而且,在工作组中将远设加入TrustedHosts名单时安全级别其实并不算高,因而必须为Windows RM提供确保安全的HTTPS Listener。Windows Server 2012及后续版本,系统默认支持PowerShell Remoting,否则需执行命令Enable-PSRemoting将其激活。

在准备生成HTTPS Windows RM Listener之前,我们不妨以Windows Server 2012 R2为例,看一下当前Listeners配置情况,为此在PowerShell控制台输入命令:

Get-ChildItemWSMan:Localhostlistener

PKI(Public Key Infrastruc ture)公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书。一个机构通过采用PKI框架管理密钥和证书可以建立一个安全的网络环境。

PKI主要包括四个部分:X.509格式的证书(X.509 V3)和证书废止列表CRL(X.509 V2);CA操作协议;CA管理协议以及CA政策制定。PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封和双重数字签名等。

假设当前系统还没 有PKI(Public Key Infrastructure),那么此时需要生成一个自认证,依此进行HTTPS Listener设置,命令格式如下:

$cert=New-SelfSigned Certificate-CertstoreLocation Cert:Local MachineMy -DnsName contosodc1

如 图1所 示,在上述命令行中,“contosodc1”指 的是正在生成Windows RM Listener所在的服务器名称,认证内容需要导出到文件内,并将该文件安装到连接侦听者所在的设备上。

图1 生成自认证的命令行

图2 运行cmdlet命令Import-Certificate

具体命令为:Export-Certificate -Cert$cert -FilePath C: empcert

现在对所有IP地址的HTTPS Windows RM Listener进行配置,命令为:

New-Item-PathWSMan:LocalHostListener-Transport HTTPS-Address *-CertificateThumbPrint$cert.Thumbprint –Force

之后,再次运行cmdlet命令Get-Item,可看到成功生成了Listener:

Get-ChildItemWSMan:Localhostlistener

对新生成的Listener需将其绑定到Windows Firewall rule,命令如下:

New-NetFirewallRule-DisplayName 'Windows Remote Management (HTTPSIn)' -Name 'Windows Remote Management(HTTPS-In)' -Profile Any-LocalPort 5986 -Protocol TCP

现在,需将自认证导入到将连接Windows RM Listener的所有设备上账户的 TRCA(Trusted Root Certification Authorities) 内,只要从PowerShell控制台运行cmdlet命 令Import-Certificate即可(如图2所示)。

然后安装自认证文件,命令如下:

Import-Certificate-Filepath 'C: empcert'-Cert Store Location'Cert:LocalMachineRoot'

最后,通 过SSL建 立PowerShell远程会话,命令如下:

Enter-PSSession-ComputerName contosodc1-Configuration Name Helpdesk -UseSSL

在上述命令中,“contosodc1”指设备名,如用PowerShell会话默认配置,则可省略命令参数–ConfigurationName。

猜你喜欢
数字签名公钥命令
只听主人的命令
浅析计算机安全防护中数字签名技术的应用
一种基于混沌的公钥加密方案
移防命令下达后
基于数字签名的QR码水印认证系统
HES:一种更小公钥的同态加密算法
这是人民的命令
SM2椭圆曲线公钥密码算法综述
基于格的公钥加密与证书基加密
基于数字签名和HSM的数据库篡改检测机制