APP下载

使用AD RMS保护文档安全

2016-03-15

网络安全和信息化 2016年7期
关键词:菜单文档账户

引言:Office文档在企业中的应用极为广泛,对于包含重要信息的文档,是不允许无关人员随意接触的。虽然可以对文档进行加密保护,不过一旦密码设置的比较简单的话,使用专用的破解工具还是可以破解的。能否有更加完善的保护机制,让文档只能由指定的用户浏览或者编辑,而且只能在内网环境中操作,即使将其泄漏出去,也无法对其访问呢?

Office文档在企业中的应用极为广泛,对于包含重要信息的文档,是不允许无关人员随意接触的。虽然可以对文档进行加密保护,不过一旦密码设置的比较简单的话,使用专用的破解工具还是可以破解的。能否有更加完善的保护机制,让文档只能由指定的用户浏览或者编辑,而且只能在内网环境中操作,即使将其泄漏出去,也无法对其访问呢?使用AD RMS权限管理服务,就可以非常轻松的解决上述问题。在企业内网域环境中,使用AD RMS服务可以指派专用的账户访问指定的文档,即使将其复制到企业外部,因为权限问题是无法访问文档内容的。而且管理员只要将目标域账户删除或者停用,可以彻底阻止其接触任何文档。

AD RMS加密原理

ADRMS是Windows Server 2008/2012中的一项系统服务,可以对Office文件进行加密和认证。其支持Office 2003/2007/2010/2013等版本,而且只支持Word,Excel,PowerPoint,Outlook,InfoPath组件。对于Office 2003来说,因为其内置的证书存在过期问题,所以必须安装特定的补丁才可以使用ADRMS保护功能。当打开ADRMS保护的文档时,必须经过身份验证操作,使用者的权限实际上存储在ADRMS数据库中,而不是存储在本地,只有当身份验证符合文档要求时,才可以将权限信息下载到本地。之后根据对应的权限,来获取相应的访问权。例如,如果只拥有只读权限,那么使用者就只能读取文档内容。如果拥有写入/修改的权限,就可以对文档进行修改操作。如果没有任何权限,就拒绝访问文档。因为ADRMS是活动在域环境中的,因此,只要将使用者的域账户禁用,其就无法访问受到ADRMS保护的文档。下载地址:https://support.microsoft.com/zhcn/kb/978551。

在Internet上体验AD RMS保护功能

其实,在Internet上 也可以体验ADRMS保护功能。例如,在Word 2010中编辑某个文档,点击菜单“文件”→“信息”项,在打开面板中点击“保护文档”项,在分支菜单中点击“按人员限制权限”→“管理凭据”项,如果您拥有Windows Live ID账号,可以在向导界面中选择“是,我希望注册使用Microsoft的这一免费服务”项,表示使用信息权限管理服务。点击“下一项”按钮,选择“是,我有Microsoft账户”项,在下一步窗口中输入电子邮件地址(例如“xxx@hotmail.com”)和密码。

点击登录按钮,在选择计算机类型窗口中选择“此计算机是私人计算机”项,点击“我接受”按钮,Word 2010就会连接到Internet上的证书服务器,下载所需的证书,用来保护文档安全,点击“完成”按钮,在“选择用户”窗口中显示您的Windows Live ID账号,点击确定按钮,在权限窗口中选择“限制对此文档的权限”项,在“读取”栏中输入允许读取该文档的用户ID(例如“auserrl@hotmail.com”等,彼此之间以分号隔离),在“更改”栏中输入允许编辑该文档的用户ID。点击“其他选项”按钮,在弹出窗口中选择“此文档的到期日期为”列表中选择目标日期,当达到该日期后,就无法访问该文档了。选择“打印内容”项,表示可以打印其内容。选择“允许具有读取权限的用户复制内容”项,对于拥有只读权限的用户来说,可以复制文档内容。选择“用户可以从此处请求附加权限”项,输入“mailto:xxx@hotmail.com”之类的邮件地址,允许无关用户向该邮箱发送请求权限的邮件。点击确定按钮,保存配置信息。由此可以看到,ADRMS的特点是权限信息统一存储在ADRMS数据库中,当用户访问文档时,必须先通过身份验证,之后才可以将权限信息下载到本地,之后据此比较当前用户身份,来确定其具体的访问权限。

准备AD RMS 安装环境

虽然在Internet上可以体验微软提供的文档保护功能,不过其只能免费使用120天。因此,在域环境中,想充分发挥ADRMS的文档保护功能,必须安装和部署该服务。对于服务器端来说,需要有活动目录的支持,提供所需的证书,安装消息服务队列、SQL Server数据库或者系统内置的数据库、IIS和ADRMS组件。对于客户端来说,对于Vista/Windows7/8等系统来说,已经内置了RMS Client客户端程序,对于XP来说,需要下载安装RMS Client客户端程序。

例如在本例中,在域环境中存在DC服务器,ADRMS服务器以及客户端主机,在服务器上安装的是Windows Server 2008 R2。 在DC控制器上打开服务器管理器,在左侧的“角色”项的右键菜单上点击“添加角色”项,在向导界面中选择“Active Directory证书服务”项,点击下一步按钮,在选择角色服务窗口中选择“证书颁发机构”和“证书颁发机构Web注册”项,之后依次点击“下一步”按钮,完成证书服务的安装操作。提供证书服务的目的在于ADRMS服务需要证书支持,当客户端下载文档访问权限信息时,依靠的是HTTPS协议,而证书是捆绑在IIS组件中的。

为了便于使用ADRMS服务,需要为其配置账户信息。在DC上打开Active Directory用户和计算机窗口,在左侧选择“域名”→“Users”项,在工具栏上点击新建账户按钮,在弹出窗口中输入账户名(例如“gladrms”)和密码。注意需要选择“密码永不过期”项,这是因为该账户用户管理ADRMS服务,按照默认的安全策略,当经过一段时间后,密码就存在过期的问题,一旦过期的话ADRMS服务就会停止。实际上,所有用于启动服务(例如SQL Server服务等)的账户,都应该采取上述设置。

在该账户的右键菜单上点击“添加到组”项,在“输入对象名称栏选择”栏中输入“domain admins”,点击确定按钮,将其添加到域管理员账户,使其拥有合适的管理权限。为了便于说明,可以在Active Directory用户和计算机窗口选定某个OU,在其中创建名为“user1”和“user2”的账户,并为其设置密码。注意,为了在ADRMS中正确标识用户信息,必须为其设置邮箱信息。例如,打开“User1”账户的属性窗口,在“常规”面板中的“电子邮件”栏中输入其Email地址(例如“user1yx@xxx.com”,可以随意输入)。

安装和配置 ADRMS

因为ADRMS服务器已经加入到域环境,所以在该机上打开CMD窗口,执行“gpupdate /force”命令,通过刷新组策略,来获得根信任证书。运行“mmc”程序,在控制台窗口中点击菜单“文件”→“添加/删除管理单元”项,在弹出窗口左侧列表中选择“证书”项,点击“添加”按钮,选择“计算机账户”项,在窗口左侧选择“证书”→“受信任的证书颁发机构”→“证书”项,可以看到上述根证书信息。在ADRMS服务器中打开服务器管理器,按照同样的方法,安装Web服务器(IIS)角色,注意必须选择其中的“ASP.NET”组件。

在服务器管理器左侧的“功能”项的右键菜单上点击“添加功能”项,在向导窗口中选择“Windows内部数据库”和“消息队列”项,点击下一步按钮,完成安装操作。注意,如果要实现ADRMS服务的容错功能,必须安装SQL Server 2005 SP3以上版本的数据库。这里使用的是Windows内部数据库,表示仅仅部署将其部署在单机上,不提供容错功能。之后必须注销并登录服务器,ADRMS服务才能挂载Windows内部数据库。

在IIS管理器中双击“服务器证书”项,在打开窗口右侧点击“创建域证书”链接,在创建证书窗口中输入通用名,组织,组织单位,城市/地点,省/市/自治区,国家/地区等内容,在下一步窗口中点击选择按钮,选择根证书颁发机构名称,输入证书的好记名称,点击“完成”按钮,得到所需的证书。准备好安装条件后,按照上述方法,安装“Active Directory Rights Management Services”角色,在向导窗口中选择“Active Directory权限管理服务器”和“联合身份验证支持”项,前者是ADRMS的核心服务,后者用于在公网上提供ADRMS服务。当用户处于Internet环境,必须通过VPN拨号连接,登录到内网后,才可以提交身份验证请求。

点击“下一步”按钮,选择“新建 ADRMS 群集”项,表示创建单台ADRMS服务器。如果创建ADRMS群集,提供容错功能的话,在创建第二台ADRMS服务器时,可以选择“加入现有AD RMS群集”项。在下一步窗口中选择“在此服务器上使用Windows内部数据库”项,如果安装了SQL Server数据库,则可以选择“使用其他数据库服务器”项,选择数据库服务名和数据库实例。在下一步的指定服务账户窗口中点击“指定”按钮,输入上述管理账户(例如“gladrms”)和密码。点击“下一步”按钮,选择“使用AD RMS集中管理的密钥存储”项,表示所有的密钥全部存在ADRMS数据库中。

点击“下一步”按钮,输入ADRMS后台管理密钥。在指定群集地址窗口中选择“使用SSL加密连接”项,为客户端下载ADRMS密钥提供了网络接口。在“内部地址”栏中输入合适的域名,例如“https://adrms.xxx.com”,默认端口为443。注意,需要在DC域控制器上打开DNS管理器,选择“DNS”→“主机名”→“正向查找区域”→“xxx.com”项,在其右键菜单上点击“新建主机(A或AAAA)”项,在新建主机窗口中的“名称”栏中输入“admrs”,这需要和上述域名对应。在“IP”栏中输入ADRMS服务器的地址,点击“添加主机”按钮,添加所需的域名信息。在上述指定群集地址窗口中点击“验证”按钮,当验证域名通过后,在下一步窗口中选择证书,证书已经在上述步骤中准备完毕。在下一步窗口中输入许可方证书名称,默认为ADRMS服务器主机名。

点击“下一步”按钮,选择“立即注册AD RMS服务连接点”项,执行SCP的注册操作。点击“完成”按钮,执行ADRMS角色的安装动作。之后执行注销操作,才可以正常使用ADRMS管理工具。注意,DC会自动将SCP提交给域成员,让其知道究竟是哪个服务器提供ADRMS服务。对于多台ADRMS服务器来说,只能有一台服务器可以注册SCP。因此,如果重新安装ADRMS服务器时,可能面临出错的情况,原因在于前一台ADRMS服务器已经向域注册过SCP,必须将活动目录数据库中的相关注册信息删除,才可以顺利安装该ADRMS服务器。

例如,在DC上执行“ADSIEDIT.msc” 程序,在ADSI编辑器窗口左侧的“ADSI编辑器”项的右键菜单上点击“连接到”项,在连接设置窗口中选择“选择一个已知命名上下文”项,在列表中选择“配置”项,点击确定按钮,在窗口左侧选择“ADSI编辑器”→“配置[具体的域名]”→“CN”→“CN=Services”→“CN=RightsManag ementServices”→“CN=CAP”项,在其右键菜单上点击“属性”项,在弹出窗口中可以看到 以“https://adrms.xxx.com:443”之类网址开头的项目,这就是域SCP对应的注册信息。只有将该项目删除,才可以重新安装ADRMS服务器。

使用AD RMS保护文档安全

在域中的某台Windows 7客户机上以“user1”账户登录,使用Word 2010编辑并保存所需的文档,之后点击菜单“文件”→“信息”项,在打开面板中点击“保护文档”项,在分支菜单中点击“按人员限制权限”→“管理凭据”项,Word 2010即可和域中的ADRMS服务器进行通讯,在弹出的Windows安全窗口中输入合适的账户名(例如“user1”)和密码,点击“确定”按钮,Word 2010提示正在配置您的计算机以用于信息权限管理的信息。

注意,为了加速连接操作,操作可以顺利进行,需要在DC上执行“gpmc.msc”程序,在组策略管理器左侧选择“林”→“域”→“域名” →“Default Domain”项,在其右键菜单上点击“编辑”项,在编辑窗口左侧选择“计算机配置”→“策略”→“Windows设置”→“安全设置”→“公钥策略”项,在右侧双击“证书路径验证设置”项,在其属性窗口中的“网络检索”面板中选择“定义这些策略设置”和“自动更新Microsoft根证书程序中的证书(推荐)”项,将“默认URL检索超时”和“默认路径验证累计检索超时”项的值均设置为1秒。同时取消“允许在路径验证期间进行颁发者证书(ATA)检索”项的选择状态,点击确定按钮保存配置信息。

如果在连接过程中,出现“打开受信息权限管理保护的内容时出现问题”的提示,需要在IE选项窗口中的“安全”面板中选择“本地Intranet”项,点击“站点”按钮,在弹出窗口中点击“高级”按钮,在“将该网址添加到区域”栏中输入ADRMS服务器的网址,例如“rmsserver.xxx.com”。点击“添加”按钮,将其添加到信任列表中,就可以很好的解决该问题。

这样,就可以减小客户机到Internet上验证Office内置证书的时间,大大提高连接的速度。之后在客户机上执行“gpupdate /force”命令,来刷新组策略。当连接完成后,选择对应的账户名,点击“确定”按钮,在权限窗口中选择“限制对此文档的权限”项,在“读取”栏中输入允许读取该文档的用户的邮箱地址(例如“user2@xxx.com”等)名称,在“更改”栏中输入允许编辑该文档的用户的邮箱地址(例如“user3@xxx.com”等)。点击“其他选项”按钮,可以设置附加的安全选项。

当保存该文档后,如果“user2”用户将其复制到其他主机,并使用“user2”账户登录到域,当其将其打开时,必须在弹出的Windows安全窗口中输入自己的账户(例如“user2”)和密码。系统会弹出“此文档的权限当前已被限制,Microsoft Office必须连接到https://adrms.xxx.com:443/_wmcs/licensing验证您的凭据并下载权限”的提示信息。可以看到,当前文档已经被ADRMS审核,并且通过SCP注册信息,从指定的网址下载权限信息,即用户的权限信息存储在ADRMS数据库中,处于ADRMS的统一管理之下。

点击“确定”按钮。可以从ADRMS服务器上下载权限信息,并与当前登录账户进行对比,来确定当前使用者操作该文档的具体权限。当文档打开后,在“限制访问”工具栏上点击“查看权限”按钮,在我的权限窗口中显示具体的权限信息,包括查看,编辑,复制,打印,保存,导出,以程序手段访问文档,完全控制等。以“user2”用户为例,其只拥有查看的权限。如果点击“请求附加权限”链接,则可以打开客户端邮件(例如OutLook等),向预设邮箱发送请求更多权限的邮件。

当该用户在Word 2010中查看文档时,会发现绝大多数得菜单项均处于不可用状态,使其只能查看文档,无法执行打印,复制,编辑等操作,即使使用HyperSnap等专业的抓图工具,也是不允许抓取文档内容的。使用“user3”账户登录域环境,就可以编辑该文档。如果使用其他的不在权限管理范围账户登录的话当其试图打开该文档时,系统因为在ADRMS服务器上找不到对应的权限信息,所以会显示“您没有允许打开文档的凭据”的警告信息,禁止该用户访问受到权限保护的Office文档。

使用权限模版,提高保护效率

当然,在实际应用中,不同部门的不同用户对于文档拥有不同的权限,例如主管可以完全控制文档,而一般员工只能查看文档等。采用一般的方法,只能手工的逐一配置权限信息。这样就会造成操作效率底下的问题。其实,利用权限模板,就可以轻松解决该问题,让权限的分配变得更加轻松。首先在DC上打开Active Directory用户和计算机窗口,选定某个OU,在其中创建一个名为“yhzu”的安全组,将所需的账户(例如上面谈到的“user1”等)全部添加进来。

注意,在该组的属性窗口中的“电子邮件”栏中必须设定Email地址(例如“yhzu@xxx.com”),否则无法配置权限模板。在ADRMS服务器上创建一个名为“moban”的共享文件夹,允许Everyone账户对其拥有读写权限。打开管理工具菜单,启动Active Directory Rights Management Services程 序,在其管理程序左侧选择“主机名”→“信任策略”→“权限策略模板”项,在右侧点击“属性”项,在弹出窗口中选择“启用导出”项,在“指定模板文件位置”栏中输入模板文件存放路径,例如“\rmsserver.xxx.commoban”,其中的“rmsserver.xxx.com”表示ADRMS服务器的UNC路径,这需要在DNS服务中进行设定,“moban”表示上述共享文件夹。点击确定按钮,就可以将共享模板文件存放到上述共享文件夹中。

在上述窗口右侧点击“创建分布式权限模板”链接,在弹出窗口中点击“添加”按钮,输入该模板的名称(例如“adrmspolicy”)和描述信息,保存之后点击下一步按钮,在添加用户权限窗口中点击“添加”按钮,输入相关账户的邮箱信息(例如“user1@xxx.com”),在权限列表中为其设定权限,包括完全控制,查看,编辑,保存,导出,全部答复,提取,允许宏,查看权限,编辑权限等,可以根据需要进行选择,例如为其选择“完全控制”项使其可以拥有文档控制权。例如添加的邮箱为“yhzu@xxx.com”,针对该组设置权限,例如只选择“查看”和“查看权限”项,那么该组中没有单独指派权限的账户将统一拥有该权限。在“请求权限URL”栏中输入合适的Email地址,允许无关用户向其申请权限。点击“下一步”按钮,指定过期策略。默认情况下,该权限模板永不过期。当然,您可以实际需要,来设定具体的过期时间。之后点击“完成”按钮,完成该权限策略的创建。打开“模板”共享文件夹,可以看到所创建的模板文件(后缀为“.xml”)。为了便于分发该权限模板,需要使用Office 2010中的一个和组策略相关的策略模板,这需要从网上下载名为“AdminTemplated_64bit.exe”的文件。

在DC上执行该程序,将其内容释放到指定的目录中。进入该目录中的“ADM”目录,打开其中的“zh→cn”文件夹,找到名为“office14.adm”文件,这就是所需的模板。之后在组策略管理器中选择“林”→“域”→“域名→“xxx”项,“xxx”表示具体的OU(例如某个部门等),在其右键菜单上点击“在这个域中创建GPO并在此处链接”项,输入该GPO的名称(例如“adrms_policy”),点击确定按钮保存配置。之后选择“adrms_policy”项,在其右键菜单上点击“编辑”项,在编辑窗口左侧选择“用户配置”→“策略”→“管理模板”项,在其右键菜单上点击“添加/删除模板”项,在弹出窗口中点击“添加”按钮,选择上述“office14.adm”文件,完成该模板的添加操作。

完成后选择“用户配置”→“策略”→“管理模板”→“经典管理模板”→“Microsoft Office 2010”项,可以看到大量的和Officce 2010相关的设置项目。实际上,在这里就可以完全控制相关域用户中Office 2010的使用权限。在本例中选择“管理受限权限”项,在右侧双击“指定权限策略模板”项,选择“已启用”项,在“输入内容权限策略模板的路径”栏中输入“\rmsserver.xxx.commoban”,指定存储权限模板的共享文件夹。点击“确定”按钮,保存配置信息。之后在客户端上打开CMD窗口,执行“gpupdate/force”命令刷新组策略。在域中的某台Windows 7客户机上以“user1”账户登录,使用Word 2010编辑并保存所需的文档。

点击菜单“文件”→“信息”项,点击“保护文档”项,点击“按人员限制权限”项,在分支菜单中就会显示上述名为“adrmspolicy”的模板权限菜单项,当然,使用者必须是组策略中指定部门的用户。当点击该菜单项后,系统就会根据该模板中预设的信息,根据当前的使用者的身份,自动为文档设置对应相应保护权限,而无需手工来设置所需的保护功能。例如对于“user1”用户来说,可以自动为文档设置完全控制的权限,而对于上述组中的其他的用户来说,在文档中设置的是查看权限。这样,就大大提高了操作的灵活性。

猜你喜欢

菜单文档账户
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
中国新年菜单
如何切换Windows 10本地账户与微软账户
探索自由贸易账户体系创新应用
外汇账户相关业务
父亲的股票账户
本月菜单
基于RI码计算的Word复制文档鉴别
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat