买股吧

 找回密码
 用户注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1914|回复: 0

Windows日志的保护与伪造

[复制链接]

147

主题

147

帖子

4

积分

买股吧二年级

Rank: 2

积分
4
发表于 2009-10-12 20:13 | 显示全部楼层 |阅读模式
     日志对于系统安全的作用是显而易见的,无论是网络管理员还是黑客都非常重视日志,一个有经验的管理员往往能够迅速通过日志了解到系统的安全性能,而一个聪明的黑客往往会在入侵成功后迅速清除掉对自己不利的日志。下面我们就来讨论一下日志的安全和创建问题。
                          
                         一:概述:

   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:" _
%26 "{impersonationLevel=impersonate,(Security)}!\\" %26 _
strComputer %26 "\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:" _
%26 "Win32_NTEventlogFile.Name=''" %26 strLogFileName %26 "''")
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:" _
%26 "{impersonationLevel=impersonate,(Backup)}!\\" %26 _
strComputer %26 "\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",此处备份的日志为application 备份位置为f:\application.evt,可以自行修改,此处备份的格式为evt的原始格式,用记事本打开则为乱码,这一点他不如dumpel用得方便。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

免责声明:买股吧官方不作任何"加入会员、承诺收益、利润分成"以及其他非法操作方式进行非法的理财服务。
买股吧论坛任何发言和广告信息仅代表本站作者或信息来源的观点,信息内容真实性、准确性和合法性,本站对此不承担任何责任。
本站部分文字及图片来自于网络,如有版权争议,请联系我们。

QQ|广告合作|手机版|标签|小黑屋|Sitemap|网站地图|买股吧 ( 沪ICP备16041282号-2 )

GMT+8, 2024-4-20 07:40 , Processed in 0.148613 second(s), 23 queries .

买股吧是免费专业的股票论坛,专业提供股民常用的股票公式,选股公式,股票入门,股票软件,公式源码股票资料。

快速回复 返回顶部 返回列表