系统日志的防范.doc_第1页
系统日志的防范.doc_第2页
系统日志的防范.doc_第3页
系统日志的防范.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

系统日志的防范日志对于系统安全的作用是显而易见的,无论是网络管理员还是黑客都非常重视日志,一个有经验的管理员往往能够迅速通过日志了解到系统的安全性能,而一个聪明的黑客往往会在入侵成功后迅速清除掉对自己不利的日志。下面我们就来讨论一下日志的安全和创建问题。 一:概述:Windows2000的系统日志文件有应用程序日志,安全日志、系统日志、DNS服务器日志等等,应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%system32config,默认文件大小512KB。 安全日志文件:%systemroot%system32configSecEvent.EVT 系统日志文件:%systemroot%system32configSysEvent.EVT 应用程序日志文件:%systemroot%system32configAppEvent.EVT 这些LOG文件在注册表中的: HKEY_LOCAL_MACHINESystemCurrentControlSetServicesEventlog 有的管理员很可能将这些日志重定位。其中EVENTLOG下面有很多的子表,里面可查到以上日志的定位目录。 二:作为网络管理员: 1。日志的安全配置: 默认的条件下,日志的大小为512KB大小,如果超出则会报错,并且不会再记录任何日志。所以首要任务是更改默认大小,具体方法:注册表中HKEY_LOCAL_MACHINESystemCurrentControlSetServicesEventlog对应的每个日志如系统,安全,应用程序等均有一个maxsize子键,修改即可。 下面给出一个来自微软站点的一个脚本,利用VMI来设定日志最大25MB,并允许日志自行覆盖14天前的日志: 该脚本利用的是WMI对象, WMI(Windows Management Instrumentation)技术是微软提供的Windows下的系统管理工具。通过该工具可以在本地或者管理客户端系统中几乎一切的信息。很多专业的网络管理工具都是基于WMI开发的。该工具在Win2000以及WinNT下是标准工具,在Win9X下是扩展安装选项。所以以下的代码在2000以上均可运行成功。 strComputer = . Set objWMIService = GetObject(winmgmts: _ & impersonationLevel=impersonate,(Security)! & _ strComputer & rootcimv2) 获得VMI对象 Set colLogFiles = objWMIService.ExecQuery _ (Select * from Win32_NTEventLogFile) For each objLogfile in colLogFiles strLogFileName = objLogfile.Name Set wmiSWbemObject = GetObject _ (winmgmts:impersonationLevel=Impersonate!.rootcimv2: _ & Win32_NTEventlogFile.Name= & strLogFileName & ) wmiSWbemObject.MaxFileSize = 2500000000 wmiSWbemObject.OverwriteOutdated = 14 wmiSWbemObject.Put_ Next 将上述脚本用记事本存盘为vbs为后缀的即可使用。 另外需要说明的是代码中的strComputer=.在windows脚本中的含义相当于localhost,如果要在远程主机上执行代码,只需要把.改动为主机名,当然首先得拥有对方主机的管理员权限并建立IPC连接.本文中的代码所出现的strComputer均可作如此改动. 2。日志的查询与备份: 一个优秀的管理员是应该养成备份日志的习惯,如果有条件的话还应该把日志转存到备份机器上或直接转储到打印机上,笔者还有一篇文章利用脚本编程格式化输出系统日志,详细的讲述了利用windows脚本把日志转储并输出成html页已便于查询,有兴趣的可以查看,在这里推荐微软的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 & rootcimv2) 获得 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 Ws cript.Echo The Application event log could not be backed up. else Ws cript.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用得方便。 三:作为黑客 1。日至清除 一个入侵系统成功后的黑客第一件事便是清除日志,如果以图形界面远程控制对方机器或是从终端登陆进入,删除日志不是一件困难的事,由于日志虽然也是作为一种服务运行,但不同于http,ftp这样的服务,可以在命令行下先停止,再删除,在m命令行下用net stop eventlog是不能停止的,所以有人认为在命令行下删除日志是很困难的,实际上不是这样,下面介绍几种方法: 1.借助第三方工具:如小榕的elsave.exe远程清除system,applicaton,security的软件,使用方法很简单,首先利用获得的管理员账号与对方建立ipc会话,net use ip pass /user: user 然后命令行下:elsave -s ip -l application -C,这样就删除了安全日志。 其实利用这个软件还可以进行备份日志,只要加一个参数 -f filename就可以了,在此不再详述。 2.利用脚本编程中的VMI,也可以实现删除日志,首先获得object对象,然后利用其clearEventLog() 方法删除日志。源代码: cleanevent.vbs strComputer = . Set objWMIService = GetObject(winmgmts: _ & impersonationLevel=impersonate,(Backup)! & _ strComputer & rootcimv2) dim mylogs(3) mylogs(1)=application mylogs(2)=system mylogs(3)=security for Each logs in mylogs Set colLogFiles = objWMIService.ExecQuery _ (Select * from Win32_NTEventLogFile where LogFileName=&logs&) For Each objLogfile in colLogFiles objLogFile.ClearEventLog() Next next 在上面的代码中,建立一个数组,为application,security,system如果还有其他日志也可以加入数组。 然后用一个for 循环,删除数组中的每一个元素,即各个日志. 2。创建日志: 删除日志后,任何一个有头脑的管理员面对空空的日志,马上就会反应过来被入侵了,所以一个聪明的黑客的学会如何 伪造日志: 1。利用脚本编程中的eventlog方法是创造日志变得非常简单;下面看一个代码 createlog.vbs set ws=ws cript.createobject(Ws cript.shell) ws.logevent 0 ,write log success 创建一个成功执行日志 这个代码很容易阅读,首先获得ws cript的一个shell对象,然后利用shell对象的logevent方法 logevent的用法:logevent eventtype,des cription ,remote system eventtype 为日志类型,可以使用的如下:0 代表成功执行,1 执行出错 ,2 警告 , 4,信息 ,8 成功审计 16 故障审计 所以上面代码中,把0改为1,2,4,8,16均可,引号下的为日志描述。 这种方法写的日志有一个缺点,只能写到应用程序日志,而且日至来源只能为wsh,即windows s cripting host,所以不能起太多的隐蔽作用。 2,微软为了方便系统管理员和程序员,在xp下有个新的命令行工具,eventcreate.exe,利用它,创建日志更加简单。 eventcreate -s server -l logname -u username -p password -so source -t eventtype -id id -d des cription 含义:-s 为远程主机创建日志: -u 远程主机的用户名 -p 远程主机的用户密码 -l 日志;可以创建system和application 不能创建security日志, -so 日志来源,可以是任何日志 -t 日志类型 如information信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论