Ubuntu12.04にBro-IDS2.2をインストールする方法
ステータス:非推奨
この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。
理由:
Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達しました and no longer receives security patches or updates. This guide is no longer maintained.
代わりに参照してください:このガイドは参照として役立つ場合がありますが、他のUbuntuリリースでは機能しない場合があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。
序章
「Broは元々、カリフォルニア州バークレーにある国際計算機科学研究所の研究者と開発者のコアチームと共同でプロジェクトを主導し続けているVernPaxsonによって開発されました。 イリノイ州アーバナシャンペーンのスーパーコンピューティングアプリケーション国立センター。」 ^ 1 Liam Randallは、Shmoocon 2013のプレゼンテーションで、「Bro-IDSは、Broネットワークプログラミング言語で記述された最初の優れたアプリケーションにすぎません」と述べています。 言い換えれば、Bro自体はIDSではありません。 むしろ、ネットワークトラフィックを処理するように設計されたスクリプトプラットフォームです。
Broフレームワークは、実行されているポートに関係なく、複数のプロトコル用のアナライザーを備えた非常に段階的でありながら、柔軟性と効率性を高めるように設計されているため、多くの従来のIDSとは異なります。 Bro-IDSは、パケットキャプチャ、トラフィックインスペクション、フローレコーディング、データアラート、およびスクリプティングに至るまでの全範囲に及びます。 さらに、Broネットワークセキュリティ監視フレームワークは、ネットワーク上のトランザクションデータの分析と洞察を促進するための包括的なログを専門家に提供します。 オープンソースですが、商用サポートはBroallaで利用できます。
ステップ1-OSの更新
VPSにログインしたら、rootとして次のコマンドを実行して、OSが最新であることを確認する必要があります。
apt-get update && apt-get upgrade
このプロセス中にカーネルが更新された場合は、続行する前にインスタンスを再起動する必要があります。
ステップ2-依存関係のインストール
次に、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 は、不足しているものを取得してインストールします。
ステップ3-LibGeoIPをインストールする
Broは、上記ですでにインストールした 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をインストールしてBroをビルドしたが、ファイルのリンクに失敗した場合、/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
ステップ4-Bro-IDSのインストール
次に、bro-idをダウンロードします。 これを実現するために、ソースからアプリケーションをダウンロードしてインストールします。 これは、ソースtarballをダウンロードし、makeinstallを抽出して実行することで実行されます。
ルートとして、次のコマンドを使用してBro-IDStarballをダウンロードおよび抽出できます。
wget http://www.bro.org/downloads/release/bro-2.2.tar.gz
tar -xvzf bro-2.2.tar.gz
アプリケーションを構築するには、cd bro-2.2
コマンドでディレクトリを変更し、--prefix=
オプションを設定してBro-IDSアプリケーションをインストールするディレクトリを設定します。 以下の例では、次のコマンド./configure --prefix=/nsm/bro
を使用して、Bro-IDSを/ nsm/broにインストールする予定です。 以下は、Bro-IDSアプリケーションの構成、構築、およびインストールの完全な例です。
cd bro-2.2
./configure --prefix=/nsm/bro
make
make install
エラーはありませんか? 良い。 次に、PATHにbroを追加します。
export PATH=/nsm/bro/bin:$PATH
PATH=/opt/bro2/bin:$PATH
をホームディレクトリの~/.profile
ファイルに追加して、変更を永続的にすることもできます。
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アドレスとログローテーションを変更します
注:$ PREFIXは、./configure --prefix=
で設定した内容に基づいてBro-IDSインストールルートディレクトリを参照するために使用されます。 上記の例から、$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)
この例から、システムには1つのインターフェイス 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ファイルの構成
上記のようにシステムが1つのネットワークインターフェイスで構成されていると仮定すると、このファイルはローカル/プライベートネットワークの構成に使用されるため、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によって送信されるすべての電子メールの受信者アドレスを構成したり、他の機能の中でローテーション間隔をログに記録したりできます。
ステップ5-Bro-IDSを開始する
次に、broコマンドを実行できるbroctlシェルを起動する必要があります。 ルートタイプbroctl
として、上記のようにパスを設定しなかった場合は、フルパス/nsm/bro/bin/broctl
を介してexecuteコマンドを使用できます。
# 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] >
これは新規インストールであるため、最初に実行するコマンドはinstallを実行することです。 次に、startを実行し、続いて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が実行されます。 詳細については、ドキュメントページを確認してください。