Windows 2000 审核和入侵检测
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Windows 2000 审核和入侵检测
2005-11-24 23:41 Technet 我要评论(0)
∙摘要:要维护真正安全的环境,只是具备安全系统还远远不够。
如果总假设自己不会受到攻击,或认为防护措施已足以保护自己的安全,都将非常危险。
要维护系统安全,必须进行主动监视,以检查是否发生了入侵和攻击。
∙标签:Windows
∙要维护真正安全的环境,只是具备安全系统还远远不够。
如果总假设自己不会受到攻击,或认为防护措施已足以保护自己的安全,都将非常危险。
要维护系统安全,必须进行主动监视,以检查是否发生了入侵和攻击。
很多方面都说明,监视和审核入侵非常重要,具体原因有:
•
所有处于运行中的计算机环境都有可能被攻击。
无论系统安全级有多高,总有面临攻击的风险。
•
成功的攻击一般出现在一系列失败攻击后。
如果不监视攻击,您将无法在入侵者达到目的前检测到他们。
•
一旦攻击成功,越早发现越能减少损失。
•
为了能从攻击中恢复,需要了解发生了什么损失。
•
审核和入侵检测有助于确定是谁发起的攻击。
•
审核和入侵检测的结合使用有助于将信息进行关联,以识别攻击模式。
•
定期复查安全日志有助于发现未知的安全配置问题(如不正确的权限,或者不严格的帐户锁定设置)。
•
检测到攻击之后,审核有助于确定哪些网络资源受到了危害。
本模块讲述如何审核环境,以便发现攻击并跟踪攻击。
本模块还讲述了如何监视是否发生了入侵,如何使用入侵检测系统(入侵检测系统是专门为发现攻击行为而设计的软件)。
目标
使用本模块可以实现下列目标:
•
使用最佳做法在组织中进行审核。
•
保护关键日志文件,防止攻击者干预证据。
•
结合使用被动和主动的检测方法。
•
明确监督和监视员工要具备哪些工具和技术,以及如何在审核过程中使用这些工具和技
术。
适用范围
本模块适用于下列产品和技术:
•
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
用户成功登录计算机。
5
28
事件
ID
说明
5
29
用户使用系统未知的用户名登录,或已知用户使用错误的密码登录。
5
30
用户帐户在许可的时间范围外登录。
5
31
用户使用已禁用的帐户登录。
5
32
用户使用过期帐户登录。
5
33
不允许用户登录计算机。
5
34
用户使用不许可的登录类型(如网络、交互、批量、服务或远程交互)进行登录。
5
35
指定帐户的密码已过期。
5
36
Net Logon 服务未处于活动状态。
5
37
登录由于其他原因而失败。
5
38
用户注销。
5
39
试图登录时帐户已被锁定。
此事件表示密码攻击失败,并导致该帐户被锁定。
5 40
网络登录成功。
此事件表示远程用户已成功从该网络连接到服务器上的本地资源,同时为该网络用户生成了一个令牌。
6
82
用户重新连接了已断开的终端服务会话。
此事件表示前面已连接了一个终端服务会话。
6 83
用户在未注销的情况下断开终端服务会话。
此事件是在用户通过网络连接终端服务会话时生成的。
它出现在终端服务器上。
使用登录事件项可诊断下面的安全事件:
•
本地登录尝试失败
下列任意事件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 说明
事件ID 说明
67
2
身份验证服务(AS) 票证已成功签发和验证。
67
3
已授予票证授予服务(TGS) 票证。
67
4
安全主要对象续订了AS 票证或TGS 票证。
67
5
预身份验证失败。
67
6
身份验证票证请求失败。
67
7
未授予TGS 票证。
67
8
某个帐户已成功映射到域帐户。
68 0
标识成功登录的帐户。
此事件还指出了验证帐户的身份验证程序包。
68
1
尝试域帐户登录。
68
2
用户重新连接一个已断开的终端服务会话。
68
3
用户在没有注销的情况下断开了终端服务会话。
对于每个这样的事件,事件日志都会显示每个特定登录的详细信息。
使用帐户登录事件项可诊断下面的安全事件:
•
域登录尝试失败
事件ID 675 和677 表明登录域的尝试失败。
•
时间同步问题
如果客户计算机的时间与身份验证域控制器的时间不同,多了五分钟(默认情况),则安全日志中显示事件ID 675。
•
终端服务攻击
终端服务会话可能停留在连接状态,使一些进程得以在会话结束之后继续运行。
事件ID 683 表示用户没有从终端服务会话注销,事件ID 682 则表示发生了到上一个已断开连接会话的连接。
要防止断开连接,或要终止这些已断开的会话,请在“终端服务配置”控制台中的RDP-TCP 协议属性中定义“time interval to end disconnected session”(结束已断开会话的时间间隔)。
事件ID 说明1 组
63 2
添加了启用安全的全局组成员
63 3
删除了启用安全的全局组成员
63 4
删除了启用安全的全局组
63 5
创建了禁用安全的本地组
63 6
添加了启用安全的本地组成员
63 7
删除了启用安全的本地组成员
63 8
删除了启用安全的本地组
63 9
更改了启用安全的本地组
64 1
更改了启用安全的全局组
64
2
更改了用户帐户
64
3
更改了域策略
64
4
锁定了用户帐户
使用安全日志项可诊断下面的帐户管理事件:
•
用户帐户的创建
事件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 使用一个内核模式的安全子系统,这种系统只允许程序通过内核访问对象。
这会防止程序尝试绕过
安全系统。
因为内核内存空间是与用户模式程序相隔离的,所以程序是通过一个称为句柄的数据结构引用对象的。
下面是一个典型的访问尝试:
.
用户要求程序访问某个对象(例如,文件/打开)。
.
该程序从系统请求一个句柄,指定需要哪种类型的访问(读、写等)。
. 安全子系统将请求对象的自由访问控制列表(DACL) 与该用户的令牌相比较,在DACL 中查找与
该用户或用户所在组相匹配的项,以及对于请求程序有访问权限的项。
. 系统将所请求对象的SACL 与该用户的令牌相比较,在SACL 中查找与该程序返回的有效权限相
匹配的项,或与该程序请求的权限相匹配的项。
如果匹配的失败审核ACE 与一个已请求但未授予的访问相匹配,则生成一个失败审核事件。
如果匹配的成功审核ACE 与一个已授予的访问相匹配,则生成一个成功审核事件。
.
如果授予任何访问,系统都会向该程序返回一个句柄,然后该程序会使用该句柄访问该对象。
要注意的重要一点是,当发生审核并生成事件时,尚未对该对象发生任何操作。
这对于解释审核事件至关重要。
写入审核是在文件被写入之前生成的,读取审核则在文件被读取之前生成。
与所有审核一样,务必采取一个针对目标的方式来审核对象访问。
在审核计划中,应决定必须审核的对象类型,然后确定每种类型的审核对象,希望监视哪些类型的访问尝试(成功、失败,还是两者兼有)。
审核的范围过宽会对系统性能产生明显的影响,并会使收集的数据过多,远远超过必要或有用的程度。
通常情况下,您希望审核对所选择对象的所有访问,其中包括来自非信任帐户的访问。
为此,请在审核对象的SACL 中添加“Everyone”组)。
您应了解,如果按照这种方式审核成功的对象访问,可能会在安全日志中产生非常多的审核项。
然而,如果要对重要文件的删除进行调查,则必须检查成功审核事件,以确定哪个用户帐户删除了该文件。
“成员服务器和域控制器基准策略”的设置是既审核成功对象访问也审核失败事件。
但是,这些对象本身不会设置任何SACL,需要根据环境的需要设置这些内容。
SACL 可以直接在对象上定义,也可以通过组策略定义。
如果要审核的对象存在于多个计算机上,则应在组策略中定义这些SACL。
审核对象访问会导致安全日志显示下列事件。
表4:事件日志中的对象访问事件
事件
ID
说明
56
授予现有对象访问权限。
56
2
对象句柄关闭。
56 3
为删除对象而打开对象。
(这是文件系统在指定了FILE_DELETE_ON_CLOSE 标志时所使用的。
)
56
4
删除了一个受保护的对象。
56
5
授予现有对象类型访问权限。
Contoso 不专门监视任何对象访问事件,但要审核某些文件的对象访问。
此信息对于响应一个安全事件尤其有用。
目录服务访问
Active Directory 对象有相关联的SACL,因此可进行审核。
正如前面提到的,审核帐户管理可审核Active Directory 用户和组帐户。
但是,如果想审核其他命名上下文中对象的修改(如配置和架构命名上下文),必须审核对象访问,然后为要审核的特定容器定义SACL。
如果Active Directory 对象SACL 中列出的用户要尝试访问该对象,就会生成审核项。
您可以使用ADSIEDIT MMC 管理单元来修改配置命名上下文(和其他命名上下文)中容器和对象的SACL。
过程如下:在ADSIEDIT 控制台中显示所需的上下文,然后在“高级安全设置”对话框中修改该对象的SACL。
由于发生了大量事件(通常都是些无关紧要的事件),所以很难找出目录服务访问的特定事件。
因此,“成员服务器和域控制器基准策略”只审核目录服务访问的失败事件。
这有助于弄清攻击者何时尝试对Active Directory 进行了未授权访问。
尝试的目录访问在安全日志中将显示为一个ID 为565 的目录服务事件。
只有通过查看安全事件的详细信息,才能确定该事件与哪个对象相对应。
Contoso 不专门监视任何目录服务访问事件,但要审核某些文件的对象访问。
此信息对于响应一个安全事件尤其有用。
特权使用
当用户在信息技术(IT) 环境中工作时,他们将运用所定义的用户权限。
如果审核特权使用的成功和失败,每次用户尝试运用用户权限时都会生成一个事件。
即使真的要审核特权使用,也并非所有的用户权限都会审核。
在默认情况下,不包括下列用户权限:
•
跳过遍历
检查
•
调试程序
•
创建令牌
对象
•
替换进程
级令牌
•
生成安全
审核
•
备份文件
和目录
•
还原文件
和目录
您可以在组策略中启用“对备份和还原权限的使用进行审核”安全选项,从而覆盖不审核“备份”和“还原”用户权限的默认行为。
下面是使用某些特定用户权限时,可能存在的一些事件日志项示例:
•
作为操作系统的一部分
请查找指定了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 说明
59
2
创建了新进程。
59
3
退出进程。
59
4
复制对象句柄。
59 5
获取了对象的间接访问。
Contoso 不监视任何进程跟踪事件,并且不在任何服务器策略中启用这些监视。
系统事件
系统事件是在用户或进程更改计算机环境的部分内容时生成的。
您可以审核对系统进行更改的尝试,如关闭计算机或者更改系统时间。
如果审核系统事件,还应审核何时清除了安全日志。
这非常重要,因为攻击者常会尝试在对环境进行更改之后清除他们的行踪。
“成员服务器和域控制器基准策略”会审核系统事件的成功和失败。
这会在事件日志中生成下列事件ID。
表8:事件日志中的系统事件。