利用审核策略 强化系统安全性

2019-12-23 21:47河南郭建伟
网络安全和信息化 2019年5期
关键词:组策略类别账户

■ 河南 郭建伟

编者按: 企业部署不同的应用系统,都存在用户管理的功能。针对不同的用户和角色,可以查看到系统中不同的信息。因此,在规划和创建应用系统时,对于不同用户的权限以及允许查看的内容必须严格加以限制。用户在使用过程中,可能会有意或者无意的跨越边界,试图越权查看其他信息,就会遭到系统拒绝并被记录下来。

利用命令行配置审核功能

在不同场景中,安全审计具有不同的标准。例如对于ISO 19011标准来说,系统所记录下来的用户访问信息和状态信息就是安全审计的证据。有了完整的记录后,在审计时就会利用基本的安全策略对比所有记录信息,来判断用户的操作是否合规。

对于安全审计来说,重点关注的就是不合规的信息。在所有版本的Windows系统中都提供了安全审计功能。例如Windows Server 2016安全审计功能必然包括记录所有的访问信息,使用合适的审计标准以及判断用户行为合规性等三个要素。

对 于Windows Server 2016来说,可以利用其安全审计策略来确定需要的记录用户活动信息,并将记录信息保存在事件日志中,管理员就会据此来判断用户行为的合规性。

例如在Windows Server 2016文件服务器中,要使用安全审核功能,可以使用多种方法来实现。例如在Power Shell窗口中执行“auditpol /list /category/v”命令,显示可选择的策略元素,即用户的哪些活动会被记录下来。执行“auditpol/get /category:*?”命令,可以显示更加详细的安全策略内容。通过查看以上信息,可以了解到究竟有哪些用户的访问行为会被记录下来,作为安全审核的材料。

在默认情况下,一些策略处于未启用状态。例如对于对象访问类别来说,其中就包括对文件系统、注册表、文件共享、证书服务、内核对象、可移动存储等审核策略,该类别处于未启用状态。为此可以执行“auditpol/set category:{xxx} /s u c c e s s:e n a b l e /failure:enable”命 令,即可启用针对该类别的审计功能,记录其中所有操作的成功或失败的操作,其中的“xxx”表示该类别的GUID值。例如当创建了一个共享目录后,其行为会被记录下来。执行“eventvwr.msc”命令,在事件查看器选择“Windows日志”→“安全”项,就可以查找到对应的记录信息。

对于本地Administrators组来说,其中的用户都拥有管理员权限,因此对本地安全组进行安全审计,就可以及时发现该组中成员的变动情况。执行“auditpol /set category:{xxx} /success:enable”命 令,即可启用针对账户管理类别的审计功能,记录其中所有操作的成功操作,其中的“xxx”表示该类别的GUID值。执行“net localgroup administrators”命令,显示当前的本地管理员组中的成员信息。当在其中添加新的成员后,在事件查看器中选择“Windiws日志”→“安全”项,点击菜单“操作”→“筛选当前日志”项,在打开窗口中的“包括排除时间ID”栏中输入“4732”,点击确定按钮,就可以将添加账户的信息过滤出来。如果筛选的ID为“4799”,就会将查询管理员组的操作信息显示出来。

利用组策略管理审核机制

使用命令行工具来管理审核功能,存在一些不足,例如操作起来较繁琐,只能针对主要的类别启用审核策略,无法直接对具体的子类别单独配置审核策略等,如果存在很多服务器,只能逐台进行配置等。

利用本地组策略和域的策略可以很好地解决这些问题。执行“gpedit.msc”命令,在组策略编辑器中选择“计算机配置”→“Windiws设置”→“安全设置”→“本地策略”项,在右侧显示所有的审核策略。例如双击“审核账户管理”项,在属性窗口中选择“成功”和“失败”项,就启用了该审核策略。

之后所有和账户管理相关的操作都会被系统记录下来。如果仅仅想针对具体的子类来设置审核策略,例如单独设置账户管理类别中的安全组管理子类进行操作,可以在左侧选择“计算机配置”→“Windiws设置”→“安全设置”→“高级审核策略配置”→“系统审核策略”项,在其下显示不同的审核类别。选择对应的类别,在右侧显示其中包含的所有子类别。例如选择“账户管理”项,在右侧双击“审核安全组管理”项,在打开窗口中选择“配置以下审核事件”项,选择“成功”或“失败”项,激活针对该子类别的审核功能。

选择“本地策略”→“安全选项”项,在右侧双击“审核:强制审核策略子类别设置替代审核策略类别设置”项,在属性窗口中选择“已启用”项,那么仅仅会激活高级审核策略。当然,这需要在Windows Server 2008 R2及其以上版本的支持方可。为了针对不同的用户进行审核,也可以利用组策略实现。例如在高级审核策略分支下选择“对象访问”项,在右侧双击“审核文件系统”项,激活该审核项目。之后在目标文件或目录的属性窗口中的“安全”面板中点击“高级”按钮,在打开窗口中的“审核”面板中点击“添加”按钮,添加目标账户。在“基本权限”栏中为其指定审核项目,包括完全控制、修改、读取和执行、列出文件夹内容、读取、写入等项目。当该用户针对文件执行具体操作时,其行为就会被系统记录下来。这样可以针对不同用户分别进行审核。对于拥有指定权限的用户,记录的是成功的事件。对于没有权限的用户操作,则是失败的操作。

利用审核策略,探测恶意程序

使用系统自带的审核机制,可以快速发现潜伏很深的恶意程序。这里以监控“C:Windowssystem32”系统文件夹中的“drivers”子文件夹为例进行说明。

在Windows的“文件夹选项”窗口的“查看”面板中取消“使用简单文件共享”项,在开始运行中执行“gpedit.msc”命令,在组策略窗口左侧依次展开“计算机配置”→“Windows设置”→“安全设置”→“本地策略”→“审核策略”分支,在右侧窗口中双击“审核对象访问”项,在弹出窗口中勾选“成功”和“失败”项,保存配置。

在“Drivers”文件夹的属性窗口中打开“安全”面板,点击右下角的“高级”按钮,在弹出窗口“审核”面板中点击“添加”按钮,在账户搜索窗口中选中“Everyone”用户,在审核项目窗口中的“访问列表”中的“遍历文件夹/运行文件”栏中勾选“成功”和“失败”项。

当然,也可以选择其他审计项目。这样,对“Drivers”文件夹的操作就会被系统列入审核的范围内。

之后可以随时打开Windows事件查看器,在窗口左侧选择“安全性”项,点击菜单“查看”→“筛选”项,在弹出窗口中仅仅勾选“成功审核”和“失败审核”项,这样就大大缩小了搜索范围。如果发现有用户对“Drivers”文件夹进行了访问,就说明有可疑程序对系统驱动程序进行了改动。之后使用安全软件对系统进行彻底扫描,来清除深度潜伏的害群之马。

利用审核策略,管控程序运行

利用审核策略可以有效控制程序的运行,例如禁止运行一些具有潜在风险的程序等。只要开启关于目标程序的审核策略,系统的事件查看器就会自动记录针对该程序的审核事件。

审核事件是可以关联到计划任务的,利用这一原理,就可以在启动该程序时自动将其关闭。在组策略窗口左侧选择“计算机配置”→“Windows设置”→“安全设置”→“本地策略”→“审核策略”项,在窗口右侧双击“审核对象访问”项,在弹出窗口中的“审核这些操作”栏中选择“成功”和“失败”项,开启本审核策略。之后进入目标程序安装路径,选择“xxx.exe”文件,在右键菜单中点击“属性”项,在弹出窗口中的“安全”面板中点击“高级”按钮,在高级安全设置窗口的“审核”面板中点击“编辑”,在弹出窗口中点击“添加”,在选择用户或组窗口中点击“高级”按钮,之后点击“立即查找”按钮,可以显示系统中的所有账户和组信息。

选择合适的账户名添加到审核列表中。随后自动打开的审核项目窗口,在其中可以针对该账户设置所需的审核项目。为了全面掌握目标程序的活动情况,选择“成功”和“失败”列中的所有项目。之后连续点击确定按钮,就完成针对特定账户使用该程序的审核操作设置。

当指定账户试图启动该目标程序时,就会触发上述设置的审核项目,系统的事件查看器会在后台自动记录对应的审核事件。进入事件查看器窗口。在窗口左侧点击“Windows日志”→“安全”项,显示所有的安全日志信息。可以手动查找和该程序相关的记录项。如果事件记录过多,可以在窗口右侧点击“查找”项,在搜索栏中输入“xxx.exe”,可以迅速定位到所需的日志项目。可以看到,在本例中事件代号为4907的日志项记录着关于该程序的安全审核数据。

掌握了对应的事件ID,就可结合计划任务进行拦截。在事件查看器窗口选择事件ID为4907的记录项,右击“将任务附加到此事件”项,弹出计划任务创建向导界面,输入任务名称和描述信息,依次点击“下一步”,在“希望该任务执行什么操作”中选择“启动程序”→“浏览”按钮,选择系统目录中的“taskkill.exe”程序,例如具体路径为“c:windowssystem32 askkill.exe”。在“添加参数”栏中输入“/im thunder.exe /f”。其中“im”参数指明需要关闭的进程名,“/f”参数表示执行强制关闭动作。连续点击“下一步”,完成本计划任务的创建操作。

在控制面板中打开“系统和安全”→“计划任务”项,在计划任务窗口左侧点击“任务计划程序库”→“事件查看器任务”项,在窗口中部就会显示上述创建的计划任务项目。为提高其运行隐蔽性,可以双击该任务项目,在属性窗口中的“常规”面板中勾选“使用最高权限运行”和“隐藏”项。这样不仅可以让计划任务在运行时避开UAC的管控,而且可以在后台悄然运行。

之后,当选定账户启动成功该程序后,会触发预设的审核项目,审核成功后系统会自动在事件查看器中记录该安全日志信息,同时会触发与之绑定的计划任务项目。这样,该计划任务就会自动在后台运行“c:windowssystem32 askkill.exe /im thunder.exe /f”程序,会将启动的目标程序强制关闭。因为该过程实际上是以SYSTEM账户身份执行,不受系统UAC的拦截。如果需要正常运行该程序,只需将与事件ID为4907的记录项绑定的计划任务删除,就可自由运行了。根据以上原理,可以毫不费力的拦截所需的所有程序,让程序运行特权处于您的掌控之中。

批量设置审核策略

如果希望对多台主机批量的设置审核机制,可以通过域的组策略来完成相关的配置。以域管理员身份登录DC,在组策略管理器左侧选择“林”→“域”→“域名”分支下的具体的OU对象,在其右键菜单上选择“在这个域中创建GPO并在此处链接”项,输入GPO的名称,创建新的组策略对象。打开该GPO的编辑窗口,在左侧选择“策略”→“Windiws设置”→“安全设置”→“本地策略”项,之后按照上述防腐来设置合适的审核策略。这样,在该OU中的所有主机都会应用设定的审核策略。

猜你喜欢
组策略类别账户
论陶瓷刻划花艺术类别与特征
一起去图书馆吧
补齐设置短板 用好Microsoft Edge
如何切换Windows 10本地账户与微软账户
探索自由贸易账户体系创新应用
Windows10账户的删除、禁用与启用
通过PowerShell获取组策略安全报告
外汇账户相关业务
如何完全卸载OneDrive
选相纸 打照片