在 Ubuntu 16.04 上安装 Bro 网络分析器

Bro 是一个开源的网络分析框架,侧重于网络安全监控。这是一项长达 15 年的研究成果,被各大学、研究实验室、超级计算机中心和许多开放科学界广泛使用。它主要由伯克利国际计算机科学研究所和伊利诺伊大学厄巴纳-香槟分校的国家超级计算机应用中心开发。

Bro 的功能包括:

  • Bro 的脚本语言支持针对站点定制监控策略
  • 针对高性能网络
  • 分析器支持许多协议,可以在应用层面实现高级语义分析
  • 它保留了其所监控的网络的丰富的应用层统计信息
  • Bro 能够与其他应用程序接口实时地交换信息
  • 它的日志全面地记录了一切信息,并提供网络活动的高级存档

本教程将介绍如何从源代码构建,并在 Ubuntu 16.04 服务器上安装 Bro。

准备工作

Bro 有许多依赖文件:

  • Libpcap
  • OpenSSL 库
  • BIND8 库
  • Libz
  • Bash (BroControl 所需要)
  • Python 2.6+ (BroControl 所需要)

从源代码构建还需要:

  • CMake 2.8+
  • Make
  • GCC 4.8+ or Clang 3.3+
  • SWIG
  • GNU Bison
  • Flex
  • Libpcap headers
  • OpenSSL headers
  • zlib 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 了。

构建 Bro

最新的 Bro 开发版本可以通过 git 仓库获得。

执行以下命令:

$ git clone --recursive git://git.bro.org/bro

转到克隆下来的目录,然后使用以下命令就可以简单地构建 Bro:

$ cd bro $ ./configure $ make

make 命令需要一些时间来构建一切。确切的时间取决于服务器的性能。

可以使用一些参数来执行 configure 脚本,以指定要构建的依赖关系,特别是 --with-* 选项。

安装 Bro

在克隆的 bro 目录中执行:

# make install 默认安装路径为 /usr/local/bro。

配置 Bro

Bro 的配置文件位于 /usr/local/bro/etc 目录下。 这里有三个文件:

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 BroControl

MailTo = [email protected]

保存并关闭。还有许多其他选项,但在大多数情况下,默认值就足够好了。

选择要监视的节点

开箱即用,Bro 被配置为以独立模式运行。在本教程中,我们就是做一个独立的安装,所以没有必要改变。但是,也请查看 node.cfg 配置文件:

# $EDITOR /usr/local/bro/etc/node.cfg

在 [bro] 部分,你应该看到这样的东西:

[bro]

type=standalone

host=localhost

interface=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 space

172.16.0.0/12 Private IP space

192.168.0.0/16 Private IP space

删除这三个条目(这只是如何使用此文件的示例),并输入服务器的公用和专用 IP 空间,格式如下:

X.X.X.X/X Public IP space

X.X.X.X/X Private IP space

保存并退出。

使用 BroControl 管理 Bro 的安装

管理 Bro 需要使用 BroControl,它支持交互式 shell 和命令行工具两种形式。启动该 shell:

# /usr/local/bro/bin/broctl

要想使用命令行工具,只需将参数传递给上一个命令,例如:

# /usr/local/bro/bin/broctl status

这将通过显示以下的输出来检查 Bro 的状态:

Name Type Host Status Pid Started

bro standalone localhost running 6807 20 Jul 12:30:50

结论

这是一篇 Bro 的安装教程。我们使用基于源代码的安装,因为它是获得可用的最新版本的最有效的方法,但是该网络分析框架也可以下载预构建的二进制格式文件。

时间: 2024-08-05 04:15:36

在 Ubuntu 16.04 上安装 Bro 网络分析器的相关文章

Ubuntu 16.04上安装SkyEye及测试

说明一下,在Ubuntu 16.04上安装SkyEye方法不是原创,是来自互联网,仅供学习参考. 1.检查支持软件包 gcc,make,vim(optional),ssh,subversionbinutils-dev (bfd)atk-dev (libatk1.0-dev)gtk+-2.0-dev (libgtk2.0-dev)pkg-configpango-dev (libpango1.0-dev)freetype2-dev (libfreetype6-dev)glib-dev (libgli

在Ubuntu 16.04上安装Joomla系统

Joomla !是一个流行的内容管理系统(CMS),它是仅次于Wordpress的第二大流行的CMS.到2017年,约有3.3%的网站使用Joomla !作为他们的CMS.本文介绍了如何在Ubuntu 16.04上一键安装Joomla ! 步骤1:安装Apache更新存储库列表.apt-get update安装Apache web服务器.apt-get install apache2使用 LAMP stack 一键安装包安装Joomla!,我们需要安装MySQL并将其链接到PHP.apt-get

在Ubuntu 16.04上安装Concrete5

介绍 Concrete5是用PHP编写的开源内容管理系统(CMS).它的设计是为了便于使用,并提供了一个允许用户直接从页面编辑内容的web界面.Concrete5可以安装在Ubuntu 16.04上实现一键安装. 先决条件 本教程假设您已经创建了一个新的Vultr云计算实例,运行Ubuntu 16.04,并有根访问权限. 步骤1:安装Apache.MySQL和PHP以及其他依赖项 Comcrete5在一键安装包上运行.您需要安装Apache.PHP.MySQL和许多其他必需的依赖项. apt-g

在 Ubuntu 16.04 上安装 LEMP 环境之图文向导

导读 LEMP 是个缩写,代表一组软件包(注解 ① L:Linux OS,E:Nginx 网络服务器,M:MySQL/MariaDB 数据库和 P:PHP 服务端动态编程语言),它被用来搭建动态的网络应用和网页.这篇教程会教你怎么在 Ubuntu 16.04 的服务器上安装 LEMP (Nginx 和 MariaDB 以及 PHP7). 步骤 1:安装 Nginx 服务器 在 Ubuntu 16.04 安装 Nginx Nginx 是一个先进的.资源优化的 Web 服务器程序,用来向因特网上的访

Ubuntu 16.04 上安装 CUDA 9.0 详细教程

https://blog.csdn.net/QLULIBIN/article/details/78714596 前言: 本篇文章是基于安装CUDA 9.0的经验写,CUDA9.0目前支持Ubuntu16.04和Ubuntu17.04两个版本,如下图所示(最下面的安装方式我们选择第一个,即runfile方式): 大家可以先将CUDA文件下载下来,但是最好不要急于安装,一定要先将NVIDIA给出官方指导手册仔细看一下,然后再找几篇好的博客看一下,大致了解一下CUDA的安装过程,对安装过程中可能出现的

Ubuntu 16.04上安装Global阅读源代码工具

参照10年前写的文档 (Linux源码阅读工具lxr和glimpse的安装与配置),想重新搭建一个源代码阅读工具,发现源里面都没有相关的工具了. 然后看到有更简单的安装工具Global可以使用,所以果断尝试新的工具,安装后感觉确实简单很多. 源里面的版本有点旧(关键是好像没有htags-server命令,折腾apache2半天还是有问题),建议下载最新版: $wget http://tamacom.com/global/global-6.6.2.tar.gz 下载页面:https://www.g

Ubuntu 16.04上安装QT5.7.0

参考博客: https://blog.csdn.net/hansion3333/article/details/60468590 如果最后执行qmake还是不行的话,就配置一下环境变量 原文地址:https://www.cnblogs.com/yqyouqing/p/9276976.html

如何在 Ubuntu Linux 16.04上安装开源的 Discourse 论坛

Discourse 是一个开源的论坛,它可以以邮件列表.聊天室或者论坛等多种形式工作.它是一个广受欢迎的现代的论坛工具.在服务端,它使用 Ruby on Rails 和 Postgres 搭建, 并且使用 Redis 缓存来减少读取时间 , 在客户端,它使用支持 Java Script 的浏览器.它非常容易定制,结构良好,并且它提供了转换插件,可以对你现存的论坛.公告板进行转换,例如: vBulletin.phpBB.Drupal.SMF 等等.在这篇文章中,我们将学习在 Ubuntu 操作系统

(译)综合指南:通过Ubuntu 16.04上从Source构建来安装支持GPU的Caffe2

(译)综合指南:通过Ubuntu 16.04上从Source构建来安装支持GPU的Caffe2 译者注: 原文来自:https://tech.amikelive.com/node-706/comprehensive-guide-installing-caffe2-with-gpu-support-by-building-from-source-on-ubuntu-16-04/?tdsourcetag=s_pctim_aiomsg, 不得不说该文作者知识比较丰富,研究比较深入,环境的配置讲解比较详