如何在Ubuntu 12.04安装BRO-IDS 2.2

介绍

“Bro最初由Vern Paxson开发,他现在与加州伯克利的国际计算机科学研究所的核心研究人员和开发人员以及国家超级计算应用中心联合领导这个项目,该中心在Urbana-Champaign,IL “ ^ 1 BRO-IDS仅仅是写在兄弟网络编程语言的第一个伟大的应用程序Shmoocon 2013演示文稿,在利亚姆·兰德尔表示:”“换句话说,弟兄本身并不是一个IDS。 相反,它是一个设计为与网络流量一起工作的脚本平台。

Bro框架与许多传统IDS不同,因为它设计为灵活和高效,同时具有用于多个协议的分析器的高度舞台,而不管它们正在运行的端口。 Bro-IDS涵盖了从数据包捕获,流量检查,流记录,数据警报和脚本编制的全部范围。 此外,Bro网络安全监控框架为专业人员提供全面的日志,以驱动对网络上的事务数据的分析和洞察。 虽然开源的,商业的支持可通过Broalla

第一步 - 更新操作系统

一旦您登录到您的VPS,您应该确保您的操作系统是最新的执行以下命令作为根:

apt-get update && apt-get upgrade

如果在此过程中内核被更新,您应该重新启动您的实例,然后继续。

第二步 - 安装依赖关系

接下来,我们需要通过以root身份执行以下命令来安装所需的依赖关系。 有关其他信息需要的依赖

apt-get install cmake make gcc g++ flex bison libpcap-dev libgeoip-dev libssl-dev python-dev zlib1g-dev libmagic-dev swig2.0

其中一些软件包可能已经安装; 但是,它不会伤害列出所有的要求。apt-get的将抢缺少的并安装它们给我们。

第三步 - 安装LibGeoIP

兄弟可以利用的GeoIP库,这是我们上面已经(libgeoip-DEV)安装。 要完成这个,我们需要在启动Bro之前安装GeoLite数据库。

安装GeoIPLite数据库

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz
gunzip GeoLiteCity.dat.gz
gunzip GeoLiteCityv6.dat.gz

接下来,我们需要将数据库文件移动到/usr/share/GeoIP/通过执行以下命令目录:

mv GeoLiteCity.dat  /usr/share/GeoIP/GeoLiteCity.dat
mv GeoLiteCityv6.dat /usr/share/GeoIP/GeoLiteCityv6.dat

现在我们需要创建一个链接GeoLiteCit.dat和GeorLiteCityv6.data文件分别到GeoIPCity.dat和GeoIPCityv6.dat。 如果我们安装建设与弟兄LibGeoIP,但未能链接文件,我们会看到以下类型的错误/nsm/bro/logs/current/stderr.log

1392083947.452043 Failed to open GeoIP database: /usr/share/GeoIP/GeoIPCity.dat
1392083947.452043 Fell back to GeoIP Country database
1392083947.452043 Failed to open GeoIP database: /usr/share/GeoIP/GeoIPCityv6.dat

要链接文件,请执行以下命令:

ln -s /usr/share/GeoIP/GeoLiteCity.dat /usr/share/GeoIP/GeoIPCity.dat
ln -s /usr/share/GeoIP/GeoLiteCityv6.dat /usr/share/GeoIP/GeoIPCityv6.dat

第四步 - 安装Bro-IDS

现在我们将下载bro-id。 为了实现这一点,我们将从源代码下载并安装应用程序。 这是通过下载源压缩包,解压缩并执行make install来完成的。

作为root用户,我们可以使用以下命令下载和提取Bro-IDS tarball:

wget http://www.bro.org/downloads/release/bro-2.2.tar.gz
tar -xvzf bro-2.2.tar.gz

要构建应用程序,我们将目录更改与cd bro-2.2命令,并设置我们打算安装通过设置BRO-IDS应用程序的目录--prefix=选项。 在下面的例子中,我们计划BRO-IDS安装到/ NSM /兄弟与下面的命令./configure --prefix=/nsm/bro 以下是配置,构建和安装Bro-IDS应用程序的完整示例:

cd bro-2.2
./configure --prefix=/nsm/bro
make
make install

无错误? 好。 现在添加bro到你的PATH。

export PATH=/nsm/bro/bin:$PATH

您还可以添加PATH=/opt/bro2/bin:$PATH到你的~/.profile的文件在你的home目录中,以使更改永久。

配置Bro-IDS

Bro是一个强大的工具。 对于安装步骤最基本的,我们会按照项目页面上的文档

使用您喜欢的编辑器修改以下3个文件:

  • $ PREFIX / etc / node.cfg - >配置网络接口监视(即interface = eth0)

  • $ PREFIX / etc / networks.cfg - >配置本地网络(即10.0.0.0/8私有IP空间)

  • $ PREFIX / etc / broctl.cfg - >更改MailTo地址和日志轮换

:$前缀用于引用BRO-IDS安装根目录下,它通过基于你在设置./configure --prefix=来。 从上面的例子中替换$PREFIX/nsm/bro (即nsm/bro/etc/node.cfg

配置node.cfg文件

假设您的系统使用单个接口进行设置,默认的node.cfg应该很好,除非可能更改嗅探接口。 例如,如果ifconfig ,你看到类似下面的内容:

root@brodemo:/nsm/bro/etc# ifconfig
eth0      Link encap:Ethernet  HWaddr 04:01:10:15:fa:01  
          inet addr:162.243.XXX.XXX  Bcast:162.243.XXX.XXX  Mask:255.255.255.0
          inet6 addr: fe80::601:10ff:fe15:fa01/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:998663 errors:0 dropped:0 overruns:0 frame:0
          TX packets:27341 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:130635788 (130.6 MB)  TX bytes:4043010 (4.0 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2174 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2174 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:114442 (114.4 KB)  TX bytes:114442 (114.4 KB)


从这个例子我们可以看到,该系统具有一个接口eth0和默认的配置应该是不错的,只有以下行注释掉:

root@brodemo:~# cat /nsm/bro/etc/node.cfg 
# Example BroControl node configuration.
#
# This example has a standalone node ready to go except for possibly changing
# the sniffing interface.

# This is a complete standalone configuration.  Most likely you will
# only need to change the interface.
[bro]
type=standalone
host=localhost
interface=eth0

## Below is an example clustered configuration. If you use this,
## remove the [bro] node above.

#[manager]
#type=manager
#host=host1
#
#[proxy-1]
#type=proxy
#host=host1
#
#[worker-1]
#type=worker
#host=host2
#interface=eth0
#
#[worker-2]
#type=worker
#host=host3
#interface=eth0
#
#[worker-3]
#type=worker
#host=host4
#interface=eth0

配置networks.cfg文件

假设您的系统配置了一个网络接口,如上所示networks.cfg应该是好的,因为这个文件用于配置本地/专用网络。

root@brodemo:~# cat /nsm/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 space
192.168.0.0/16      Private IP space

配置broctl.cfg文件

您可以在broctl.cfg文件中为Bro和BroControl发送的所有电子邮件配置收件人地址,并记录其他功能之间的轮换间隔。

第五步 - 启动Bro-IDS

接下来,我们需要启动broctl shell,从中可以执行bro命令。 作为根型broctl ,如果您没有设置如上所述的路径,你可以通过它的完整路径使用执行命令/nsm/bro/bin/broctl

# broctl 
warning: cannot read '/nsm/bro/spool/broctl.dat' (this is ok on first run)

Welcome to BroControl 1.2

Type "help" for help.

[BroControl] > 

第一个命令运行,因为这是一个新的安装,是运行安装。 然后我们将运行开始,然后是状态验证Bro-IDS正在运行

[BroControl] > install
warning: cannot read '/nsm/bro/spool/broctl.dat' (this is ok on first run)
creating policy directories ... done.
installing site policies ... done.
generating standalone-layout.bro ... done.
generating local-networks.bro ... done.
generating broctl-config.bro ... done.
updating nodes ... done.
[BroControl] > start
starting bro ...
[BroControl] > status
Name       Type       Host       Status        Pid    Peers  Started              
bro        standalone localhost  running       15837  0      10 Feb 20:57:35  
[BroControl] > 

您现在已在系统上运行Bro-IDS。 检查出文档页面了解更多信息。

文章提交者: @ schwartz1375
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏