在前文 域环境下如何保护重要资料文件的安全(二)---IRM&RMS(上)中,我们看到了使用IRM可以很方便地为不同用户授予不同的权限从而保护了文档的安全.这种有别于其他常规加密手段的服务与支持它的应用程序(如Microsoft Office System)一起工作,真正地做到了不管计算机处于联网还是脱机,在局域网内部还是外部,想要对机密文档查看或操作必须得取得有效的授权.但我们也注意到IRM在实际使用上可能会有的一些不便,例如需要连接到Internet并且使用用户的Live ID来进行身份验证,这在许多限制比较严格的公司是难以做到的.那么,在这样的公司里我们会就此被迫舍弃这么好的技术手段吗?当然不会,因为我们还有RMS(Rights Management Services),一种堪称里程碑式的信息保护技术.
相信很多对信息安全比较关注的网友在Windows server 2003上就对RMS比较关注或者已经在使用中了.如下图所示,常规的RMS体系中一般会包括这么几部分:
1.Active Directory活动目录
活动目录数据库提供用户的身份验证及必需的相关信息(如电子邮件地址),并且会通过服务连接点(Service Connection Point)为用户告知RMS根群集的位置.
2.根认证服务器/Root Cluster根群集
域/林中一个或者多个RMS服务器组成RMS根群集,当有多个服务器时可以分担负载. 根认证服务器/根群集上拥有服务器许可方证书(Server Lisensor Certificate)并且控制着RMS服务运作规则,它为客户端电脑及用户账号分别颁发Security Processor Certificate及Rights Management Account Certificate证书,同时授权给用户能够发布受限文件(Client License Certificate)以及接收者/使用者对受限文件的使用权限(Use License).
3.SQL DB SQL数据库
数据库中存放的是根群集的配置数据,日志记录和目录服务等信息.
4.Client客户端
默认情况下Windows7,Windows Server 2008和Windows vista系统中已经包含RMS客户端,其他老版本的操作系统必须安装RMS客户端.并且启用了RMS Client的客户端操作系统上需要安装有支持RMS的浏览器或应用程序(如Microsoft Office 2007).
在Windows Server 2003上部署过RMS的朋友都知道,首先RMS在Windows Server 2003上是作为一个插件而存在的,我们要安装它需要先到微软官网下载,安装完成后需要连接到Microsoft注册服务(即是创建和签名SLC的过程),而且配置的时候是在网站形式界面下进行的,步骤较多且易出错.
而到了Windows Server 2008中,RMS被作为了一项服务器角色包含于系统中,正式更名为AD RMS.并且AD RMS的管理是在MMC控制台中完成的,用户体验好感增强.不仅如此,AD RMS群集无需再连接到Microsoft注册服务,通过使用服务器自注册证书,整个注册过程可以完全在本地服务器上进行.第三点优势在于AD RMS与AD FS(Federation Services)集成在一起可以很方便的为没有部署AD RMS的外部伙伴企业提供协作,双方的用户无需使用Windows Live ID而是使用自己的网域账号进行身份认证.
所以,考虑到企业越来越多的采用Windows Server 2008并且08下的AD RMS是如此的美妙诱人,我也会使用AD RMS in Windows Server 2008为大家进行本文中的所有讲解与演示.
大家先看一下我的测试环境的拓扑图:
环境说明:
1. 我的RMS根群集中只有一台RMS认证服务器,有条件的朋友可以建置多台。
2. DC服务器上的操作系统是windows Server 2003 R2 SP2,SQL数据库上为Windows Server 2003 R2 SP2 + SQL2008,RMS认证服务器采用的则是Windows Server 2008 R2(RTM版本),客户端为Win 7(RTM版本)并且安装了Office 2007 Enterprise软件。
3.其实严格地说,我们还需要一台exchange邮件服务器,因为对于想要使用RMS发布内容或者获得授权的用户及用户组,必须在AD中拥有电子邮件地址。我的实验环境中由于硬件资源有限而没有部署,所以需要手工设定。
鉴于此次对AD RMS的重视,这里比较详细地介绍建制AD RMS之前需要的软硬件环境及准备工作。
先看一下基于windows server 2008操作系统之上的AD RMS认证服务器的最低及推荐硬件配置:
要求
|
建议
|
一个 Pentium 4 3 GHz 处理器或更高级处理器
|
两个 Pentium 4 3 GHz 处理器或更高级处理器
|
512 MB 的 RAM
|
1024 MB 的 RAM
|
40 GB 的可用硬盘空间
|
80 GB 的可用硬盘空间
|
可以看到硬件需求并不苛刻
注:对于DC及SQL数据库的硬件要求这里不多做叙述
再来看软件要求:
软件
|
要求
|
操作系统
|
Windows Server 2008 /Windows Server 2008 R2
|
文件系统
|
建议使用 NTFS 文件系统
|
消息
|
MSMQ消息队列
|
Web 服务
|
Internet 信息服务 (IIS)。
必须启用 ASP.NET。
|
Active Directory 或 Active Directory 域服务
|
AD RMS 必须安装在 Active Directory 域中,其中域控制器正在运行带有 Service Pack 3 (SP3) 的 Windows Server 2000、Windows Server 2003、Windows Server? 2008 或 Windows Server 2008 R2。使用 AD RMS 获取许可证和发布内容的所有用户和组都必须在 Active Directory 中配置电子邮件地址。
|
数据库服务器
|
AD RMS 需要使用数据库服务器(如 Microsoft SQL Server 2005 或 Microsoft SQL Server 2008)和存储的过程来执行操作。Windows Server 2008 R2 上的 AD RMS 服务角色不支持 Microsoft SQL Server 2000。
|
注:DC及SQL服务器上的软件环境这里不多做叙述,前面我有说明
如果你的客户端是较早的操作系统,记得要去微软官网下载RMS Client(目前最新的是with SP2版本)安装
清楚并满足了AD RMS服务器的软硬件需求,便可以进入AD RMS的预安装阶段。
在预安装阶段,我们首先应在DC上建立一个AD RMS安装帐号(这里我设定为adrmsadmin)。此安装帐号要加入进AD RMS服务器的本地管理员组,并且具有SQL Server的本地管理员权限以及系统管理员数据库角色。如果需要在安装过程中注册服务连接点(SCP),此帐号还需具有网域Enterprise Admins组成员身份。建立好AD RMS安装帐号,我们还要创建一个用作AD RMS服务帐号的域帐号(这里我设定为adrmssrvc),此帐号并不要求额外的权限,domain users成员就好。
同时,因为域控操作系统是Windows Server 2003,这里要确认域功能级别以提升至2003
当然,如果你的域控建立在Windows Server 2008之上的话就不用检查或者提升了
为了使读者能清晰地看到最终实验效果,我在contoso域中会使用三个域用户/组来进行授权和获取授权等操作的演示。
做好了上面的铺垫工作,就可以开始在Windows Server 2008 上开始安装AD RMS服务器角色了。
注:关于SQL Server 2008的安装及配置,客户机上的Office 2007软件的安装等过程这里就不再多做叙述了,这些并非本文重点.
用前面建立好并且已经授予相应权限的ADRMSADMIN账号登陆Windows Server 2008服务器
打开服务器管理器,选择"添加角色"
可以看到排在榜首的Active Directory Rights Management Services,我们安装的就是它,勾选
可以看到,我们前面提到的AD RMS依赖的组件都自动地列了出来以供安装,非常方便!
开始安装
这里还可以选择是否安装联合身份验证支持,联合身份验证可以实现与建立了信任关系但是没有部署AD RMS的其他组织实现AD RMS功能.
全新创建AD RMS群集,下一步
选择后台数据库,可以在AD RMS服务器上直接创建Windows internal database,这种数据库的局限性较大,应为其不能远程连接控制,所以如果选择了使用这种数据库,AD RMS群集中就只能容纳一台AD RMS认证服务器.
我这里选择连接到专门的一台安装好SQL Server 2008 服务器,并选择默认实例.
要注意的是如果远程数据库服务器上启用防火墙的时候,需要开放1433,445这些数据库连接访问常规端口.
点击"验证"后"下一步"按钮才可点选.
输入AD RMS服务帐户及其密码
配置AD RMS群集键存储方式,当AD RMS服务器的灾难恢复及其他AD RMS加入群集时候会需要这个密钥.
为保护群集键设定AD RMS群集密码.
选择AD RMS群集网站,选择默认网站从而创建虚拟目录
设定群集的URL地址,如果你的环境中有证书服务器的话可以申请证书以使用SSL加密连接.
建议在生产环境中实施AD RMS的时候选择此方式
在试验环境中这里我选择了使用未加密的连接.
这里我没有使用AD RMS服务名作为内部地址,而是起了一个新的FQDN.
只要在DNS中添加相应的A记录即可
命名服务器许可方证书,保持默认即可,下一步
选择自动注册SCP
安装Web服务器角色
保持默认即可
确认开始安装
耐心等待,安装进行中...
安装完成,提示需要注销AD RMS安装账号重新登录
重新登录后可以以控制台方式直接管理AD RMS.在AD RMS控制台中可以配置信任策略,配置排除策略以及创建权限策略模板.
AD RMS服务器端基本配置完成.
==================================================
我们回到客户端上,使用普通域用户cto登录
需要先进行的操作是把AD RMS群集的URL地址添加到本地intranet信任站点中
然后新建一个Office word 2007,cto用户想要达到的效果是cfo可以查看这个他授权的文件,但是不能修改,复制,打印这个文件,其他用户则是看都不能看
和上文中的IRM步骤一样,点击"准备"---"限制权限"---"限制访问"
客户端会查询SCP以查找AD RMS群集并下载权限帐户证书(RAC)
接下来和IRM一样,选择要授权的用户及授予什么样的权限.
稍微不同的是这里我们不用再去使用Windows Live ID了,而是域用户的电子邮件地址
权限已经设好,可以看到文档中"限制访问"的提示
接下来,换成cfo账号登陆客户端
打开刚才被加了访问限制的文档,出现要求输入用户身份凭证的对话框
输入cfo的账号及密码
出现提示"此文档的权限当前已被限制",所以需要连接到AD RMS服务器上验证身份并下载RAC
文档被cfo打开了,可以看到cfo对此文档的权限.
再切换到使用cso登录客户端
当cso登陆到客户端并访问文件时,
首先也会要求输入用户身份凭证
cso用户得到的反馈是没有被允许打开文档的凭据
点击"是"可以通过邮件向权限设置者请求额外权限,点击"否"则根本不能打开文档,点击"更改用户"可以选择更换其他用户身份来对文档操作,当然,你必须有那个用户的账号密码,而那个用户是否有查看的权限仍是未知,AD RMS真的是很安全...
关于使用联合身份验证,以及在AD RMS控制台中的操作我这里就不再多演示了,本文只是抛砖引玉,目的是让大家知道有这么一个很强大的信息安全解决方案.如果有兴趣深入了解AD RMS的网友不妨仔细看一下AD RMS的帮助文件或者至微软Technet网站上浏览.
网址: http://technet.microsoft.com/zh-cn/library/cc771234(WS.10).aspx
总结:
经过了EFS,IRM和AD RMS的实战,相信大家对如何在域环境下如何保护重要资料文件的安全有了一些自己的规划和考虑,那么我的目的也就达到了.
不过,此系列并未就此结束,还有一位Microsoft的产物:BitLocker,我们下篇继续学习...