網路分析利器:在 Ubuntu 16.04 上安裝 Bro
簡介:Bro 網路分析框架
Bro 是一個開源的網路分析框架,側重於網路安全監控。這是一項長達 15 年的研究成果,被各大學、研究實驗室、超級計算機中心和許多開放科學界廣泛使用。它主要由伯克利國際電腦科學研究所和伊利諾伊大學厄巴納-香檳分校的國家超級計算機應用中心開發。
Bro 的功能包括:
- Bro 的指令碼語言支援針對站點定製監控策略
- 針對高效能網路
- 分析器支援許多協議,可以在應用層面實現高階語義分析
- 它保留了其所監控的網路的豐富的應用層統計資訊
- Bro 能夠與其他應用程式介面實時地交換資訊
- 它的日誌全面地記錄了一切資訊,並提供網路活動的高階存檔
本教程將介紹如何從原始碼構建,並在 Ubuntu 16.04 伺服器上安裝 Bro。
準備工作
Bro 有許多依賴檔案:
- Libpcap (http://www.tcpdump.org)
- OpenSSL 庫 (http://www.openssl.org)
- 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 = admin@example.com
儲存並關閉。還有許多其他選項,但在大多數情況下,預設值就足夠好了。
選擇要監視的節點
開箱即用,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 的安裝教程。我們使用基於原始碼的安裝,因為它是獲得可用的最新版本的最有效的方法,但是該網路分析框架也可以下載預構建的二進位制格式檔案。
下次見!
via: https://www.unixmen.com/how-to-install-bro-ubuntu-1604/
作者:Giuseppe Molica 譯者:firmianay 校對:wxy
相關文章
- Ubuntu 16.04 上安裝 OrientDB!Ubuntu
- Ubuntu 16.04 上安裝 MySQL 5.7UbuntuMySql
- Ubuntu 16.04 安裝 EmacsUbuntuMac
- Vagrant 安裝ubuntu 16.04Ubuntu
- Ubuntu 16.04 安裝VSCodeUbuntuVSCode
- Ubuntu 16.04安裝NginxUbuntuNginx
- ubuntu16.04在Linux安裝Vivado2017.4UbuntuLinux
- ubuntu16.04安裝rosUbuntuROS
- 安裝kalibr Ubuntu16.04Ubuntu
- Ubuntu 16.04 安裝 Mysql 8.0UbuntuMySql
- 【Ubuntu】在Ubuntu上安裝微信Ubuntu
- ubuntu16.04 下安裝mysqlUbuntuMySql
- Ubuntu 16.04 安裝 Tensorflow Gpu版本UbuntuGPU
- Ubuntu 16.04 下安裝配置caffeUbuntu
- ubuntu16.04 CUDA, CUDNN 安裝UbuntuDNN
- Ubuntu16.04安裝、使用typoraUbuntu
- Ubuntu 16.04 安裝Nvidia驅動Ubuntu
- ubuntu 16.04安裝LNMP環境UbuntuLNMP
- 在virtualbox上安裝ubuntuUbuntu
- 在Ubuntu上安裝MariaDBUbuntu
- 入門系列之在Ubuntu 16.04上安裝和使用TensorFlowUbuntu
- Ubuntu 16.04 安裝Google 瀏覽器UbuntuGo瀏覽器
- VM中的Ubuntu(16.04)安裝tenserflowUbuntu
- Ubuntu 16.04 安裝 Gnome 桌面環境Ubuntu
- 在Ubuntu 18.04上安裝TensorflowUbuntu
- 在 Ubuntu 上安裝 Budgie 桌面Ubuntu
- Ubuntu16.04雙系統安裝及解除安裝Ubuntu
- Ubuntu16.04下安裝gtsam-3.2.1Ubuntu
- UBuntu16.04下安裝Docker(親測)UbuntuDocker
- Ubuntu16.04安裝最新版nodejsUbuntuNodeJS
- Ubuntu16.04-hadoop3.1.0安裝與配置UbuntuHadoop
- ubuntu16.04 安裝 rime輸入法Ubuntu
- Ubuntu 16.04 安裝 MySQL 8.0 全過程UbuntuMySql
- ubuntu16.04下安裝NS3.27UbuntuS3
- ubuntu16.04系統下安裝dockerUbuntuDocker
- Ubuntu 16.04 LTS 降級安裝GCC 4.8UbuntuGC
- 在win7系統中用U盤安裝ubuntu16.04Win7Ubuntu
- 教程:在Ubuntu 18.04.1上安裝ElasticsearchUbuntuElasticsearch