• 当前位置:首页>>编程开发A>>安全防御>>Bro NIDS的安装与配置
  • Bro NIDS的安装与配置
  • 创建时间:2005-09-09 更新时间:2005-09-09
    文章属性:原创
    文章提交:stardust (stardust_at_xfocus.org)

    Bro是一个目前比较活跃的开源NIDS系统,差不多两年前我写过一个有关它特性的帖子。

    Bro:一个开放源码的高级NIDS系统
    http://www.xfocus.net/articles/200310/624.html

    近些日子陆续收到一些要求详细介绍如何使用的反馈,因此也就起了写个Bro相关系列文章的意,本篇作为此系列的第一篇,先从最基本的安装和配置讲起。


    安装
    ----

    由于Bro有一些其他开源NIDS所没有的高级特性(主要在于对策略脚本的支持),因此安装和配置上可能相对麻烦一些,这个帖子希望能提供一些有用的参考。

    Bro的官方网站是:
    http://www.bro-ids.org/

    上面有基本的介绍信息和下载指示,网站的一些栏目内容还待完善中。相对Snort来说,使用Bro的人还是非常少的,因此Bro的邮件列表是一个得以获取帮助非常重要的资源,建议加入这个列表或经常浏览一下邮件列表的Web Archive,相关的信息在如下的链接:
    http://www.bro-ids.org/mailing-list.html

    最新版本Bro的下载地址:
    ftp://bro-ids.org/bro-0.9-current.tar.gz

    截止到写这个帖子的时候,Bro软件包的最新版本是0.9a10,在FTP服务器上还可以找到一些老版本。在我的RedHat 7.3测试系统上,0.9a9版本在编译完成后“make install”时会出错,这个问题在Bro的邮件列表上有人提过,没看到Bro的维护团队给出有效的解决方案,但安装0.9a10版本时倒是没碰上什么麻烦,应该算是解决了。

    Bro软件需要libpcap库完成抓包功能,也自带了libpcap库,当然也可以在configure的时候指定使用外部已安装的libpcap。顺利的话,安装过程非常简单,就是标准的Unix软件安装四步曲:

    # tar zxvf bro-0.9a10.tar.gz
    # cd bro-0.9a10
    # ./configure
    # make
    # make install

    默认情况下,安装完成以后Bro所有安装文件位于 /usr/local/bro 目录下,目录结构与相应的说明如下:

    bro
    |-- archive                       # 用于存储归档文件的目录
    |-- bin                           # 可执行文件目录
    |   |-- bro                       # 主执行程序
    |   |-- cf                        # 转换时间显示格式的工具
    |   |-- ef
    |   |-- hf
    |   |-- nf
    |   |-- pf
    |   `-- rst                       # 用于切断TCP软件的工具,可以在脚本里调用
    |-- doc                           # 使用及帮助文档目录
    |   |-- Bro-Ref-Manual.pdf        # Bro脚本语言参考手册,PDF格式文档
    |   |-- Bro-quick-start           # Bro快速使用指南目录,HTML格式的文档
    .   .
    .   .
    .   .
    |   |-- Bro-quick-start.pdf       # Bro快速使用指南,PDF格式文档
    |   |-- Bro-reference-manual      # Bro脚本语言参考手册目录,HTML格式文档
    .   .
    .   .
    .   .
    |   |-- Bro-user-manual           # Bro使用手册目录,HTML格式文档
    .   .
    .   .
    .   .
    |   `-- Bro-user-manual.pdf       # Bro使用手册,PDF格式文档
    |-- etc                           # 配置信息目录,Bro的配置文件bro.cfg可以放在这里
    |   |-- VERSION
    |   |-- alert_scores
    |   `-- signature_scores
    |-- logs                          # 日志目录,将来存储Bro的各类日志文件
    |-- policy                        # Bro策略脚本目录,存储Bro自带的各种强大的功能脚本
    |   |-- OS-fingerprint.bro
    |   |-- active.bro
    |   |-- alarm.bro
    .   .
    .   .
    .   .
    |   |-- sig-addendum.sig
    |   |-- sig-functions.bro
    |   |-- signatures.bro
    |   |-- sigs                      # 规则文件目录,存放各个规则文件      
    |   |   |-- ex.web-rules.sig
    |   |   |-- p0fsyn.osf
    |   |   |-- snort-default.sig
    |   |   |-- ssl-worm.sig
    |   |   `-- worm.sig
    .   .
    .   .
    .   .
    |   `-- worm.bro
    |-- reports                       # 生成的告警文件存储目录
    |-- scripts                       # 脚本目录,用于存放各种维护操作的脚本
    |   |-- bro-logchk.pl
    |   |-- bro_log_compress.sh
    |   |-- frontend-mail-reports.sh
    |   |-- frontend-site-report.sh
    |   |-- host-grep
    |   |-- host-to-addrs
    |   |-- mail_notice.sh
    |   |-- mvlog
    |   `-- push_logs.sh
    |-- site                          # 用于存放各类自定义规则和脚本的目录,定制自己的Bro功能
    |   `-- signatures.sig
    `-- var                           # 存放Bro执行过程中生成的临时文件,比如进程ID记录文件等

    Bro软件包带的Bro脚本语言参考
  • 上一篇:Linux下用gdb检测内核rootkit
    下一篇:Snort 2.x数据区搜索规则选项的改进