打印本文 打印本文  关闭窗口 关闭窗口  
利用Snort检测网络中的入侵者
作者:陈鹏  文章来源:eNet  点击数  更新时间:2009/9/11 23:32:59  文章录入:陈鹏  责任编辑:陈鹏

Snort是一个网络入侵检测系统(IPS),它可以分析网络上的数据包,用以决定一个系统是否被远程攻击了。多数Linux发行版本都有Snort程序,因此通过urpmi、apt-get、yum等安装Snort是一件很轻松的事情。Snort可以将其收集的信息写到多种不同的存储位置以便于日后的分析。此外,Snort可被用作一个简单的数据包记录器、嗅探器,当然它主要是一个成熟的NDIS(网络入侵检测系统)。

  在Snort安装之后,就可以立即使用了。我们只需执行:

  #snort –v

  这就将Snort设置也了嗅探模式,数据通信会在屏幕上滚动,显示Snort所看到的数据。要退出此程序,按下ctrl-c键就可以了,然后我们就会看到它所检测到的内容的一个简短分析。要看到如tcpdump那样更为详细的信息,就需要使用-vd选项。

  要使用Snort记录数据,可以告诉此程序将信息记录到什么地方。在下面的例子中,Snort会将信息记录到/usr/local/log/snort目录中,因此就确保此目录真的存在:

  # snort -l /usr/local/log/snort -d

  Snort将以二进制方式记录数据包,如:/usr/local/log/snort/snort.log.1199665001,要查看此记录,可以使用-r选项来重新显示所捕获的数据。

  # snort -r /usr/local/log/snort/snort.log.1199665001

  要将Snort用作一个网络入侵检测系统还需要花点儿工夫。我们必须正确配置Snort,并要使用配置文件/etc/snort/snort.conf。注意,这个配置文件非同一般。Snort网站上的一些规则可能与Snort一起打包了,这依赖于你所使用的Linux版本。

  开源社团的Snort的规则对任何人都是可用的,并极有可能与供应商所提供的Snort的版本捆绑发布。你还可以从Sourcefire预订、接收其更新,这样就可以使规则保持不断更新。

  一旦下载了一个规则包,如Community-Rules-CURRENT.tar.gz,就要在系统中解开它,将其解到Snort配置所在的目录中:

  # cd /etc/snort

  # tar xvzf Community-Rules-CURRENT.tar.gz

  新的规则将出现在rules/ directory中。

  要启用之,需要编辑snort.conf文件并添加以下内容:

  var RULE_PATH rules

  include $RULE_PATH/sql.rules

  include $RULE_PATH/icmp.rules

  ...

  不管你喜欢哪些规则,现在就可以启动Snort并装载配置文件/etc/snort/snort.conf,这会依次装载下载的规则:

  # snort -c /etc/snort/snort.conf

  此时,Snort将会打印其初始化的信息,将其显示在屏幕上,然后开始记录与规则匹配的数据包。这些规则将决定Snort可以记录什么,它将忽略哪些内容,因此这里不像将Snort作为一个嗅探器来运行那样,它所生成的记录要小得多,因为它只记录所谓的“重要的”数据包。默认情况下,这些记录将会被存储到/var/log/snort/中,Snort将会用我们前面所说-r选项来分析之。
打印本文 打印本文  关闭窗口 关闭窗口