ubuntu12.04完美安装snort

      Snort是一个免费的IDS(入侵监测系统)软件。它的一些源代码是从著名的tcpdump软件发展而来的。它是一个基于libpcap包的网络监控软件,可以作为一个十分有效的网络入侵监测系统。它能够监测多种网络攻击和探测,例如:缓冲器溢出攻击,端口扫描,CGI攻击,SMB探测等等。Snort具有实时的告警能力,将告警记入一个特别的告警文件--系统日志,或者将告警信息通过samba转发给另一台Windows PC机。[[BR]]
      Snort首先根据远端的ip地址建立目录,然后将检测到的包以tcpdump的二进制格式记录或者以自身的解码形式存储到这些目录中。这样一来,你就可以使用Snort来监测或过滤你所需要的包。
前一阵子参考了网上在ubuntu12.04下安snort+mysql的文章,不过安装大都是用apt-get执行的,定制性太差,攻击检测不出来不说(与RP有关),还把系统弄得很乱。楼主深受其害,一怒之下卸掉所有,自己一点点配置和排错,最后总算成功。
      整个过程是暂时在root权限下弄的,省去一些麻烦。
      闲话少说,先上必装软件。
                       pcre-8.20.tar.gz
                       zlib-1.2.3.tar.gz
                       libpcap-1.3.0.tar.gz
                       daq-1.1.1.tar.gz
                       libxml2-2.6.19.tar.gz
                       libpng-1.2.40.tar.gz
                       gd-2.0.33.tar.gz
                       jpegsrc.v7.tar.gz
                       DBD-mysql-3.0008.tar.gz
                       httpd-2.2.14.tar.gz
                       php-5.2.9.tar[1].bz2

       这些东西当然你愿意在哪configure都行,不过为了方便说明,我把他们的*.tar.gz都放到我自己建的一个目录中/usr/local/installsnort中
            make&&make install


      该装的都装好了,终于轮到我们的大BOSS了,
                       snort-2.9.0.2.tar.gz
                       snortrules-snapshot-2920.tar.gz


当然是先cd进去:
            cd /usr/local/installsnort/snort-2.9.0.2
 
然后configure,假设你的这里一定要这样,否则遗祸无穷。
              ./configure --with-mysql=/usr/lib/i386-linux-gnu/ --with-libpcre-includes=/usr/local/installsnort/pcre-8.20/ --with-libpcre-libraries=//usr/local/installsnort/pcre-8.20/.libs/ --enable-zlib


         mysql是用新立得以前就装好的,所以它的库文件什么的都在linux的GNU工具集内,只有libpcre要指定一下,否则找不到,zlib会影响到snort以后的执行。


        接着:

        make
     (经常会有各种问题,如果想重新configure 请用make clean)
      然后是make的好基友:
       make install


         到这里,snort最基本的功能安装完毕。测试一下,snort -V(用于查版本号)
         如果出现这个,请继续,否则请检查上述安装过程。
   ,,_     -*> Snort! <*-
  o"  )~   Version 2.9.0.2 (Build 92) 
   ''''    By Martin Roesch & The Snort Team: http://www.snort.org/snort/snort-team
           Copyright (C) 1998-2010 Sourcefire, Inc., et al.
           Using libpcap version 1.3.0
           Using PCRE version: 8.20 2011-10-21
           Using ZLIB version: 1.2.3.4


          如果/etc路径下没有snort目录,建立一个,先将/usr/local/installsnort/snort-2.9.0.2/etc所有文件拷贝进去,再将/usr/local/installsnort/snortrules-snapshot-2902.tar.gz解压缩生成的preproc_rules、rules、so_rules的文件拷贝进去。


     以下命令的功能是在MySQL中建立一个snort数据库,并建立一个snort用户来管理这个数据库,设置snort用户的口令为123456。
mysql –u root –p

mysql> CREATE DATABASE snort;
mysql> grant CREATE, INSERT, SELECT, UPDATE on snort.* to snort@localhost;
mysql> grant CREATE, INSERT, SELECT, UPDATE on snort.* to snort;
mysql> SET PASSWORD FOR snort@localhost=PASSWORD('123456');
mysql> exit

     这样就为 snort 在 MySQL 中建立了数据库的结构,其中包括各个 snort 需要使用的表。
cd /usr/local/installsnort/snort-mysql
zcat create_mysql.gz | mysql -u snort -D snort -p123456

    设置 snort 把 log 文件输出到 MySQL 数据库中
    修改 Snort 的配置文件:/etc/snort/snort.conf
        sudo vim /etc/snort/snort.conf
    在配置文件中将 HOME_NET 有关项注释掉,然后将 HOME_NET 设置为本机 IP 所在网络,将 EXTERNAL_NET 相关项注释掉,设置其为非本机网络,然后修改规则库读取路径:
        #var HOME_NET any
        var HOME_NET 192.168.0.0/16
        #var EXTERNAL_NET any
        var EXTERNAL_NET !$HOME_NET
        var RULE_PATH rules
    将 output database 相关项注释掉,将日志输出设置到 MySQL 数据库中,如下所示:
        output database: log, mysql, user=snort password=123456 dbname=snort host=localhost
        output database: alert, mysql, user=snort password=123456 dbname=snort host=localhost
    这样,snort 就不再向 /var/log/snort 目录下的文件写记录了,转而将记录存放在 MySQL 的snort数据库中。这时候可以测试一下 Snort 工作是否正常:
        snort -c /etc/snort/snort.conf -A(报警显示在控制台)
        snort -g snort -c /etc/snort/snort.conf(报警记录在mysql)

    中间过程中的一些错误:
    一.make时出现error while loading shared libraries: libdnet.so.1 

    运行一下 /sbin/ldconfig -v 即可。


    (ldconfig命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录 下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为/etc /ld.so.cache,此文件保存已排好序的动态链接库名字列表.

ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令)

二、在运行snort过程中提示:
      ERROR: /usr/local/snort/etc/snort.conf(193) => Invalid keyword 'compress_depth' for 'global' configuration.
      原因:在编译的时候没有带--enable-zlib
      解决:清除所有已编译安装的snort信息,再进行编译安装,编译的时候带上--enable-zlib参数。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值