当前位置: 首页 > 图文教程 > 服务器 > 安全防护 > 系统安全-Win2000 Server入侵监测

安全防护
2003服务器A级BT安全配置指南(12)
2003服务器A级BT安全配置指南(13)
修改用户控制权限管理自启动文件
IIS6.0下建立FTP“用户隔离”站点
SQL Server数据库安全规划全攻略(1)
从IIS到SQL Server数据库安全
匿名FTP的安全设定(1)
匿名FTP的安全设定(2)
SQL Server防范措施(2)
域名解析优化也会有麻烦
10个步骤保护IIS Web服务器安全
突破SQL错误提示上传webshell
判断Web数据库方式的一个小经验
sqlserver取得网站路径的几种方法以及比较(1)
sqlserver取得网站路径的几种方法以及比较(2)
阿江的WINDOWS服务器安全设置
RAdmin 服务端高级配置(2)
Win2000安全检查清单(1)
Win2000安全检查清单(2)
Win2000安全检查清单(3)

安全防护 中的 系统安全-Win2000 Server入侵监测


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

 

  入侵的检测主要还是根据应用来进行,提供了相应的服务就应该有相应的检测分析系统来进行保护,对于一般的主机来说,主要应该注意以下几个方面:

1、 基于80端口入侵的检测

  WWW服务大概是最常见的服务之一了,而且由于这个服务面对广大用户,服务的流量和复杂度都很高,所以针对这个服务的漏洞和入侵技巧也最多。对于NT来说,IIS一直是系统管理员比较头疼的一部分(恨不得关了80端口),不过好在IIS自带的日志功能从某种程度上可以成为入侵检测的得力帮手。IIS自带的日志文件默认存放在System32/LogFiles目录下,一般是按24小时滚动的,在IIS管理器中可以对它进行详细的配置。(具体怎么配我不管你,不过你要是不详细记录,回头查不到入侵者的IP可不要哭)

  现在我们再假设(怎么老是假设呀,烦不烦?)别急呀,我不能为了写这篇文章真的去黑掉一台主机,所以只好假设了,我们假设一台WEB服务器,开放了WWW服务,你是这台服务器的系统管理员,已经小心地配置了IIS,使用W3C扩展的日志格式,并至少记录了时间(Time)、客户端IP(Client IP)、方法(Method)、URI资源(URI Stem)、URI查询(URI Query),协议状态(Protocol Status),我们用最近比较流行的Unicode漏洞来进行分析:打开IE的窗口,在地址栏输入:127.0.0.1/scripts/..%c1% 1c../winnt/system32/cmd.exe?/c+dir 默认的情况下你可以看到目录列表(什么?你已经做过安全配置了,看不到?恢复默认安装,我们要做个实验),让我们来看看IIS的日志都记录了些什么,打开Ex010318.log(Ex代表W3C扩展格式,后面的一串数字代表日志的记录日期):07:42:58 127.0.0.1 GET /scripts/..\../winnt/system32\cmd.exe /c+dir 200上面这行日志表示在格林威治时间07:42:58(就是北京时间23:42:58),有一个家伙(入侵者)从127.0.0.1的IP在你的机器上利用Unicode漏洞(%c1%1c被解码为"\",实际的情况会因为Windows语言版本的不同而有略微的差别)运行了cmd.exe,参数是/c dir,运行结果成功(HTTP 200代表正确返回)。(哇,记录得可真够全的,以后不敢随便乱玩Unicode了)

  大多数情况下,IIS的日志会忠实地记录它接收到的任何请求(也有特殊的不被IIS记录的攻击,这个我们以后再讨论),所以,一个优秀的系统管理员应该擅长利用这点来发现入侵的企图,从而保护自己的系统。但是,IIS的日志动辄数十兆、流量大的网站甚至数十G,人工检查几乎没有可能,唯一的选择就是使用日志分析软件,用任何语言编写一个日志分析软件(其实就是文本过滤器)都非常简单,不过考虑到一些实际情况(比如管理员不会写程序,或者服务器上一时找不到日志分析软件),我可以告诉大家一个简单的方法,比方说你想知道有没有人从80端口上试图取得你的Global.asa文件,可以使用以下的CMD命令:find "Global.asa" ex010318.log /i这个命令使用的是NT自带的find.exe工具(所以不怕紧急情况找不着),可以轻松的从文本文件中找到你想过滤的字符串,"Global.asa"是需要查询的字符串,ex010318.log是待过滤的文本文件,/i代表忽略大小写。因为我无意把这篇文章写成微软的Help文档,所以关于这个命令的其他参数以及它的增强版FindStr.exe的用法请去查看Win2000的帮助文件。

  无论是基于日志分析软件或者是Find命令,你都可以建立一张敏感字符串列表,包含已有的IIS漏洞(比如"+.htr")以及未来将要出现的漏洞可能会调用的资源(比如Global.asa或者cmd.exe),通过过滤这张不断更新的字符串表,一定可以尽早了解入侵者的行动。

  需要提醒的是,使用任何日志分析软件都会占用一定的系统资源,因此,对于IIS日志分析这样低优先级的任务,放在夜里空闲时自动执行会比较合适,如果再写一段脚本把过滤后的可疑文本发送给系统管理员,那就更加完美了。同时,如果敏感字符串表较大,过滤策略复杂,我建议还是用C写一个专用程序会比较合算。

2、 基于安全日志的检测

  通过基于IIS日志的入侵监测,我们能提前知道窥伺者的行踪(如果你处理失当,窥伺者随时会变成入侵者),但是IIS日志不是万能的,它在某种情况下甚至不能记录来自80端口的入侵,根据我对IIS日志系统的分析,IIS只有在一个请求完成后才会写入日志,换言之,如果一个请求中途失败,日志文件中是不会有它的踪影的(这里的中途失败并不是指发生HTTP400错误这样的情况,而是从TCP层上没有完成HTTP请求,例如在POST大量数据时异常中断),对于入侵者来说,就有可能绕过日志系统完成大量的活动。

  而且,对于非80 Only的主机,入侵者也可以从其它的服务进入服务器,因此,建立一套完整的安全监测系统是非常必要的。

  Win2000自带了相当强大的安全日志系统,从用户登录到特权的使用都有非常详细的记录,可惜的是,默认安装下安全审核是关闭的,以至于一些主机被黑后根本没法追踪入侵者。所以,我们要做的第一步是在管理工具-本地安全策略-本地策略-审核策略中打开必要的审核,一般来说,登录事件与账户管理是我们最关心的事件,同