windows日志的保护与伪造
日志系统安全性的作用是显而易见的。网络管理员和黑客都非常重视日志。一个有经验的管理员可以通过日志快速了解系统的安全性能,而一个聪明的黑客在入侵成功后会快速清除对自己不利的日志。让我们讨论日志的安全性和创建。
一.概述:
Windows2000系统日志文件包括应用程序日志、安全日志、系统日志、DNS服务器日志等。应用程序日志、安全日志、系统日志和DNS日志的默认位置是%systemroot%\system32\config,默认文件大小是512KB。
安全日志文件:% systemroot % \ system32 \ Config \ sec event . evt
系统日志文件:% systemroot % \ system32 \ Config \ sys event . evt
应用程序日志文件:% systemroot % \ system32 \ Config \ app event。EVT
这些日志文件在注册表中:
HKEY _本地_机器\系统\当前控制集\服务\事件日志
一些管理员可能会重新定位这些日志。其中,EVENTLOG下有很多子表,在这些子表中可以找到上述日志的位置目录。
二:作为网络管理员:
1.日志的安全配置:
默认情况下,日志大小为512KB如果超过该大小,将会报告一个错误,并且不会记录更多的日志。因此,首要任务是更改默认大小。具体方法:注册表中HKEY _本地_机器\系统\当前控制集\服务\事件日志对应的每个日志,如系统、安全、应用等。有一个可以修改的maxsize子项。
这里有一个来自微软网站的脚本,使用VMI设置日志25MB,允许日志覆盖14天前的日志:
这个脚本使用WMI对象,WMI(Windows Management Instrumentation)技术是微软提供的Windows下的系统管理工具。这个工具可以在本地或本地管理客户端系统中的几乎所有信息。许多专业的网络管理工具都是基于WMI开发的。该工具是Win2000和WinNT下的标准工具,是Win9X下的扩展安装选项。因此,下面的代码可以在2000以上成功运行。
strComputer = ","
Set objWMIService = GetObject(" winmgmts:" _
& " { impersonation level = impersonate,(Security)}!\ \ " & _
str computer & " \ root \ CIM v2 ")' get VMI object
set collo files = objwmiservice . execquery _
(" select * from win32 _ nteventlogfile ")
对于colLogFiles中的每个objLogfile
strLogFileName = objLogfile。name
Set wmiSWbemObject = GetObject _
(" winmgmts:{ impersonation level = Impersonate }!\.\ root \ CIM v2:" _
& " Win32 _ NTEventlogFile。name = ' " & strLogFileName & " ' "
wmiSWbemObject。max filesize = 2500000000
WMISWBemobject。overwrite outsided = 14
WMISWBemobject。PUT _
NEXT
用notepad作为vbs后缀保存上面的脚本,就可以使用了。
另外,需要注意的是strComputer= " . "在代码中相当于windows脚本中的localhost。如果您想在远程主机上执行代码,只需更改“.”到主机名。当然,你必须首先拥有对方主机的管理员权限,并建立IPC连接。本文代码中出现的所有strComputer都可以用这种方法修改。
2。日志的查询和备份:
一个好的管理员应该养成备份日志的习惯,如果条件允许,还应该把日志转储到备份机或者直接转储到打印机。作者还有一篇文章《用脚本编程打印格式系统日志》,详细讲述了使用windows脚本转储日志并输出到html页面,方便查询。有兴趣的可以去看看。这里推荐微软resourceKit工具箱里的dumpel.exe,他常用的方法:
dump-f filename-s \ \ Server-l log
-f filename输出日志位置和文件名
-s \server输出远程计算机日志
-l log log可以是系统、安全、应用,也可能有其他的,比如DNS
。如果要将目标服务器server上的系统日志传输到backupsystem.log,可以使用以下格式:
dumpel \ \ server-L system-f backup system . log
然后使用计划任务定期备份系统日志。
另外,通过脚本编程的VMI对象也可以轻松实现日志备份:
下面是备份应用程序日志的代码:
backup log . VBS
str computer = " . "
Set objWMIService = GetObject(" winmgmts:" _
& " { impersonation level = impersonate,(Backup)}!\ \ " & _
str computer & " \ root \ CIM v2 ")' Get VMI object
set collofiles = objwmiservice . execquery _
(" select * from win32 _ nteventlogfile where log filename = ' application ' ")获取collo files中每个objlog文件的日志对象
err backlog = obj log file . backup事件日志(" f:\ application.evt ")'将日志备份为f:\ application . application。Echo“无法备份应用程序事件日志。”
else Wscript。回显“成功备份日志”
End If
Next
程序描述:如果备份成功,窗口会提示:“成功备份日志”;否则,它会提示:“无法备份应用程序事件日志”。这里的备份日志是应用程序。备份位置为f:\application.evt,可自行修改。这里的备份格式是evt的原始格式,用记事本打开是乱码,没有dumpel方便。
0条评论