在Windows的运行过程中,会产生各种系统事件,这些事件都记录在系统日志文件中。打开事件查看器,在其中提供了“应用程序”、“安全性”、“系统”等三类日志文件。有经验的系统管理员,往往通过分析这些系统日志,就可以掌控解系统中发生的重要事件。例如,当黑客侵入系统后,其行踪往往被Windows记录在各种监控日志中,管理员据此可以判断黑客对系统的渗透情况。
但是,通常情况下,用户必须主动查阅系统日志信息,才能发现之前发生的各种事件,这很有些事后诸葛亮的味道。如果在系统发生重要事件时,能让Windows主动通知我们,那就极大的提高系统管理的效率。危险漫步举例子:当黑客侵入系统后,系统通过事件触发器自动向您发送相关警报信息,这样您就可以从容不迫的拦截黑客的不法行为,更好的保护系统安全。
一、事件触发器语法简介
在Windows 2003/XP中提供了一个实用工具Eventtriggers.exe,利用该工具我们就可以自由的创建自己需要的系统事件触发器。在Windows 2000中没有该工具,可以将Windows 2003/XP中的Eventtriggers.exe程序复制到Windows 2000的系统文件夹中即可正常便用。创建事件触发器的语法如下:
Eventtriggers.exe /Create【/S systemUdomain\] username/P [passwordlll] /TRtriggername /TK taskname [/D description] [/Llog]{LEID idl[/T type][/SO sourcel}[/RU username/RP passwordl其中“[/S system [[U usemame UP[passwordl]”参数主要为远程计算机建立事件触发器,如果在本地操作则可以省略。“/S system”参数中的“System”指远程计算机的lP地址。“[fU[domain\]username”参数中的“Username”指远程计算机上的用户名,如果远程机是域服务器的话,还需要指明域名“domain”参数。“/P[password]”参数指登录远程计算机的密码,如果省略密码项的话,在命令执行后系统会提示用户输入相应的登录密码。参数“TR triggername”中的“triggername”指的是触发器的名称。参数“TKtaskname”中的“taskname”指的是当设定的事件触发后,所要执行的命令行。在参数“D description”中指定事件触发器的描述信息。“/L log”参数指定要监视的NT事件习志。有效类型包括应用程序、系统、安全性、DNS服务器日志和目隶日志。可以使用通配符“,”。参数中的“id”指需要监视的系统事件的ID号(例如ID为529指使用未知用户名登录系统事件,ID为627指更改帐号密码事件等)。参数“/T type”指触发器要监视的事件类型。有效值包括“ERROR”,“INFORMATION”, “WARNJNG”,“SUCCESSAUDIT”, “FAILUREAUDIT”等。参数“/SOsource”指事件触发器要监视的事件源。参数“/RU username”指定当触发辜件后,执行指定的命令行时使用的用户帐户。对于“SYSTEM”帐户,值必须是“”。参数“/RP[password]”则提供对应的用户密码, “SYSTEM”帐户的密码可以设为空。事件触发器一旦创建完成,则无法对其进行修改。
二、事件触发器监控实战
在CMD窗口执行命令: “eventtriggers /create/s 192.168.0.1/u lysofter /eid 624/tr“建立用户”/tk”net send 192.168.0.9”在服务器上新的用户已经建立!其中的ID号为624指创建用户帐号事件,当命令运行后,系统会出现密码输入提示,首先应该输入用户lysofter的密码,然后就建立了一个名称为“建立用户”的触发器,当在lP地址为“192.168.0.1”的计算机上建立新的用户后,系统马上给IP地址为“192.198.0.9”的计算机发送一条消息,说明已经有新的用户在远程计算机上建立了。这里使用了Net send命令,当然,用户在“TK”参数中也可以使用其它任何命令。
对应的还可以建立删除用户帐号的触发器,在CMD窗口中执行命令“eventtriggers /create/s 192.168.0.1/u lysofter /eid 630 /tr“删除用户”/tk”net send 192.168.0.9”在服务器上新的用户已经建立!””,其中ID号为630表示删除用户帐号事件,这样当在IP地址为192.168.0.1的计算机上执行删除用户操作后,系统马上给IP地址为192.198.0.9的计算机发送一条消息,说明在远程计算机上的有关用户被删除了。一般来说,黑客侵入电脑后,为了达到更好的控制目的,往往会在电脑上执行建立或者删除用户的操作,这样我们就可以及时的发现其行踪了。
在事件查看器中选中某一事件,打开其属性窗口,在“事件详细信息”面板的“事件ID”栏中可以方便的查看事件的ID号。依照上述方法,只要知道了具体的事件ID号,就可以随心所欲的创建事件触发器了。
三、查看触发器信息
在创建了事件触发器后,还可以随时查看本地或远程计算机上的触发器信息。具体的语法格式为:
EVENTTRIGGERS tQuery/S s,ystem [/Uusername【/P【passwordU]J UFO formatJ【/NHI【1】[/ID id]其中参数"[/S system [/U username[/P[password]】]]”的含义与上述相同。“/V”参数用来显示触发器的详细情况。例如执行命令“eventtriggers /query/s 192.168.0.1/u lysofter/v”,就可以将地址为“192.168.0.1”的事件触发器的全部信息都显示出来。参数“FO format”指定输出显示的格式。有效值包括“TABLE”,“LIST",“CSV”等。参数“,NH”指定“列标题”在输出中不应该被显示,只对TABLE和CSV格式有效。参数“/IDid”指定要查询的事件触发器的ID号。例如执行命令““eventtriggers /query,s 192.168.0.1/u /lysofter /ID 529”,则只显示指定计算机上的ID号为529的事件触爰器的信息。如果不带任何参数的话,只是显示指定计算机上的基本信息。例如执行命令“eventtriggers /query/s 192.168.0.1/u lysofier".
四、删除触发器事件
如果希望删除指定计算机上的某个事件触发器的话,具体的语法格式为:
EVENTTRIGGERS /Delete/S system [/Uusemame [/P [passwordl] /TID id/TID id2 fI.TID idnl]]删除事件触发器的方法比较简单,其中参数“/TID id”指明需要删除的事件触发器的ID。如果其中的“id”?参数用“+”来代替的话,则删除指定计算机上的所有事件触发器。例如执行命令“eventtriggers /delete,s 192.168.0.1/u lysofter/tid 100”,则删除指定计算机上的事件ID为100的事件触发器。如果执行命令“eventtriggers /query/s192.168.0.1/u lysofter /tid”,则删除指定计算机上的所有事件触发器。
五、开启审核策略
在默议状态下,Windows没有开启审核策略,这个查看安全性事件带来不便。在“开始”-“运行”中输入“gpedit.msc”回车后打开组策略编辑器,在其左侧窗口中依次展开“计算机配置”-“Windows设置”-“安全设置”-“本地策略”-“审核策略”分支,在右侧窗口中双击“审核对象访问”项,在本地安全策略设置对话框中勾选“成功”和“失败”项。这样,就激活了安全性审核了。当执行Eventtriggers.exe命令创建事件触发器,以及触发了指定的事件触发器后,都会在系统目录中的“Syatem32\wbem\logs”文件夹中生成一个名为“CmdTriggerConsumer.log”的曰志文件,其中记录了一些和事件触发器有关的一些简单的信息。值得说明的是,Eventtriggers.exe命令的运行需要依靠Task Scheduler服务的支持,该服务必须处于开启状态。否则无法正常创建事件触发器。