Windows Server 2008中审核和符合性
| auditpol /list /subcategory:* |
| auditpol /get /category:* |
Windows Server 2008 还可以在安全事件日志中捕捉特定类型的新值和旧值。在以前版本的 Windows 中,审核子系统只记录变更过的 Active Directory® 对象属性名称或注册表值,而不记录属性的以前和当前值。此新功能适用于 Active Directory Domain Services、Active Directory Lightweight Directory Services 和 Windows 注册表。通过在“注册表”或“目录服务变更”子类别上启用“审核成功”或“审核失败”并设置关联的 SACL,详细事件将出现在这些对象的操作事件日志中。这可以使用以下 auditpol 命令来执行:
| auditpol /set /subcategory:"Registry" /success:enable auditpol /set /subcategory:"Directory Service Changes" /success:enable |

图 3 注册表变更前后
此功能在尝试跟踪 对象的变更时尤为有用。对于“目录服务变更”,这些变更出现在一对 Event ID 5136 事件中,如图 4 所示。每个事件在事件正文中都有目录服务“对象”、“属性”和“操作”。对于针对包含现有数据的属性的变更,可看到两个操作:“值已删除”和“值已添加”。对于未填充的属性,在将数据写入到该属性时只能看到“值已添加”操作。例如,当针对某个用户对象(如 telephoneNumber)的属性成功执行了修改操作后,Active Directory 会在详细的事件日志条目中记录属性的以前和当前值。 #p#

图 4 “目录服务变更”事件前后
如果创建了一个新对象,则在对象创建时所填充的属性值将被记录下来。如果在域内移动对象,则以前的位置和新位置(以可分辨名称的形式)将被记录下来。在设置了相应的“审核策略”后,默认会启用“old and new”(旧与新)功能。如果您希望将某个属性保持专有,如雇员 ID 号的变更,可通过对架构进行简单的修改来明确排除这些属性。如果在架构中将该属性的 searchFlags 属性改为 0x100(值 256 -NEVER_AUDIT_VALUE),如图 5 所示,则当该属性发生变更时,“目录服务变更”事件不会发生。

图 5 从目录服务变更中排除属性
最后,Windows Eventing 6.0 中一个非常不错的新功能是“Event Subscriptions”(事件订阅)。正如先前所述,访问和查看事件日志是一项非常重要的系统管理任务。新的“事件订阅”功能提供了一种方法,可在系统之间直接转发事件。“事件订阅”由收集事件的“事件收集器”和被配置为向指定主机转发事件的“事件源”组成。消耗事件的能力由 Windows Event Collector 服务(Windows Eventing 6.0 的新功能)提供,而订阅功能则被内置在 Windows Event Log 服务中。用户可以配置一个收集器,从各种事件源中收集事件,这里所说的事件源可以是 Windows Server 2008 或 Windows 系统。
从事件源收集的所有数据都驻留在离散的名为 Forwarded Events (ForwardedEvents.evtx) 的事件日志中,并由收集器上的 Event Log 服务进行管理。对两个端点(收集器和源)的配置都是必不可少的,此操作可以自动进行(源上为 winrm quickconfig –q;收集器上为 wecutil qc /q)。要特别注意的是,此事件订阅功能不是为企业设计的,也不是要将事件提供给外部数据库的替换系统。
为了说明如何使用此功能,让我们假定有一个小 Web 场。您有一小组与特定网站(包括 Web 服务器和 SQL 服务器)关联的系统。这些系统可使用新的“事件订阅”功能,将其安全事件日志信息合并到单个系统中。环境规模越大,通常需要的事件日志合并工具集也越高级。 #p#
现在我们已经了解了在审核时所面临的挑战和在法律和技术方面的问题,那么 IT 管理员该如何开始为其组织制定“审核计划”呢?与大多数事情一样,制定全面的审核策略是一个多步骤过程。第一步是确定要审核的内容。这包括对环境进行分析并确定哪些类型的事件和变更需要生成审核。这可以包括一些简单的项目(如帐户锁定、敏感组变更、信任创建等),也可以包括复杂的变更(如修改所在环境中的应用程序内的配置元素)。此处的关键在于管理层必须参与确定审核计划中都需要有“什么”。此练习需要书面完成并应定期重复,而不是在发生重大意外事件以后再执行。
第二步是确定涉及特定变更的审核信息如何以安全事件的形式返回。审核信息有时比较难懂并且易读性较差。在实施之前,必须在安全事件和各种操作之间建立关联,以了解安全事件的真正涵义。不能在意外事件发生后再来确定事件与操作的关系。
第三步是指当这一切准备就绪时,即当您实施“审核策略”和 SACL 时。正如前面所讨论的,您需要在目录、文件系统和注册表中定义“审核策略”设置(以允许生成安全事件)和 SACL(为关联的操作生成审核追踪),以获得在这些领域中对变更的完整描述。
接下来是第四步,也是最后一步,即收集、触发和分析。根据组织规模和需求的不同,这些可能会涵盖在 Windows Server 2008 的固有功能中,也可能涵盖在一些高级解决方案中,如 System Center Operations Manager 的“审核收集服务”功能。大多数组织所犯的一个常见错误是只设置“审核策略”而不定义 SACL。最后一步是实施技术解决方案,向组织中的负责人报告和共享数据。如前所述,大多数组织已建立了负责安全的实体,因此需要围绕有待提高效率的现有组织元素来构建审核计划。这最后一步的关键是要以有意义的方式收集信息并将其提供给那些负责了解环境中所发生变更的所有实体。
大多数 IT 组织现在已不只是仅考虑一个全面的审计计划,而是实际需要这样的计划。与先前的平台相比,Windows Server 2008 为收集和分析安全事件数据提供了增强的机制。先进的收集和报告技术(如 ACS)使过去因事件数量和分布原因而晦涩难懂的问题变得明朗起来,使这些变更立刻变得一目了然。
与大多数 IT 问题一样,过程是主要的挑战。必须通过更多的配置和分析才能捕捉到 IT 经理的预期目标,因此要想从容应对这些挑战,必须深入了解环境的要求和 Windows 平台的功能。祝您成功。


