现在的位置: 首页 > 综合 > 正文

让普通用户查询安全日志

2012年04月06日 ⁄ 综合 ⁄ 共 1358字 ⁄ 字号 评论关闭

安全日志位置在://ad/C$/WINNT/system32/config/secevent.evt

在WIN2000上设不出来能让普通用户查询安全日志的,普通域用户可以直接查询“应用程序”与“系统日志”,但却不能查询“安全日志”,只有把普通域用户归到“管理稽核及安全日志”才能访问,但这样,普通域用户又可以删除安全日志了。

我试着把secevent.evt共享全开,仍无法访问

使用者权限指派---管理稽核及安全日志加入该用户  不成功,但重新登录,成功,不过也可以删除

想对文件设置拒绝修改权限,但发现权限设上去,再过一会又被清空了。

看到几种解决方案:安装一个MOM(Microsoft Operations Manager)专门进行安全日志的管理,需要花钱,并且要多安装软件

通过dumpel导成文本文件,然后用户再看这个文本文件
把安全日志另存为日志文件,然后再用事件查看器查看
甚至把安全日志文件直接拷贝出来,对其标识进行修改,然后让其它用户可以在事件查看器中查看
但以上三种方案都存在一个时间差,关联动作多等缺点

最后我们使用如下方案:建立一个ASP文件,即时读取安全日志。
ASP文件代码如下:
<%@ LANGUAGE="VBSCRIPT"%>
<HTML>
<HEAD>
<TITLE>Security Logs</TITLE>
</HEAD>

<BODY style="font-family:宋体; font-size:9pt;">
<%
Set wbemServices = GetObject("winmgmts:{(Security)}\\.\root\cimv2")
Set wbemObjectSet = wbemServices.ExecQuery _
    ("Select * From Win32_NTLogEvent Where Type='audit failure'")

i=1
For Each wbemObject In wbemObjectSet
  sSJ = wbemObject.TimeGenerated
  sSJ = left(sSJ, 4) & "-" & mid(sSJ, 5, 2) & "-" & mid(sSJ, 7, 2) & " " & mid(sSJ, 9, 2) & ":" & mid(sSJ, 11, 2) & ":" & mid(sSJ, 13, 2)
%>
XH: <%=wbemObject.RecordNumber%><br/>
SJ: <%=sSJ%><br/>
LX: <%=wbemObject.CategoryString%><br/>
Event: <%=wbemObject.EventCode%><br/>
Message: <%=wbemObject.Message%><br/>
<br/>
<%
  i=i+1
  if i>200 then exit for
Next
%>

</BODY>
</HTML>
也要注意在WMI的属性的安全性中,要允许everyone远程访问。

后来发现我把我测试的帐号分配了“管理稽核及安全日志”的权限,对于普通帐号还是一片空白。只好再试。在IIS中对该ASP文件属性中,如果把有“管理稽核及安全日志”的测试帐号做为匿名登录的对应帐号,并且将帐号分配“以批次工作登入”的权限,这样普通用户访问该文件时,就是使用测试帐号,而测试帐号可以“管理稽核及安全日志”,所以就把结果给列出来了。这下正常了。

抱歉!评论已关闭.