[转]Windows Server 8 Beta 介绍 (03) –Windows PowerShell Web Access简介 (中)

源地址:http://www.powershellfans.com/?p=1071

===============================================================

接着上篇内容,接下来我们来看看Windows  PowerShell Web Access的四层安全模型。在最后一篇中会介绍下登录Windows PowerShell Web Access的几种方式,Web版和应用程序版本之间的区别,然会来看下目前版本中的一些限制。

安全模型

作为一个最终会面向Internet发布的Web应用,同时又是一个可以接触到企业内部Windows核心管理的Web应用,Windows PowerShell Web Access在设计的时候就已经考虑到了安全上的一些问题,并努力将安全威胁降到最低,保证管理员在享受便利的同时,不会被不法之徒有机可乘。

第一层 IIS的安全特性

首先说明一点Windows Server 8中的IIS的版本已经升至第8版,管理界面虽然和7及7.5相比没有太多变化,但是细节上肯定有所增强,这方面的文档我还没时间看,有兴趣的朋友不妨来 看一下。而这里提到的IIS的安全特性就也不是新增的功能,而是之前一直存在的客户端证书验证。我们可以在IIS的站点设置启用客户端证书验证功能,使得 只有持有有效证书的管理员才能使用Windows PowerShell Web Access。使用这项设置后,系统管理员就可以在用户名和密码验证之前启用一道额外的安全屏障。因此接下来要做的事就是在服务器端启用强制使用客户端证 书验证设置,随后为用户申请相关证书。首先是IIS端的设置,和以前相比没有太多变化。

image

接下来是用户证书的申请,和之前版本的Windows也是类似,然而导出向导这里却有一个不同,可以发现在安全性这里增加了一项组或用户名的设置, 这也大大方便管理员在企业分发.pfx的证书文件,即使.pfx文件不小心落入他人之手,但由于该人的组成员关系中不存在对应的组,因此也无法使用这种证 书。这里因为我要在测试域之外使用这张客户端证书,因此还是选择旧有的密码方式来保护私钥的安全。导出向导剩下的几步也和以往相同,这里就不多介绍了。

image

在客户端安装完证书后,再次访问Windows PowerShell Web Access站点,会得到来自IE的提示,让我们选择一张客户端证书。

image

这里选择刚才申请的客户端证书,然后点击OK,便会再次来到Windows PowerShell Web Access的登录界面。刚才我们看到的是IE中的客户端证书对话框,接下的则是Firefox中的。

image

image

其结果还是一样的,我们可以在Firefox中正常使用Windows PowerShell Web Access。

第二层 Windows PowerShell Web Access 基于表单的网关验证

这一层比较好理解,就是我们必须在表单中输入正确的帐号和密码才能继续使用Windows PowerShell Web Access。这里的帐号可以是一个合法的域账号,也可以是Windows PowerShell Web Access的本地服务器上的帐号。如果该账号的有效性得到了验证,Windows PowerShell Web Access便会进一步检查授权规则中的相关设置,如果授权检查通过,Windows PowerShell Web Access便将用户的凭据发送给目标计算机。

第三层 Windows PowerShell Web Access授权规则

这一层在上篇的介绍中,大家已经看到了规则的效果,这里再次重申下,这些规则是用户在通过网关的验证后,在用户能在目标计算机验证之前发生的。接下 就通过一个非常小的演示来说明这个规则。首先在测试环境中我已经准备好了三台域控制器(可以推广到其它成员服务器),分别隶属上海,北京和广州这三个站 点。现在假设Contoso公司的管理策略是,只有各站点的管理员才能通过Windows PowerShell Web Access对各站点的服务器进行管理,那么该如何实现这个需求呢?首先当然是要做一些准备才行,这里可以使用Windows PowerShell Active Module中的命令来创建相应的组织单元,组和对应的管理员帐号。具体命令其实和Windows Server 2008 R2中是一样,因此这里就略去了,各位可以看看我以前的系列文章。主要使用到的cmdlets是New-ADOrganizationalUnit, New-ADGroup, New-ADUser, Enable-ADAccount和Add-ADGroupMember。最后记得将相关组加入Domain Admins组,这是因为默认的Session的访问控制项决定的。

创建完成之后,在来到CNSHUTILSVR01这台机器上配置对应的Windows PowerShell Web Access授权规则。

image

创建规则时需要注意计算机名必须以FQDN形式输入,当然如果服务器数量比较多的话,可以通过建组来解决。但是组的话也必须符合 “domain\user”的格式。授权规则建立好之后,再来访问下Windows PowerShell Web Access。这里使用的是shanghaiadmin这个帐号去访问CNBJADDSDC01这台位于北京的服务器,由于授权规则的作用,可以发现最终 用户是无法登录到Windows PowerShell Web Access的,同时在事件日志中也产生了相应的记录,方便管理员分析日志发现是否存在可疑登录。

image

第四层 目标计算机的身份验证和授权规则

最终的安全保护层是由目标计算机自身的安全配置构成的。用户必须拥有合适的权限才能访问目标计算机,而这项权限和用户使用Enter- PSSession或者New-PSSession时的验证机制一样,具体权限可以通过运行以下命令查看:Get- PSSessionConfiguration。注意我们需要关注的是名为microsoft.powershell和 microsoft.powershell32两项设置。命令的运行结果如下:

image

如果需要修改这里的访问控制权限的话,可以通过以下命令调出访问控制权限修改对话框:

Set-PSSessionConfiguration -Name Microsoft.PowerShell -ShowSecurityDescriptorUI

image

该项设置也是控制谁能使用PSRemoting功能的关键所在,如果该项访问控制设置不当的话会引起PSRemoting工作不正常,请大家牢记。 因为Windows PowerShell Web Access实质上是通过PSRemoting和远程计算机之间建立起连接的,这也是为什么在连接之前必须保证PSRemoting正常工作的原因。

接下来,要完成的一个实验是,创建一个自定义配置文件,并加载管理员创建的仅用于企业内部的PowerShell模块,其中包含针对特定服务器的命 令,整个过程如下。首先创建名为test.psm1的模块文件,里面包含的内容为一个显示欢迎消息的测试函数:Function Show-WelcomeMessage {Write-Host "Welcome to Contoso!"}。接下来准备名为test.ps1的脚本文件,内容为:

Import-Module C:\Scripts\test.psm1
(Get-Command Disable-PSRemoting).Visibility = "Private"

主要作用是导入刚才自定义的模块,并禁止用户执行Disable-PSRemoting命令。然后我们需要使用Register- PSSessionConfiguration注册一个名为PSWA的新配置文件并将启动脚本设置为刚才新建test.ps1。具体命令和执行效果如下:

Register-PSSessionConfiguration -Name PSWA -StartupScript C:\Scripts\test.ps1

image

完成之后,我们再登录Windows PowerShell Web Access页面进行登录,注意此时登录时要展开可选连接设置,在配置名称输入PSWA,也就是刚才我们新建的配置文件。

image

登录后,先来看看自定义的模块有没有加载,即能不能运行Show-WelcomeMessage命令,随后再来看看Disable-PSRemoting命令是否禁用:

image

如同我们设想的一样,自定义的配置文件能正常工作。

以上内容就是关于Windows PowerShell Web Access安全模型的简单介绍,其中安全模型的第四层还有很多值得扩展的内容。相信大家看完这篇介绍之后,也确信了Windows PowerShell Web Access是一项能给管理员在提供远程管理便利性的同时,又能保证安全的Web应用,相信在以后Windows Server 8正式推出后,Windows PowerShell Web Access会被越来越多的人接受和使用。

本次关于Windows PowerShell Web Access的介绍就到此结束了,下次我们将来看看Windows PowerShell Web Access剩下的一些细节信息,敬请期待。

(中篇更新完成)

提示:本文所讨论的是正在开发中的一款产品,如果今后正式版本中的内容与本文不符时,请以正式版本为准。

 

转载于:https://www.cnblogs.com/licheng/archive/2013/02/25/2931642.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值