当前位置: 首页 > 图文教程 > 网络安全 > 安全基础 > 网管必备技巧—Windows日志的保护与伪造

安全基础
建立防火墙的主动性网络安全防护体系
家庭上网必学八招安全绝招
弹出网页或不定时弹出网页的解决办法
一个弹出窗口引发一场追踪
预防QQ被盗的两个小技巧
详解网络加密技术及应用
论常见的壳与加壳技术
了解下反垃圾邮件技术
常用的几种免杀方法及工具
确保数据中心虚拟化安全的10个步骤
Windows激活木马的解决办法
08企业安全,应用开发过程中建立信任
如何实现最基本的IT检查的10条建议
ARP掉线的快速解决方案
安全审核 用Nmap为网络查找安全漏洞
网络安全重心转向主动防御
从原理入手扼杀传播病毒的恶意网页
ntfs.dll病毒ntfs.dll木马清除
保护计算机远离黑客骚扰的策略
安全打开U盘目录的简单方法

安全基础 中的 网管必备技巧—Windows日志的保护与伪造


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-28   浏览: 41 ::
收藏到网摘: n/a

 

  日志对于系统安全的作用是显而易见的,无论是网络管理员还是黑客都非常重视日志,一个有经验的管理员往往能够迅速通过日志了解到系统的安全性能,而一个聪明的黑客往往会在入侵成功后迅速清除掉对自己不利的日志。下面我们就来讨论一下日志的安全和创建问题。

  一、概述:

  Windows 2000的系统日志文件有应用程序日志,安全日志、系统日志、DNS服务器日志等等,应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%\system32\config,默认文件大小512KB。

  安全日志文件:%systemroot%\system32\config\SecEvent.EVT
  系统日志文件:%systemroot%\system32\config\SysEvent.EVT
  应用程序日志文件:%systemroot%\system32\config\AppEvent.EVT

  这些LOG文件在注册表中的:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Eventlog有的管理员很可能将这些日志重定位。其中EVENTLOG下面有很多的子表,里面可查到以上日志的定位目录。

  二、作为网络管理员:

  1.日志的安全配置:

  默认的条件下,日志的大小为512KB大小,如果超出则会报错,并且不会再记录任何日志。所以首要任务是更改默认大小,具体方法:注册表中HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Eventlog对应的每个日志如系统,安全,应用程序等均有一个maxsize子键,修改即可。

  下面给出一个来自微软站点的一个脚本,利用VMI来设定日志最大25MB,并允许日志自行覆盖14天前的日志:

  该脚本利用的是WMI对象, WMI(Windows Management Instrumentation)技术是微软提供的Windows下的系统管理工具。通过该工具可以在本地或者管理客户端系统中几乎一切的信息。很多专业的网络管理工具都是基于WMI开发的。该工具在Win2000以及WinNT下是标准工具,在Win9X下是扩展安装选项。所以以下的代码在2000以上均可运行成功。

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Security)}!\\" & _
strComputer & "\root\cimv2") ''获得VMI对象
Set colLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile")
For each objLogfile in colLogFiles
strLogFileName = objLogfile.Name
Set wmiSWbemObject = GetObject _
("winmgmts:{impersonationLevel=Impersonate}!\\.\root\cimv2:" _
& "Win32_NTEventlogFile.Name=''" & strLogFileName & "''")
wmiSWbemObject.MaxFileSize = 2500000000
wmiSWbemObject.OverwriteOutdated = 14
wmiSWbemObject.Put_
Next

  将上述脚本用记事本存盘为vbs为后缀的即可使用。

  另外需要说明的是代码中的strComputer="."在Windows脚本中的含义相当于localhost,如果要在远程主机上执行代码,只需要把"."改动为主机名,当然首先得拥有对方主机的管理员权限并建立IPC连接.本文中的代码所出现的strComputer均可作如此改动。

  2. 日志的查询与备份:

  一个优秀的管理员是应该养成备份日志的习惯,如果有条件的话还应该把日志转存到备份机器上或直接转储到打印机上,在这里推荐微软的resourceKit工具箱中的dumpel.exe,他的常用方法:

  dumpel -f filename -s \\server -l log

  -f filename 输出日志的位置和文件名

  -s \\server 输出远程计算机日志

  -l log log 可选的为system,security,application,可能还有别的如DNS等.

  如要把目标服务器server上的系统日志转存为backupsystem.log可以用以下格式:

  dumpel \\server -l system -f backupsystem.log

  再利用计划任务可以实现定期备份系统日志。

  另外利用脚本编程的VMI对象也可以轻而易举的实现日志备份:

  下面给出备份application日志的代码:

backuplog.vbs
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Backup)}!\\" & _
strComputer & "\root\cimv2") ''获得 VMI对象
Set colLogFiles = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile where LogFileName=''Application''") ''获取日志对象中的应用程序日志
For Each objLogfile in colLogFiles
errBackupLog = objLogFile.BackupEventLog("f:\application.evt") ''将日志备份为f:\application.evt
If errBackupLog <> 0 Then
Wscript.Echo "The Application event log could not be backed up."
else Wscript.Echo "success backup log"
End If
Next

  程序说明:如果备份成功将窗口提示:"success backup log" 否则提示:"The Application event log could not be backed up",此处备份的日志为applicatio