扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
要维护真正安全的环境,只是具备安全系统还远远不够。如果总假设自己不会受到攻击,或认为防护措施已足以保护自己的安全,都将非常危险。要维护系统安全,必须进行主动监视,以检查是否发生了入侵和攻击。
很多方面都说明,监视和审核入侵非常重要,具体原因有:
? 所有处于运行中的计算机环境都有可能被攻击。无论系统安全级有多高,总有面临攻击的风险。
? 成功的攻击一般出现在一系列失败攻击后。如果不监视攻击,您将无法在入侵者达到目的前检测到他们。
? 一旦攻击成功,越早发现越能减少损失。
? 为了能从攻击中恢复,需要了解发生了什么损失。
? 审核和入侵检测有助于确定是谁发起的攻击。
? 审核和入侵检测的结合使用有助于将信息进行关联,以识别攻击模式。
? 定期复查安全日志有助于发现未知的安全配置问题(如不正确的权限,或者不严格的帐户锁定设置)。
? 检测到攻击之后,审核有助于确定哪些网络资源受到了危害。
本模块讲述如何审核环境,以便发现攻击并跟踪攻击。本模块还讲述了如何监视是否发生了入侵,如何使用入侵检测系统(入侵检测系统是专门为发现攻击行为而设计的软件)。
目标
使用本模块可以实现下列目标:
? 使用最佳做法在组织中进行审核。
? 保护关键日志文件,防止攻击者干预证据。
? 结合使用被动和主动的检测方法。
? 明确监督和监视员工要具备哪些工具和技术,以及如何在审核过程中使用这些工具和技术。
适用范围
本模块适用于下列产品和技术:
? Microsoft Windows 2000? 操作系统
如何使用本模块
使用本模块中的指南可启动监视体系,该体系将主动检测入侵和攻击。这样,您能在发生攻击时及早干预,并减少该事件的影响,降低组织受到严重损失的风险。
为了充分理解本模块内容,请:
? 阅读模块:对 Windows 2000 环境中发现的事件进行响应。
审核
在任何安全环境中,您都应主动监视以检查是否发生了入侵和攻击。如果总假设不会受到攻击,只是将安全系统放在那里,随后不执行任何审核工作,您将无法达到预期目标。
作为整体安全策略的一部分,您应确定适于所在环境的审核级别。审核过程应识别可能会对网络,或风险评估中已确定的有价值资源造成威胁的各种攻击(无论攻击成功或失败)。
当决定要审核多少内容时,切记审核的内容越多,生成的事件越多,发现严重事件就越困难。如果要审核大量内容,有必要考虑使用附加的工具来帮助筛选重要事件,这样的工具有 Microsoft Operations Manager (MOM) 等。
审核事件可分为两类:成功事件和失败事件。成功事件表明用户已成功获得某资源的访问权限,失败事件表明用户进行了尝试,但失败了。
失败事件十分有助于跟踪对环境进行的攻击尝试,成功事件则难以解释。虽然绝大多数成功审核事件只表明正常的操作,但获取了某系统访问权限的攻击者也会生成一个成功事件。通常,事件模式与事件本身同样重要。例如,一系列失败后的一次成功可能表示曾经的攻击尝试最终得到成功。
您应尽可能将审核事件与所拥有的相关用户的其他信息结合使用。例如,如果用户在休假,可选择用户不在时禁用其帐户,然后在重新启用帐户时再审核。
如何启用审核
使用组策略可在站点、域、组织单位 (OU) 或本地计算机级启用审核。审核策略位于:
计算机配置\Windows 设置\安全设置\本地策略\审核策略
通常情况下,应在 Microsoft Active Directory? 目录服务层次的较高级实现审核,这有助于保持审核设置的一致性。Contoso 在“成员服务器”和“域控制器”OU 级都实现了审核。
您可选择将一些服务器与域分隔。通过编辑本地计算机的组策略,或使用“Windows 2000 Server Resource Kit”中的 Auditpol.exe 实用程序,可在这些计算机上配置审核。
注意:要访问本地计算机的组策略,请启动 Microsoft 管理控制台 (MMC),然后添加该组策略管理单元,这将使该本地计算机成为管理单元的焦点。
定义事件日志设置
审核所生成的每个事件都显示在“事件查看器”中。您应决定事件日志如何存储生成的事件。每个这样的设置都可直接在“事件查看器”中定义,或在组策略中定义。在本指南中,我们已在组策略中定义了“事件查看器”设置。
如果从组策略中删除“事件查看器”设置,则可在“事件查看器”中直接进行设置。但建议您在组策略中定义“事件查看器”设置,确保所有相似计算机中的设置一致。
在 Contoso 环境中,组策略的配置不是在安全日志达到容量时关闭组织中的系统。实际的系统配置是,根据需要覆盖事件日志。
要审核的事件
Microsoft Windows 2000 提供了几类安全事件的审核。当制定企业审核策略时,需决定是否包含如下类别的安全审核事件:
? 登录事件
? 帐户登录事件
? 对象访问事件
? 目录服务访问事件
? 特权使用事件
? 进程跟踪事件
? 系统事件
? 策略更改事件
下面几节详细说明了特定类别在启用审核时返回的常见事件 ID。
注意:负责搜索和收集事件日志信息的工具将在本模块后的被动检测方法一节讨论。
登录事件
如果要审核登录事件(每次用户登录或注销计算机时都审核),则会在发生登录尝试的计算机的安全日志中生成一个事件。另外,当用户连接远程服务器时,远程服务器的安全日志中也会生成一个登录事件。登录事件是在登录会话和令牌分别被创建或损坏时创建的。
登录事件可用于跟踪服务器的交互式登录尝试,或调查从某特定计算机发起的攻击。成功的审核会在登录尝试成功时生成一个审核项。失败的审核会在登录尝试失败时生成一个审核项。
注意:登录事件既包括计算机登录事件,也包括用户登录事件。如果网络连接是从基于 Microsoft Windows NT 的计算机或基于 Windows 2000 的计算机进行尝试的,则会看到用于计算机帐户和用户帐户的单独事件日志项。基于 Windows 9x的计算机在目录中没有计算机帐户,不会为网络登录事件生成计算机登录事件项。
作为“成员服务器和域控制器基准策略”的一部分,应对成功和失败登录事件都启用审核。因此,应能在“安全事件日志”中看到交互式登录,以及连接到正在运行“终端服务”的计算机的“终端服务”登录的下列事件 ID。
表 1:安全事件日志中的登录事件
事件 ID 说明
528 用户成功登录计算机。
529 用户使用系统未知的用户名登录,或已知用户使用错误的密码登录。
530 用户帐户在许可的时间范围外登录。
531 用户使用已禁用的帐户登录。
532 用户使用过期帐户登录。
533 不允许用户登录计算机。
534 用户使用不许可的登录类型(如网络、交互、批量、服务或远程交互)进行登录。
535 指定帐户的密码已过期。
536 Net Logon 服务未处于活动状态。
537 登录由于其他原因而失败。
538 用户注销。
539 试图登录时帐户已被锁定。此事件表示密码攻击失败,并导致该帐户被锁定。
540 网络登录成功。此事件表示远程用户已成功从该网络连接到服务器上的本地资源,同时为该网络用户生成了一个令牌。
682 用户重新连接了已断开的终端服务会话。此事件表示前面已连接了一个终端服务会话。
683 用户在未注销的情况下断开终端服务会话。此事件是在用户通过网络连接终端服务会话时生成的。它出现在终端服务器上。
使用登录事件项可诊断下面的安全事件:
? 本地登录尝试失败
下列任意事件 ID 都表示登录尝试失败:529、530、531、532、533、534 和 537。如果攻击者使用本地帐户的用户名和密码组合,但并未猜出,则看到事件 529 和 534。但是,如果用户忘记了密码,或通过“网上邻居”浏览网络,也可能产生这些事件。
在大型环境中,可能很难有效说明这些事件。作为一种规则,如果这些模式重复发生,或符合其他一些非正常因素,则应研究这些模式。例如,半夜,在发生若干 529 事件后发生了 528 事件,可能表示密码攻击成功(或管理员非常疲惫)。
? 帐户滥用
事件 530、531、532 和 533 表示用户帐户被滥用。这些事件表示输入的帐户/密码组合是正确的,但由于其他一些限制而阻止了成功登录。只要有可能,请仔细研究这些事件,确定是否发生了滥用,或是否需要修改当前的限制。例如,可能需要延长帐户的登录时间。
? 帐户锁定
事件 539 表示帐户已被锁定。这表示密码攻击已失败。您应查找同一用户帐户以前产生的 529 事件,尝试弄清登录的模式。
? 终端服务攻击
终端服务会话可能停留在连接状态,使一些进程得以在会话结束后继续运行。事件 ID 683 表示用户没有从终端服务会话注销,事件 ID 682 表示发生了到上一个已断开连接会话的连接。
Contoso 监视大量的登录尝试失败和大量帐户锁定。在这样的环境中,由于一些合理的原因,常要让用户将终端服务会话保持断开状态。
帐户登录事件
当用户登录域时,这种登录在域控制器中处理。如果在域控制器中审核帐户登录事件,则会在验证该帐户的域控制器上记录此登录尝试。帐户登录事件是在身份验证程序包验证用户的凭据时创建的。只有使用域凭据,才会在域控制器的事件日志中生成帐户登录事件。如果提供的凭据为本地安全帐户管理器 (SAM) 数据库凭据,则会在服务器的安全事件日志中创建帐户登录事件。
因为帐户登录事件可能会记录在域的任何有效域控制器中,所以必须确保将各域控制器中的安全日志合并,以分析该域中的所有帐户登录事件。
注意:与登录事件相同,帐户登录事件既包括计算机登录事件,也包括用户登录事件。
作为“成员服务器和域控制器基准策略”的一部分,成功和失败的帐户登录事件都应启用审核。因此,应能看到网络登录和终端服务身份验证的下列事件 ID。
表 2:事件日志中的帐户登录事件
事件 ID 说明
672 身份验证服务 (AS) 票证已成功签发和验证。
673 已授予票证授予服务 (TGS) 票证。
674 安全主要对象续订了 AS 票证或 TGS 票证。
675 预身份验证失败。
676 身份验证票证请求失败。
677 未授予 TGS 票证。
678 某个帐户已成功映射到域帐户。
680 标识成功登录的帐户。此事件还指出了验证帐户的身份验证程序包。
681 尝试域帐户登录。
682 用户重新连接一个已断开的终端服务会话。
683 用户在没有注销的情况下断开了终端服务会话。
对于每个这样的事件,事件日志都会显示每个特定登录的详细信息。使用帐户登录事件项可诊断下面的安全事件:
? 域登录尝试失败
事件 ID 675 和 677 表明登录域的尝试失败。
? 时间同步问题
如果客户计算机的时间与身份验证域控制器的时间不同,多了五分钟(默认情况),则安全日志中显示事件 ID 675。
? 终端服务攻击
终端服务会话可能停留在连接状态,使一些进程得以在会话结束之后继续运行。事件 ID 683 表示用户没有从终端服务会话注销,事件 ID 682 则表示发生了到上一个已断开连接会话的连接。要防止断开连接,或要终止这些已断开的会话,请在“终端服务配置”控制台中的 RDP-TCP 协议属性中定义“time interval to end disconnected session”(结束已断开会话的时间间隔)。
Contoso 当前要监视数量巨大的失败域登录尝试。根据其环境的不同,其他一些事件无关紧要。配置这些设置时,他们确定的最好方法是,首先以一个相对较严格的设置开始,然后持续减少它的严格程度,直到一些非实质警告的数量减少。目前,他们监视的是 10 分钟时间段中发生 10 次失败登录的所有情况。这些数字在所有环境中可能都是不同的。
帐户管理
帐户管理审核用于确定何时创建、更改或删除了用户或组。这种审核可用于确定何时创建了安全主要对象,以及谁执行了该任务。
作为“成员服务器和域控制器基准策略”的一部分,帐户管理中的成功和失败都应启用审核。因此,应该会看到安全日志中记录的下列事件 ID。
表 3:事件日志中的帐户管理事件
事件 ID 说明
624 创建了用户帐户
625 用户帐户类型更改
626 启用了用户帐户
627 尝试进行了密码更改
628 设置了用户帐户密码。
629 禁用了用户帐户
630 删除了用户帐户
631 创建了启用安全的全局组
632 添加了启用安全的全局组成员
633 删除了启用安全的全局组成员
634 删除了启用安全的全局组
635 创建了禁用安全的本地组
636 添加了启用安全的本地组成员
637 删除了启用安全的本地组成员
638 删除了启用安全的本地组
639 更改了启用安全的本地组
641 更改了启用安全的全局组
642 更改了用户帐户
643 更改了域策略
644 锁定了用户帐户
使用安全日志项可诊断下面的帐户管理事件:
? 用户帐户的创建
事件 ID 624 和 626 表明何时创建和启用了用户帐户。如果帐户创建限定在组织中的特定个人,则可使用这些事件表示是否有未授权的个人创建了用户帐户。
? 更改了用户帐户密码
如果不是该用户修改密码,可能表明该帐户已被另一用户占用。请查看事件 ID 627 和 628,它们分别表明尝试进行了密码更改以及密码更改成功。请查看详细信息,确定是否是另一个帐户执行了该更改,该帐户是否是重置用户帐户密码的技术支持部门或其他服务部门的成员。
? 更改了用户帐户状态
某个攻击者在攻击过程中,可能会通过禁用或删除帐户来尝试掩盖攻击。出现的所有事件 ID 629 和 630 都应仔细研究,确保这些是授权的事务处理。另外,还要查看发生事件 ID 626 之后短时间内发生的事件 ID 629。这可能表明一个已禁用的帐户被启用,被使用,然后又再次被禁用。
? 安全组的修改
成员身份更改为 Domain Administrator、 Administrator、Operator 组的任何成员,或更改为被委派了管理功能的自定义全局组、通用组或域本地组,这些情况都应进行复查。对于全局组成员身份修改,请查找事件 ID 632 和 633。对于域本地组成员身份修改,请查看事件 ID 636 和 637。
? 帐户锁定
锁定帐户时,系统会在主域控制器 (PDC) 模拟器操作主机上记录两个事件。一个事件为 644,表示帐户名已被锁定;然后记录事件 642,表示该用户帐户已更改为表明帐户现已锁定。此事件只会记录在 PDC 模拟器上。
因为 Contoso 是一个较大的企业,所以每天有大量的帐户要维护。监视所有这些事件会导致环境中产生太多的警告,而这些警告不必全部进行合理的解决。
对象访问
在基于 Windows 2000 的网络中,使用系统访问控制列表 (SACL) 可为所有对象启用审核。SACL 包含了一个用户和组列表,其中用户和组等对象的操作都要进行审核。用户在 Windows 2000 中可操作的每个对象几乎都有一个 SACL。这些对象包括 NTFS 文件系统驱动器上的文件和文件夹、打印机和注册表项。
SACL 由访问控制项 (ACE) 组成。每个 ACE 包含三部分信息:
? 要审核的安全主要对象。
? 要审核的特定访问类型,称为访问掩码。
? 一种表明是审核失败访问、成功访问还是两者兼有的标志。
如果要在安全日志中显示事件,必须首先启用“对象访问审核”,然后为要审核的每个对象定义 SACL。
Windows 2000 中的审核是在打开一个到对象的句柄时生成的。Windows 2000 使用一个内核模式的安全子系统,这种系统只允许程序通过内核访问对象。这会防止程序尝试绕过安全系统。因为内核内存空间是与用户模式程序相隔离的,所以程序是通过一个称为句柄的数据结构引用对象的。下面是一个典型的访问尝试:
1. 用户要求程序访问某个对象(例如,文件/打开)。
2. 该程序从系统请求一个句柄,指定需要哪种类型的访问(读、写等)。
3. 安全子系统将请求对象的自由访问控制列表 (DACL) 与该用户的令牌相比较,在 DACL 中查找与该用户或用户所在组相匹配的项,以及对于请求程序有访问权限的项。
4. 系统将所请求对象的 SACL 与该用户的令牌相比较,在 SACL 中查找与该程序返回的有效权限相匹配的项,或与该程序请求的权限相匹配的项。如果匹配的失败审核 ACE 与一个已请求但未授予的访问相匹配,则生成一个失败审核事件。如果匹配的成功审核 ACE 与一个已授予的访问相匹配,则生成一个成功审核事件。
5. 如果授予任何访问,系统都会向该程序返回一个句柄,然后该程序会使用该句柄访问该对象。
要注意的重要一点是,当发生审核并生成事件时,尚未对该对象发生任何操作。这对于解释审核事件至关重要。写入审核是在文件被写入之前生成的,读取审核则在文件被读取之前生成。
与所有审核一样,务必采取一个针对目标的方式来审核对象访问。在审核计划中,应决定必须审核的对象类型,然后确定每种类型的审核对象,希望监视哪些类型的访问尝试(成功、失败,还是两者兼有)。审核的范围过宽会对系统性能产生明显的影响,并会使收集的数据过多,远远超过必要或有用的程度。
通常情况下,您希望审核对所选择对象的所有访问,其中包括来自非信任帐户的访问。为此,请在审核对象的 SACL 中添加“Everyone”组)。您应了解,如果按照这种方式审核成功的对象访问,可能会在安全日志中产生非常多的审核项。然而,如果要对重要文件的删除进行调查,则必须检查成功审核事件,以确定哪个用户帐户删除了该文件。
“成员服务器和域控制器基准策略”的设置是既审核成功对象访问也审核失败事件。但是,这些对象本身不会设置任何 SACL,需要根据环境的需要设置这些内容。SACL 可以直接在对象上定义,也可以通过组策略定义。如果要审核的对象存在于多个计算机上,则应在组策略中定义这些 SACL。
审核对象访问会导致安全日志显示下列事件。
表 4:事件日志中的对象访问事件
事件 ID 说明
560 授予现有对象访问权限。
562 对象句柄关闭。
563 为删除对象而打开对象。(这是文件系统在指定了 FILE_DELETE_ON_CLOSE 标志时所使用的。)
564 删除了一个受保护的对象。
565 授予现有对象类型访问权限。
如果要查找特定的对象访问事件,主要需研究事件 ID 为 560 的事件。该事件详细信息中有一些有用的信息,请搜索该事件的详细信息,找出正在搜索的特定事件。下表显示了一些可能要执行的操作,以及如何执行这些操作。
表 5:如何执行对象访问事件 560 的主要审核操作
审核操作 如何完成
查找特定的文件、文件夹或对象 在事件 560 的详细信息中,搜索要复查其上操作的文件或文件夹的完整路径。
确定特定用户的操作 在 560 事件中定义筛选器来标识特定用户。
确定在特定计算机上执行的操作 在 560 事件中定义筛选器来标识在其中执行任务的特定计算机。
Contoso 不专门监视任何对象访问事件,但要审核某些文件的对象访问。此信息对于响应一个安全事件尤其有用。
目录服务访问
Active Directory 对象有相关联的 SACL,因此可进行审核。正如前面提到的,审核帐户管理可审核 Active Directory 用户和组帐户。但是,如果想审核其他命名上下文中对象的修改(如配置和架构命名上下文),必须审核对象访问,然后为要审核的特定容器定义 SACL。如果 Active Directory 对象 SACL 中列出的用户要尝试访问该对象,就会生成审核项。
您可以使用 ADSIEDIT MMC 管理单元来修改配置命名上下文(和其他命名上下文)中容器和对象的 SACL。过程如下:在 ADSIEDIT 控制台中显示所需的上下文,然后在“高级安全设置”对话框中修改该对象的 SACL。
由于发生了大量事件(通常都是些无关紧要的事件),所以很难找出目录服务访问的特定事件。因此,“成员服务器和域控制器基准策略”只审核目录服务访问的失败事件。这有助于弄清攻击者何时尝试对 Active Directory 进行了未授权访问。
尝试的目录访问在安全日志中将显示为一个 ID 为 565 的目录服务事件。只有通过查看安全事件的详细信息,才能确定该事件与哪个对象相对应。
Contoso 不专门监视任何目录服务访问事件,但要审核某些文件的对象访问。此信息对于响应一个安全事件尤其有用。
特权使用
当用户在信息技术 (IT) 环境中工作时,他们将运用所定义的用户权限。如果审核特权使用的成功和失败,每次用户尝试运用用户权限时都会生成一个事件。
即使真的要审核特权使用,也并非所有的用户权限都会审核。在默认情况下,不包括下列用户权限:
? 跳过遍历检查
? 调试程序
? 创建令牌对象
? 替换进程级令牌
? 生成安全审核
? 备份文件和目录
? 还原文件和目录
您可以在组策略中启用“对备份和还原权限的使用进行审核”安全选项,从而覆盖不审核“备份”和“还原”用户权限的默认行为。
审核成功的特权使用会在安全日志中产生大量的项。因此,“成员服务器和域控制器基准策略”只会审核失败的特权使用。
如果启用了特权使用审核,将生成下列事件。
表 6:事件日志中的特权使用事件
事件 ID 说明
576 指定特权已添加到用户的访问令牌中。(此事件在用户登录时生成。)
577 用户尝试执行授权的系统服务操作。
578 在已打开的受保护对象上使用了特权。
下面是使用某些特定用户权限时,可能存在的一些事件日志项示例:
? 作为操作系统的一部分
请查找指定了 SeTcbPrivilege 访问特权的事件 ID 577 或 578。事件详细信息指出了使用该用户权限的用户帐户。此事件表明,用户作为操作系统的一部分使用了超越安全的特权。例如,GetAdmin 攻击就会使用此特权,在这种攻击中,用户尝试将他们的帐户添加到 Administrator 组中。此事件的唯一项应用于 System 帐户,以及分配了该用户权限的所有服务帐户。
? 更改系统时间
请查找指定了 SeSystemtimePrivilege 访问特权的事件 ID 577 或 578。事件详细信息表明了使用该用户权限的用户帐户。此事件表明,用户尝试通过更改系统时间来隐藏事件发生的真实时间。
? 从远程系统进行强制关机
请查找指定了 eRemoteShutdownPrivilege 用户访问权限的事件 ID 577 和 578。事件详细信息中包括了分配该用户权限的特定安全标识符 (SID),以及分配该权限的安全主要对象的用户名。
? 加载和卸载设备驱动程序
请查找指定了 SeLoadDriverPrivilege 用户访问权限的事件 ID 577 或 578。事件详细信息表明了使用此用户权限的用户帐户。此事件表明,用户尝试加载一个未授权版本的设备驱动程序或者特洛伊木马版本(一种恶意代码)的设备驱动程序。
? 管理审核和安全日志
请查找指定了 SeSecurityPrivilege 用户访问权限的事件 ID 577 或 578。事件详细信息表明了使用此用户权限的用户帐户。在事件日志被清除,以及特权使用的事件被写入安全日志时,都会发生此事件。
? 关闭系统
请查找指定了 SeShutdownPrivilege 访问特权的事件 ID 577。事件详细信息表明了使用此用户权限的用户帐户。此事件会在尝试关闭计算机时发生。
? 获取文件或其他对象的所有权
请查找指定了SeTakeOwnershipPrivilege 访问特权的事件 ID 577 或 578。事件详细信息表明了使用该用户权限的用户帐户。此事件表明,某个攻击者正在尝试通过获取对象的所有权来绕过当前的安全设置。
Contoso 专门监视表明正常关机或从远程系统强制关机的所有事件,以及表明已修改了审核和安全日志的所有事件。
进程跟踪
如果要审核基于 Windows 2000 计算机中运行的进程的详细跟踪信息,事件日志会显示创建进程和结束进程的尝试。它还会记录进程尝试生成对象句柄的行为,或获取对象间接访问的行为。
由于生成的审核项很多,所以“成员服务器和域控制器基准策略”不会启用进程跟踪审核。但是,如果选择审核成功和失败,则事件日志中会记录下列事件 ID。
表 7:事件日志中的进程跟踪事件
事件 ID 说明
592 创建了新进程。
593 退出进程。
594 复制对象句柄。
595 获取了对象的间接访问。
Contoso 不监视任何进程跟踪事件,并且不在任何服务器策略中启用这些监视。
系统事件
系统事件是在用户或进程更改计算机环境的部分内容时生成的。您可以审核对系统进行更改的尝试,如关闭计算机或者更改系统时间。
如果审核系统事件,还应审核何时清除了安全日志。这非常重要,因为攻击者常会尝试在对环境进行更改之后清除他们的行踪。
“成员服务器和域控制器基准策略”会审核系统事件的成功和失败。这会在事件日志中生成下列事件 ID。
表 8:事件日志中的系统事件
事件 ID 说明
512 Windows 正在启动。
513 Windows 正在关机。
514 本地安全机构加载了身份验证程序包。
515 本地安全机构注册了一个受信任的登录进程。
516 为了对安全事件消息进行排队而分配的内部资源已用完,导致某些安全事件消息丢失。
517 清除了安全日志。
518 安全帐户管理器加载了一个通知程序包。
您可以使用下面这些事件 ID 来获取部分安全问题:
? 计算机关机/重新启动
事件 ID 513 会显示关闭 Windows 时的每个实例。了解服务器何时关机或重新启动非常重要。其中有部分合理的原因,如安装的某个驱动程序或应用程序要求重新启动,或要关机或重新启动服务器以便维护。但是,攻击者可能还会为了在启动过程中获取对于系统的访问权限来强制服务器重新启动。所有发生的计算机关机情况都应注意,并与事件日志进行比较。
很多攻击都涉及计算机重新启动。研究这些事件日志可确定服务器何时进行了重新启动,以及重新启动是计划的还是非计划的。事件 ID 513 显示 Windows 正在启动,同时,在系统日志中还会自动生成一系列其他事件。这些其他事件包括事件 ID 6005,表示已启动了事件日志服务。
除了此项之外,还请查找系统日志中存在的两个不同事件日志项中的其中一个。如果上一次关机正常(如管理员重新启动了计算机),系统日志中会记录事件 ID 6006,“the Event Log service was stopped”(事件日志服务已停止)。通过检查该项目的详细信息,可以确定哪个用户执行了这次关机。
如果这次重新启动是一种非预期的重新启动,系统日志中会记录事件 ID 6008,“the previous system shutdown at
如果由导致蓝屏的停止错误引发重新启动,系统日志中会记录事件 ID 1001,其中带有 Save Dump 的源数据。在事件详细信息中可以复查真正的停止错误消息。
注意:要将事件 ID 1001 项的记录包括在内,必须选中“将事件写入系统日志”选项,启用“系统控制面板”小程序中的恢复设置部分。
? 修改或清除安全日志
攻击者可能尝试修改安全日志、在攻击过程中禁用审核,或清除安全日志来防止检测。如果发现某时间段安全日志中没有任何项,应查看事件 ID 612 和 517,确定哪个用户修改了审核策略。出现的所有事件 ID 517 都应与一个表明清除安全日志的所有次数的物理日志进行比较。未授权的安全日志清除可能是要隐藏以前安全日志中存在的事件。清除了该日志的用户名包括在事件详细信息中。
Contoso 监视了计算机关机或重新启动,以及安全日志的清除操作。
策略更改
审核策略定义了要审核哪些环境更改,这可帮助您确定是否存在攻击环境的企图。但有心的攻击者会设法更改该审核策略本身,以便不被审核所进行的任何更改。
如果要审核策略更改,则将显示更改审核策略的尝试,以及对其他策略和用户权限的更改尝试。“成员服务器和域控制器基准策略”会审核策略更改的成功和失败。您会在事件日志中看到记录的下面这些事件。
表 9:事件日志中的策略更改事件
事件 ID 说明
608 分配了用户权限。
609 删除了用户权限。
610 创建了与另一个域之间的受信任关系。
611 删除了与另一个域之间的受信任关系。
612 更改了审核策略。
768 检测到一个目录林中的命名空间元素与另一目录林中的命名空间元素的冲突。(当一个目录林中的命名空间元素与另一目录林中的命名空间元素发生重叠,则会发生冲突。)
此处要查找的两个最重要的事件为事件 ID 608 和 609。一些攻击尝试可能会导致记录这些事件。如果分配了用户权限,下面的示例都会生成事件 ID 608,如果删除了用户权限,则都生成事件 ID 609。在每种情况下,事件详细信息都会包括该用户权限分配到的特定 SID,以及分配该权限的安全主要对象的用户名:
? 作为操作系统的一部分
请在事件详细信息中查找用户权限为 seTcbPrivilege 的事件 ID 608 和 609。
? 向该域添加工作站
请在事件详细信息中查找用户权限为 SeMachineAccountPrivilege 的事件。
? 备份文件和目录
请在事件详细信息中查找用户权限为 SeBackupPrivilege 的事件。
? 跳过遍历检查
请在事件详细信息中查找用户权限为 SeChangeNotifyPrivilege 的事件。此用户权限允许用户遍历目录树,即使该用户没有访问该目录的权限也可以执行此操作。
? 更改系统时间
请在事件详细信息中查找用户权限为 SeSystemtimePrivilege 的事件。此用户权限允许安全主要对象更改系统时间,可能会掩盖事件发生的时间。
? 创建永久的共享对象
请在事件详细信息中查找用户权限为 SeCreatePermanentPrivilege 的事件。此用户权限的持有者可以创建文件和打印共享。
? 调试程序
请在事件详细信息中查找用户权限为 SeDebugPrivilege 的事件。此用户权限的持有者可以连接到任何进程。在默认情况下,此权限只分配给管理员。
? 从远程系统强制关机
请在事件详细信息中查找用户权限为 SeRemoteShutdownPrivilege 的事件。
? 提高日程安排优先级
请在事件详细信息中查找用户权限为 SeIncreaseBasePriorityPrivilege 的事件。具有此权限的用户可以修改进程优先级。
? 加载和卸载设备驱动程序
请在事件详细信息中查找用户权限为 SeLoadDriverPrivilege 的事件。具有此用户权限的用户可以加载特洛伊木马版本的设备驱动程序。
? 管理审核和安全日志
请在事件详细信息中查找用户权限为 SeSecurityPrivilege 的事件。具有此用户权限的用户可以查看和清除安全日志。
? 替换进程级令牌
请在事件详细信息中查找用户权限为 SeAssignPrimaryTokenPrivilege 的事件。具有此用户权限的用户可以更改与一个已启动子进程相关联的默认令牌。
? 还原文件和目录
请在事件详细信息中查找用户权限为 SeRestorePrivilege 的事件。
? 关闭系统
请在事件详细信息中查找用户权限为 SeShutdownPrivilege 的事件。具有此用户权限的用户可以关闭系统以开始新设备驱动程序的安装。
? 获取文件或其他对象的所有权
请在事件详细信息中查找用户权限为 SeTakeOwnershipPrivilege 的事件。具有此用户权限的用户可以通过获取 NTFS 文件系统磁盘上的对象或文件的所有权,来访问这些对象或文件。
注意:这些审核事件只是表示该用户权限分配到了某个特定的安全主要对象。它并不表示该安全主要对象使用该用户权限执行了任务。审核事件却可以确定何时修改了用户权限策略。
Contoso 要监视所有策略更改事件。这些事件可用于进行任何故障排除或事件响应。
监视组策略的更改可能非常困难,并会提供大量的非实质性警告。这主要是因为,用于编辑组策略的 MMC 管理单元 gpedit.msc 总是既带有读取权限又带有写入权限打开策略。即使没有对策略进行更改,也会向域控制器的安全日志写入策略事件 578,如下所示。
组策略管理控制台(在 Windows Server 2003 发布后不久以免费下载软件形式发布)允许授权用户无需在 gpedit.msc 中打开组策略设置即查看这些设置,从而帮助客服这些问题。有关组策略管理控制台的详细信息,请参考:http://www.microsoft.com/windowsserver2003/gpmc/gpmcwp.mspx(英文)。
保护事件日志
要确保维护事件日志项以便将来参考,应采取一些步骤来保护事件日志的安全。这些步骤包括:
? 为所有事件日志的存储、覆盖和维护定义一个策略。该策略应定义所有必需的事件日志设置,并由组策略强制执行。
? 确保该策略包括如何处理已满的事件日志,尤其是安全日志。建议安全日志填满时必需关闭服务器。这对于某些环境可能不可行,但确实应考虑。
? 通过启用安全策略设置来防止本地来宾访问系统日志、应用程序日志和安全日志,防止对事件日志进行来宾访问。
? 确保既审核成功系统事件又审核失败系统事件,以确定是否存在任何想擦除安全日志内容的尝试。
? 强制有能力查看或修改审核设置的所有安全主要对象使用复杂的密码或双因素身份验证(如智能卡登录),防止针对这些帐户进行攻击来获取对于审核信息的访问。
Contoso 在“成员服务器和域控制器组策略对象”中实现了这些设置。
除了上述步骤之外,您还应采取一些可行的措施,以确保事件日志信息尽可能最安全:
? 确保安全计划包括所有服务器的物理安全性,防止攻击者获取对于在其中执行审核的计算机的物理访问。攻击者可能会通过修改或删除本地磁盘子系统上的物理 *.evt 文件,来删除审核项。
? 请实现一种方法,以删除与该物理服务器不同位置中的事件日志,或将这些事件日志存储在与该物理服务器不同的位置中。这可能包括使用“任务计划”将事件日志写入 CD-R 或者一次写入定期读取的很多媒体中,或写入与该服务器不同的其他网络位置中。如果这些备份被复制到外部媒体(如备份磁带或者 CD-R 媒体),则在发生火灾或其他自然灾难时,该媒体应能从所处位置取出。
注意:防止对事件日志进行来宾访问只能限制非域成员访问这些事件日志。在默认情况下,域中的所有用户都可访问系统日志和应用程序日志。只有安全日志的访问受到限制。指定了“Manage auditing and security log”(管理审核和安全日志)用户权限的安全主要对象可访问安全日志。在默认情况下,此用户权限只分配给管理员和 Exchange 企业服务器。
其他最佳审核方法
除了配置审核之外,还应实现一些其他方法,从而有效审核服务器环境的安全性。这些方法包括:
? 安排定期复查事件日志。
? 复查其他应用程序日志文件。
? 监视安装的服务和驱动程序。
? 监视打开的端口。
安排定期复查事件日志
正如上面提到的,安全日志及可能生成的其他事件日志应写入可移动材料中,或合并到一个中心位置以便于进行复查。复查这些日志经常被人们遗漏。
Contoso 已完成了大量的工作,确保有一人或一个部门负责将复查事件日志作为定期的任务来执行。这样的事件日志复查可安排为每天一次,也可安排为每周一次,具体取决于安全日志中收集的数据数量。通常,这根据网络中实现的审核级别而定。审核中包括的事件越多,日志项的数量就越多。如果安排了定期的事件日志复查,则有助于达到以下目标:
? 更快检测安全问题
如果每天执行一次事件日志的复查,安全事件的保留时间永远不会超过 24 小时。这使检测和修复安全漏洞的速度变得更快。
? 定义责任
如果要定期复查事件日志,则安排了复查日志文件任务的人员可最终负责识别潜在的攻击。
? 降低事件被覆盖或服务器宕机的危险
一旦复查了事件日志,便可对日志文件中的事件进行存档以便将来复查,并从当前事件日志中删除。这种做法会降低事件日志填满的危险。
复查其他应用程序日志文件
除了复查安全事件的 Windows 2000 事件日志之外,还应复查应用程序生成的日志。这些应用程序日志可能包括一些有关潜在攻击的有价值的信息,可以对事件日志中的信息进行补充。根据环境的具体情况,可能需要查看一个或多个下面的日志文件:
? Internet 信息服务 (IIS)
IIS 会创建一些日志文件来跟踪 Web、文件传输协议 (FTP)、网络时间协议 (NTP) 和简单邮件传输协议 (SMTP) 服务的连接尝试。在 IIS 中运行的每个服务都维护一个单独的日志文件,这些日志文件会以万维网联合会 (W3C) 扩展式日志文件格式保存在 %WinDir%\System32\Logfiles 文件夹中。每个服务都维护一个单独的文件夹来进一步细分日志信息。另外,可以配置 IIS 使其将日志保存到符合开放式数据库连接性 (ODBC) 的数据库中,如 Microsoft SQL Server?。
? Microsoft Internet Security and Acceleration (ISA) 服务器
ISA 服务器提供了数据包筛选器、ISA 服务器防火墙服务和 ISA 服务器 Web 代理服务的日志。与 IIS 一样,在默认情况下,这些日志以 W3C 扩展式日志文件格式保存,但也可记录到符合 ODBC 的数据库中。在默认情况下,ISA 服务器日志文件保存在 C:\Program Files\Microsoft ISA Server\ISALogs 文件夹中。
? Internet 验证服务 (IAS)
IAS 使用远程验证拨号用户服务 (RADIUS) 协议为远程访问验证提供集中的验证和记帐。在默认情况下,记帐请求、身份验证请求和定期的状态请求会记录到位于 %WinDir%\System32\Logfiles 文件夹中的 IASlog.log 文件中。另外,日志文件可按兼容数据库的文件格式保存,而不是按 IAS 格式保存。
? 第三方应用程序
目前有若干第三方应用程序都会实现本地记录功能,并提供有关该应用程序的详细信息。有关详细信息,请参考应用程序专属的帮助文件。
注意:所有维护日志文件的计算机都应使用经过同步的时钟。这使管理员能将计算机和服务器之间的事件进行比较,以确定攻击者采取了哪些操作。有关时间同步的更多详细信息,请参考本模块后面的时间同步的重要性一节。
监视安装的服务和驱动程序
很多针对计算机的攻击通过攻击安装在目标计算机上的服务,或将有效的驱动程序替换为包括特洛伊木马的驱动程序版本,从而使攻击者能访问目标计算机达到攻击的目的。
下面的工具可检查计算机上安装的服务和驱动程序:
? 服务控制台
服务 MMC 控制台用于监视本地计算机或远程计算机上的服务,管理员能配置、暂停、停止、启动和重新启动安装的所有服务。使用此控制台可确定配置为自动启动的任何服务当前是否未启动。
? Netsvc.exe
此命令行工具位于“Windows 2000 Server Resource Kit”中,管理员可使用命令行远程启动、停止、暂停、继续和查询服务的状态。
? SvcMon.exe
这个服务监视工具会监视本地计算机和远程计算机上的服务,检查状态是否发生了更改(启动或者停止)。为了检测这些更改,该工具实现了一种轮询系统。当被监视的服务停止或者启动时,该工具会通过发送电子邮件来通知您。您必须通过使用服务监视器配置工具 (smconfig.exe) 来配置要监视的服务器、轮询间隔和服务。
? Drivers.exe
在运行此工具的计算机上,此工具会显示安装的所有设备驱动程序。该工具的输出包括一些信息,其中有驱动程序的文件名、磁盘上驱动程序的大小,以及链接该驱动程序的日期。链接日期可识别任何新安装的驱动程序。如果某个更新的驱动程序不是最近安装的,可能表示这是一个被替换的驱动程序。请始终将此信息与“事件查看器”中的系统重新启动事件相关联。
注意:并非所有服务(如工作站服务)都可以直接停止,但您可以查询所有的服务。如果用户有很多活动的连接,则不能远程强制关闭该服务,但可以暂停或查询该服务。有些服务有另外一些依赖于它们的服务;尝试关闭这样的服务可能会失败,除非这些具有依赖性的服务首先进行了关闭。
监视打开的端口
攻击首先是从执行端口扫描以识别在目标计算机上正在执行任何已知服务开始的。您应该确保仔细监视服务器上打开的那些端口,这通常表示您在自己扫描这些端口来确定哪些端口可以访问。
扫描端口时,应既在该目标计算机本地执行,也在远程计算机上执行。如果可以从公共网络访问该计算机,则应从外部计算机执行端口扫描,以确信防火墙软件只允许访问所需的端口。
Netstat.exe 是一个命令行实用程序,可以显示为传输控制协议 (TCP) 和用户数据报协议 (UDP) 打开的所有端口。Netstat 命令使用下列语法:
NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [interval]
其中:
? -a:显示所有连接和侦听端口。
? -e:显示以太网统计数据。这可以与 -s 选项组合使用。
? -n:以数字形式显示地址和端口号。
? -p proto:显示用于 proto 所指定协议的连接;proto 可以是 TCP 或者 UDP。如果与 -s 选项一起使用来显示每个协议的统计数据,proto 可以是 TCP、UDP 或 Internet 协议 (IP)。
? -r:显示路由表。
? -s:显示每个协议的统计数据。在默认情况下,显示 TCP、UDP 和 IP 的统计数据;-p 选项可用于指定这些默认设置的子集。
? interval:再次显示选择的统计数据,并在每个显示之间暂停 interval 指定的秒数。按 CTRL+C 组合键可停止再次显示统计数据。如果忽略此选项,Netstat 只输出当前配置信息一次。
当列出本地计算机上打开的 TCP 和 UDP 端口时,端口号将根据 \%WinDir%\System32\Drivers\Etc\ 文件夹中这些服务文件中的项目转换为名称。如果只想看到端口号,可以使用 -n 参数。
如果发现的任何打开端口是不可识别的,则应对它们进行研究,确定相对应的服务在该计算机上是否必需。如果不必需,应禁用或删除这个相关联的服务,以防止计算机侦听该端口。在本指南介绍的“成员服务器和域控制器基准策略”中已禁用了一些服务。
因为很多服务器都是由防火墙或数据包筛选路由器保护的,所以建议从远程计算机执行端口扫描。很多第三方工具(包括免费软件)都可用于执行远程端口扫描。远程端口扫描可揭示当外部用户尝试连接该计算机时,哪些端口可用于这些外部用户。
注意:端口扫描还可用于测试入侵检测系统,确保该系统能在发生端口扫描时检测到该扫描。有关入侵检测系统的详细信息,请参考本模块后面的主动检测方法一节。
监视入侵和安全事件
监视入侵和安全事件既包括被动任务也包括主动任务。很多入侵都是在发生攻击之后,通过检查日志文件才检测到的。这种攻击之后的检测通常称为被动入侵检测。只有通过检查日志文件,攻击才得以根据日志信息进行复查和再现。
其他入侵尝试可以在攻击发生的同时检测到。这种方法称为“主动”入侵检测,它会查找已知的攻击模式或命令,并阻止这些命令的执行。
此节内容将讲述可用于实现这两种形式的入侵检测,以保护网络免受攻击的工具。
时间同步的重要性
监视多个计算机之间的入侵和安全事件时,这些计算机时钟同步是至关重要的。经过同步的时间使管理员能再现针对多个计算机进行攻击时所发生的操作。如果没有同步的时间,则很难准确确定何时发生了特定的事件,以及这些事件是如何交错发生的。
被动检测方法
被动入侵检测系统包括事件日志和应用程序日志的手动复查。这种检查包括对事件日志数据中的攻击模式进行分析和检测。目前有若干工具、实用程序和应用程序都可帮助复查事件日志。此节简要讲述了如何使用每个工具来整理信息。
事件查看器
Windows 2000 安全日志当然可以使用 Windows 2000 事件查看器 MMC 控制台进行查看。事件查看器允许查看应用程序日志、安全日志和系统日志。您可以在事件查看器中定义一些筛选器,以找出特定的事件。
? 在事件查看器中定义筛选器
1. 在控制台树中选择特定的事件日志。
2. 从查看菜单选择“筛选器”。
3. 选择筛选参数。
在“属性”对话框的“筛选器”选项卡中,可定义下列属性来筛选事件项:
? 事件类型:该筛选器可限定为信息、警告、错误、成功审核、失败审核或任何事件类型的组合。
? 事件来源:生成该事件的特定服务或驱动程序。
? 类别:该筛选器可限定为特定的事件类别。
? 事件 ID:如果知道要搜索的特定事件 ID,则该筛选器可将列表显示为该特定的事件 ID。
? 用户:您可以将事件显示限定在特定用户生成的事件。
? 计算机:您可以将事件显示限定在特定计算机生成的事件。
? 日期间隔:您可以将显示限定在位于特定开始日期和结束日期之间的事件。
应用该筛选器时,经过筛选的事件列表可导出为逗号分隔列表,或 Tab 符号分隔列表。整个列表则可导入一个数据库应用程序。
正如上面提到的,Contoso 每个负责复查事件日志的管理角色都有几位成员。作为上述成员的一部分,他们会每天复查一次这些日志,找出与事件相关的监视系统没有记录的任何安全信息。
转储事件日志工具 (Dumpel.exe)
转储事件日志是一种命令行工具,位于“Windows 2000 Server Resource Kit, Supplement One”(Microsoft Press,ISBN: 0-7356-1279-X)。该工具会将本地系统或者远程系统的事件日志转储到一个以 Tab 符号分隔的文本文件中。然后,可将此文件导入一个电子表格或数据库中,用于进一步研究。该工具还可用于筛选或筛选出一些特定的事件类型。
Dumpel.exe 工具使用的语法如下:
dumpel -f file [-s \\server] [-l log [-m source]] [-e n1 n2 n3...][-r] [-t]
[-d x]
其中:
? -f file:指定输出文件的文件名。-f没有默认设置,因此必须指定文件。
? -s server:指定想为其转储事件日志的服务器。服务器名称前面的前导反斜杠是可选的。
? -l log:指定转储哪个日志(系统日志、应用程序日志、安全日志)。如果指定的日志名称无效,则转储应用程序日志。
? -m source:指定转储记录的源(如重定向器 (rdr)、串行等)。只可提供一个源。如果不使用此参数,则转储所有事件。如果使用的源未在注册表中进行注册,则会搜索应用程序日志查找这种类型的记录。
? -e n1 n2 n3:用于事件 ID nn (最多可指定 10 个)的筛选器。如果未使用 -r 参数,则只会转储这些类型的记录,如果使用 -r ,则会转储除这些类型之外的所有记录。如果未使用此参数,则会选择来自指定 sourcename 的所有事件。如果没有 -m 参数,则不能使用此参数。
? -r:指定是筛选这些特定的源或记录,还是将它们筛掉。
? -t:指定由 Tab 符号分隔的各个字符串。如果不使用 -t,则用空格分隔字符串。
? -d x:转储过去 x 天的事件。
注意:Dumpel 只能从系统日志、应用程序日志和安全日志文件中检索内容。您不能使用 Dumpel 查询文件复制服务、域名系统 (DNS) 或者目录服务事件日志中的内容。
EventCombMT
EventCombMT 是一种多线程工具,该工具会同时分析来自很多服务器的事件日志,同时为搜索条件中的每个服务器产生一个单独的执行线程。EventCombMT 包括在“Microsoft Windows Server 2003 Resource Kit Tools”中,有关详细信息,请参考:
此工具使您能够:
? 定义一个或多个要搜索的事件 ID。
可以包括一个事件 ID,也可以包括用空格分隔的多个事件 ID。
? 定义要搜索的事件 ID 范围。
包括端点。例如,如果想搜索事件 ID 528 和事件 ID 540 之间的所有事件,并包括这两个事件 ID,则应将范围指定为 528 >ID <540。此功能非常有用,因为大多数写入事件日志的应用程序都使用一个连续的事件范围。
? 将搜索限制为特定的事件日志。
您可以选择搜索系统日志、应用程序日志和安全日志。如果在域控制器本地执行,还可以选择搜索 FRS 日志、DNS 日志和 AD 日志。
? 将搜索限制为特定的事件消息类型。
您可以选择限制为搜索错误、信息性、警告、成功审核、失败审核或者成功事件。
? 将搜索限制为特定的事件来源。
您可以选择将搜索限制为来自特定事件来源的事件。
? 在事件说明中搜索特定的文本。
对于每个事件,可以搜索特定的文本。如果正在尝试跟踪特定的用户或组,则这非常有用。
注意:您不能在特定的文本中包括搜索逻辑,如 AND、OR 或 NOT。另外,不要使用引号来分隔文本。
? 定义从当前的日期和时间向后进行扫描的特定时间间隔。
这允许您将搜索限制为过去几周、几天或者几个月的事件。
安装工具
要安装工具,请将本指南包括的自解压 SecWin2k.exe 文件中的内容进行解压缩。这将创建一个 C:\SCI\scripts\EventComb 文件夹。一旦解压缩这些文件,可以通过双击 EventCombMT.exe 文件来运行 EventCombMT 工具。
运行 EventComb 工具
使用 EventComb 工具的第一步是定义哪些计算机将包括在事件日志搜索中。
? 将计算机添加到搜索中
1. 在 EventCombMT 实用程序中,确保域框中自动检测到正确的域。如果想搜索另一域中的事件日志,应在“Domain”(域)框中手动键入这个新的域名。
2. 要将计算机添加到搜索列表中,右键单击“Select To Search/Right Click to Add”(选择进行搜索/右键单击进行添加)下面的框。弹出菜单如下图所示:
图 1
使用 EventCombMT 对话框设置添加未自动检测到搜索列表中的计算机
可以使用下列选项:
? “Get DCs in Domain”(获取域中的 DC),将当前域的所有域控制器添加到该列表。
? “Add Single Server”(添加一个服务器),允许以名称的形式将服务器或工作站添加到该列表。
? “Add all GCs in this domain”(添加此域中的所有 GC),允许您添加配置为全局编录服务器的选定域中的所有域控制器。
? “Get All Servers”(获取所有服务器),添加使用浏览器服务在该域中找到的所有服务器。这些服务器不包括所有域控制器。
? “Get Servers from File”(从文件获取服务器),允许导入一个列出所有服务器的文件,并将它们包括在搜索范围中。在该文本文件中,每个服务器都应输入到一个单独的行中。
3. 一旦将服务器添加到列表中,必须选择针对哪些服务器执行搜索。选择之后,该服务器在该列表中将突出显示。可以在按住 Ctrl 键的同时点击,以选择多个服务器。
指定要搜索的事件日志和事件类型
一旦选择了要包括在事件日志搜索中的服务器,可以通过选择包括哪些事件日志和事件类型类缩小搜索范围了。
在 EventCombMT 实用程序中,可从下列事件日志中选择用于搜索的日志:
? System(系统)
? Application(应用程序)
? Security(安全)
? FRS(文件复制服务日志)
? DNS(DNS 服务器日志)
? AD(目录服务日志)
您还可以选择在搜索中包括下列事件类型:
? Error(错误),此事件在应用程序日志和系统日志中记录,还会出现在 FRS、DNS 和目录服务日志中。
? Informational(信息),此事件在应用程序日志和系统日志中记录,还会出现在 FRS、DNS 和目录服务日志中。
? Warning(警告),此事件在应用程序日志和系统日志中记录,还会出现在 FRS、DNS 和目录服务日志中。
? Success Audit(成功审核),此事件会发生在安全日志中,如果应用程序已将成功审核注册到应用程序日志中,此事件还会发生在应用程序日志中。例如,Active Directory 迁移工具 (ADMT) 会将成功审核事件记录到应用程序日志中。
? Failure Audit(失败审核),此事件会发生在安全日志中,如果应用程序已将失败审核注册到应用程序日志中,此事件还会发生在应用程序日志中。例如,ADMT 会将失败审核记录到应用程序日志中。
? Success(成功),此事件很少发生,出现在应用程序日志或系统日志中,也会出现在 FRS、DNS 和目录服务日志中。在事件查看器中,成功事件显示为信息性事件类型。
注意:如果了解事件日志具体包括哪个事件 ID,以及事件 ID 的事件类型,请始终将该信息包括在搜索条件中,因为这可缩短搜索时间。
保存搜索
EventCombMT 允许您保存搜索,并在日后重新加载这些搜索。如果常用 EventCombMT 在 IIS 服务器中搜索一组事件,在域控制器中搜索另一组事件,则保存搜索非常有用。
搜索条件保存在注册表的下列内容中:
HKLM\Software\Microsoft\EventCombMT ,您可轻松编辑。
搜索结果文件
搜索结果在默认情况下保存在 C:\Temp 文件夹中。这些结果包括一个名为 EventCombMT.txt 的摘要文件。事件日志搜索中包括的每个计算机都会生成一个名为 ComputerName-EventLogName_LOG.txt 的单独文本文件。这些单独文本文件包含从符合搜索条件的事件日志中抽取的所有事件。
使用 EventCombMT 的示例
为了显示如何使用 EventCombMT,我们将显示如何对该工具进行配置,从而检测域控制器的重新启动和帐户锁定。
? 使用 EventCombMT 搜索域控制器的重新启动
1. 在 EventCombMT 工具中,确保该域配置了正确的域名。
2. 在该域名下面的“Select to Search/Right Click to Add”(选择进行搜索/右键单击进行添加)框中,右键单击该框,然后单击“Get DCs in Domain”(获取域中的 DC)。
注意:搜索类似帐户登录和帐户管理这样的事件时,请确保搜索所有域控制器。因为 Windows 2000 的帐户管理使用多主机模型,所以可在域中的任何域控制器上添加、修改或删除帐户。同样,身份也可由域中的任意域控制器来验证。正因为如此,您不能准确确定在哪里发生了特定的更新或身份验证尝试。
3. 右键单击“Select to Search/Right Click to Add”(选择进行搜索/右键单击进行添加)框,然后单击“Select All Servers in List”(选择列表中的所有服务器)。
4. 在该工具搜索部分的“Choose Log Files”(选择日志文件)中,仅选择“System”(系统)日志。
5. 在该工具的“Event Types”(事件类型)部分,选择“Error and Informational”(错误和信息性)。
6. 在“Event IDs”(事件 ID)框中,键入下列事件 ID:1001 6005 6006 6008。
7. 单击“Search”(搜索)按钮前,确保搜索条件按照下图定义,然后单击“Search”(搜索)。
图 2
在 Event Comb MT 对话框中定义搜索条件
完成搜索时,可在日志目录中查看结果,该目录应在搜索完成时自动打开。
? 复查日志项
1. 从“File”(文件)菜单中,选择“Open Log Directory”(打开日志目录)。
2. 在 C:\Temp 文件夹中,双击一个域控制器的输出文件,查看 EventCombMT 工具记录的特定事件。您应看到类似下面的内容输出:
1001,INFORMATIONAL,Save Dump,Wed Nov 28 05:45:50 2001,,(1001,信息,保存转储,2001 年 11 月 28 日星期三 05:45:50)
The computer has rebooted from a bugcheck.(计算机已根据检测错误重新启动。)The bugcheck was:(检测错误是:)
0x000000d1 (0x00000004, 0x00000002, 0x00000000, 0x84c983dc).
A dump was saved in: C:\WINDOWS\MEMORY.DMP.(转储保存在下列位置:C:\WINDOWS\MEMORY.DMP。)
6005,INFORMATIONAL,EventLog,Wed Nov 28 05:45:46 2001,,(6005,信息,事件日志,2001 年 11 月 28 日星期三 05:45:46)
The Event log service was started.(事件日志服务已启动。)
6008,ERROR,EventLog,Wed Nov 28 05:45:46 2001,,(6008,错误,事件日志,2001 年 11 月 28 日星期三 05:45:46)
The previous system shutdown at 5:33:47 AM on 11/28/2001
was unexpected.(上一次系统在 2001 年 11 月 28 日星期三上午 5:33:47 意外关闭)。6005,INFORMATIONAL,EventLog,Tue Nov
27 14:10:53 2001,,The Event log service was started.(6005,信息,事件日志,2001 年 11 月 27 日星期二14:10:53,事件日志服务已启动。)
6006,INFORMATIONAL,EventLog,Tue Nov 27 14:09:26 2001,,(6006,信息,事件日志,2001 年 11 月 27 日星期二 14:09:26)
The Event log service was stopped.(事件日志服务已停止。)6005,INFORMATIONAL,
EventLog,Tue Nov 27 10:11:37 2001,,The Event log service
was started.(6005,信息,事件日志,2001 年 11 月 27 日星期二 10:11:37,事件日志服务已启动。)
6006 事件表明一个有关闭域控制器权限的用户启动了一次计划关机。6005 事件表明事件日志服务已启动。此事件发生在启动时。
6008 和 1001 事件表明该计算机在没有关机的情况下被切断电源,或因为被锁定而重新启动,或遇到了一个停止错误。如果存在 1001 事件,说明发生了一个停止错误,其中包含相关的调试信息和对该调试文件的引用。
EventCombMT 工具返回的这些事件应使用已知的宕机时间进行交叉检查,不匹配的事件应加以研究,以确保该服务器没有被攻击。
EventCombMT 包括几个预先配置的搜索,可用于搜索安全事件。例如,有一个预定义的搜索可搜索帐户锁定事件。
? 使用 EventCombMT 搜索帐户锁定
1. 在 EventCombMT 工具中,确保该域配置了正确的域名。
2. 在该域名下面的“Select to Search/Right Click to Add”(选择进行搜索/右键单击进行添加)框中,右键单击该框,然后单击“Get DCs in Domain”(获取域中的 DC)。
3. 右键单击“Select to Search/Right Click to Add”(选择进行搜索/右键单击进行添加)框,然后单击“Select All Servers in List”(选择列表中的所有服务器)。
4. 从“Searches”(搜索)菜单中,单击“Built In Searches”(内置搜索),然后单击“Account Lockouts”(帐户锁定)。EventCombMT 实用程序的配置方式如下图所示:
5. 单击“Search”(搜索)。
6. 完成搜索时,可在日志目录中查看结果,该目录应在搜索完成时自动打开。
注意:包括在 EventcombMT 中的其他预定义搜索分别是文件复制服务搜索、Active Directory 搜索,寻找是否有重复 SID 和 NETLOGON DNS 注册失败、硬盘错误以及 DNS 接口错误。您还可以定义和保存自定义的搜索。
Contoso 在尝试诊断问题或在事件响应过程中确定问题原因时,会使用 EventCombMT。另外,Contoso 还定期检查所有域控制器上是否存在帐户锁定或错误密码。这样的操作有助于手动识别监视系统可能不能检测的任何奇怪模式。
事件收集
审核的主要目标之一是识别攻击者在网络上采取的操作。攻击者可能尝试破坏网络上的多个计算机和设备。因此,要了解任何攻击的程度,必须能整理和合并来自很多计算机的信息。
如果日志实用程序将导入数据库中,整理来自多个日志的信息较为简单。只要所有计算机上的时间同步,就可以根据时间字段进行排序,这就使根据时间间隔进行跟踪事件变得非常简单。
下面几节内容简要讲述了一些工具和实用程序,可使用这些工具和实用程序将事件日志信息收集到一个中心位置。
脚本
可以编写一些脚本来从多个远程计算机收集事件日志信息,并将这些信息存储在一个集中的位置。通过使用脚本,可选择何时使用“任务计划”运行脚本,一次采取什么操作即可将事件日志成功复制到集中的位置。
一个简单的示例为,创建一个使用“Windows 2000 Server Resource Kit”中的 Dumpel.exe 的批处理文件,然后通过“控制面板”中的“任务计划”定期启动该批处理文件。
“Windows 2000 Resource Kit, Supplement One”中包括 Eventquery.pl。这是一个 Perl 脚本,可显示运行 Windows 2000 的本地计算机和远程计算机上的“事件查看器”中的事件,并提供了很多筛选器,可帮助您查找特定的事件。
注意:要使用这个脚本,需安装“Windows 2000 Server Resource Kit”中的 ActivePerl。
Contoso 当前不使用事件收集解决方案。但预期会使用 Microsoft Audit Collection System (MACS),该系统将在第二年发布。MACS 是一种安全事件收集工具,它利用压缩、签名和加密的安全方式收集事件。收集事件之后,这些事件将加载到 SQL 数据库中,并进行优化以供分析。
Microsoft Operations Manager
Microsoft Operations Manager (MOM) 2000 是一种高级工具集,使企业能完整分析 Windows 2000 及其应用程序的内置事件报告和性能监视。MOM 2000 使用远程计算机上的 Intelligent Agent 将事件和性能数据收集、存储并报告到单独的位置,使管理员可集中复查收集的信息。
核心 MOM 2000 管理程序包会收集显示在系统事件日志、应用程序事件日志和安全事件日志中的事件,并将这些结果组合到一个集中的事件存储库。
注意:MOM 2000 会将它的信息存储在 SQL Server 数据库中,并提供几种检索和分析存档数据的方法。管理员可使用 Operations Manager 管理控制台、Web 控制台或 Operations Manager 报告来查看、打印或者发布数据。每个视图都包含一些预定义的用于分析存档数据的视图,并允许定义自定义视图和报告。
事件日志收集的第三方解决方案
目前有若干第三方产品可提供集中的事件日志收集和检查。评估这些第三方产品时,应在标准中添加下列功能:
? 支持所有 Windows 2000 日志
除了支持应用程序日志、安全日志和系统日志之外,还应提供 DNS 服务器、目录服务和 FRS 日志的支持。
? 使用数据库后端
该工具应允许事件日志存储在数据库结构中,从而允许检查以前的事件日志项来分析趋势,以及将多个服务器之间的事件进行关联。
? 搜索和报告功能
该工具应允许您根据提供的条件搜索特定的事件。结果应以一种可读的方式呈现。
提供事件收集功能的第三方产品有:
? Event Log Monitor - TNT Software www.tntsoftware.com(英文)
? Event Archiver - Dorian Software Creations www.doriansoft.com(英文)
? LogCaster - RippleTech www.rippletech.com(英文)
主动检测方法
主动入侵检测系统会在应用层分析传入的网络通讯,查找已知的攻击方法或可疑的应用层负载。如果收到了一个可疑的数据包,入侵检测系统通常会丢弃该数据包,并在日志文件中记录一项。有些入侵检测系统还可在检测到严重攻击时向管理员发出通知。
用于入侵检测的第三方解决方案
网络入侵检测系统和端点入侵检测系统都有第三方解决方案。这些第三方解决方案会提供除超文本传输协议 (HTTP) 之外的一些协议的支持,还会针对联网的计算机扫描一些已知的攻击。
入侵检测系统应识别的常见攻击类型有:
? 侦察攻击
这些攻击发生在入侵者监视网络查找漏洞时。潜在的攻击包括 ping 攻击,DNS 区域传输、电子邮件侦察、端口扫描以及下载网站内容,以查找有漏洞的脚本和示例页。
? 利用攻击
这些攻击发生在入侵者利用隐藏功能或错误来获取对系统的访问时。通常,攻击点是通过以前的利用攻击来识别的。
? 拒绝服务 (DoS) 攻击
这些攻击的入侵者过分使用资源,从而使计算机上运行的服务面临崩溃。这样的资源有网络链接、CPU 或者磁盘子系统。入侵者不是尝试获取信息,而是尝试阻止使用计算机。
好的入侵检测系统应能识别所有三种形式的攻击。有两个不同的方法可识别攻击:
? 异常检测
此方法使用网络中的基准计算机。基准发生变化表示存在入侵尝试。例如,非高峰时间增加的登录尝试可能就表明一个计算机遭到破坏。异常检测的优点在于,它能在不明确攻击发生方式时识别攻击。
? 特征识别
此方法会根据已知的模式识别攻击。很多 Web 服务器攻击都使用一些易于识别的常用模式。通过将外来应用程序通讯与数据库中的特征字符串进行比较,入侵检测系统可识别这些攻击。这种入侵检测方法的缺点是,特征数据库必须经常更新才能识别新的攻击特征。
可用于测试和部署的部分第三方产品包括:
? BlackIce Defender http://blackice.iss.net/(英文)
? eTrust Intrusion Detection http://www3.ca.com/Solutions/Product.asp?ID=163(英文)
? Snort http://www.snort.org/(英文)
? Tripwire http://www.tripwiresecurity.com(英文)
? Foundstone Attacker http://www.foundstone.com/(英文)
漏洞评估
除了执行被动和主动入侵检测之外,还应定期执行漏洞评估。漏洞评估会在网络中模拟攻击,检测攻击者可能找到的漏洞。
通过定期执行评估,可在攻击者进行攻击之前找到漏洞,并保护网络的薄弱部分,从而确保这些漏洞不受攻击。
如果要研究漏洞评估工具,请在决策过程中包括下列要求:
? 自动数据库更新机制
该工具应能提供更新漏洞特征的自动执行方法,以便该工具不在短时间后过期。
? 将非实质信息减少到最少的筛选器
该工具应能筛选出非实质的信息,以便组织不在研究非安全事件上浪费时间。
? 能将结果存储在数据库中
该工具应允许将扫描结果存档,以随着时间的推移而执行趋势分析和检测安全中的变化。
? 漏洞的解决方案
如果发现了漏洞,该工具则应提供有关如何修复该漏洞的文档,或提供针对该漏洞执行保护任务的脚本。
有几个第三方工具可用于针对 Windows 2000 网络执行漏洞评估。这些工具有:
? Symantec NetRecon 3.5 http://enterprisesecurity.symantec.com/(英文)
? BindView Security Advisor http://www.bindview.com(英文)
? eEye Digital Security。Retina Network Security Scanner http://www.eeye.com(英文)
? Internet Security Systems (ISS) Internet Scanner http://www.iss.net(英文)
? Symantec Enterprise Security Manager 5.5 http://enterprisesecurity.symantec.com/products/products.cfm?ProductID=45(英文)
另外,采用第三方咨询服务来执行漏洞评估更适合。使用第三方服务的优点在于,第三方之前不了解该网络,不会与外部攻击者使用同样的开始点工作。很多情况下,这些外部评估都会基于评估工作组的中立性提供最有用的信息。
小结
审核和入侵检测是有效构建环境防护措施的重要组成部分。作为风险管理过程的一部分,必须确定什么程度的审核和入侵检测适用于您所在的环境。对于跨多个协议的入侵检测,您可考虑使用第三方工具。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。