Bro 的功能包括:Bro 的脚本语言支持针对站点定制监控策略针对高性能网络分析器支持许多协议,可以在应用层面实现高级语义分析它保留了其所监控的网络的丰富的应用层统计信息Bro 能够与其他应用程序接口实时地交换信息它的日志全面地记录了一切信息,并提供网络活动的高级存档本教程将介绍如何从源代码构建,并在 Ubuntu 16.04 服务器上安装 Bro。
Bro 有许多依赖文件:Libpcap OpenSSL 库BIND8 库LibzBash (BroControl 所需要)Python 2.6+ (BroControl 所需要)
从源代码构建还需要:CMake 2.8+MakeGCC 4.8+ or Clang 3.3+SWIGGNU BisonFlexLibpcap headersOpenSSL headerszlib headers
首先,通过执行以下命令来安装所有必需的依赖项:# apt-get install cmake make gcc g++ flex bison libpcap-dev libssl-dev python-dev swig zlib1g-dev
安装定位 IP 地理位置的 GeoIP 数据库Bro 使用 GeoIP 的定位地理位置。安装 IPv4 和 IPv6 版本:$ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz$wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz解压这两个压缩包:$ gzip -d GeoLiteCity.dat.gz$ gzip -d GeoLiteCityv6.dat.gz将解压后的文件移动到/usr/share/GeoIP目录下# mvGeoLiteCity.dat /usr/share/GeoIP/GeoIPCity.dat# mv GeoLiteCityv6.dat /usr/share/GeoIP/GeoIPCityv6.dat
最新的 Bro 开发版本可以通过 'git'仓库获得。执行以下命令:$ git clone --recursive git://git.bro.org/bro转到克隆下来的目录,然后使用以下命令就可以简单地构建 Bro:$ cd bro$ ./configure$ make&make install命令需要一些时间来构建一切。确切的时间取决于服务器的性能。可以使用一些参数来执行'configure' 脚本,以指定要构建的依赖关系,特别是'--with-*'选项。默认安装路径为'/usr/local/bro'。
Bro 的配置文件位于 '/usr/local/bro/etcV 目录下。 这里有三个文件:node.cfg,用于配置要监视的单个节点(或多个节点)。broctl.cfg,BroControl 的配置文件。networks.cgf,包含一个使用 CIDR 标记法表示的网络列表。
配置邮件设置打开 'broctl.cfg'配置文件:# $EDITOR /usr/local/bro/etc/broctl.cfg查看 'Mail Options'选项,并编辑 'MailTo' 行如下:# Recipient address for emails sent out by Bro and BroControlMailTo = admin@example.com保存并关闭。还有许多其他选项,但在大多数情况下,默认值就足够好了。
选择要监视的节点开箱即用,Bro 被配置为以独立模式运行。在本教程中,我们就是做一个独立的安装,所以没有必要改变。但是,也请查看 'node.cfg'配置文件:# $EDITOR /usr/local/bro/etc/node.cfg在 '[bro]' 部分,你应该看到这样的东西:[bro]type=standalonehost=localhostinterface=eth0请确保'inferface' 与 Ubuntu 16.04 服务器的公网接口相匹配。保存并退出。
最后一个要编辑的文件是 'network.cfg'。使用文本编辑器打开它:# $EDITOR /usr/local/bro/etc/networks.cfg默认情况下,你应该看到以下内容:# List of local networks in CIDR notation, optionally followed by a# descriptive tag.# For example, '10.0.0.0/8' or 'fe80::/64' are valid prefixes. 10.0.0.0/8 Private IP space172.16.0.0/12 Private IP space192.168.0.0/16 Private IP space删除这三个条目(这只是如何使用此文件的示例),并输入服务器的公用和专用 IP 空间,格式如下:X.X.X.X/X Public IP spaceX.X.X.X/X Private IP space保存并退出。