ステータス:非推奨

この記事では、サポートされなくなったバージョンの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が実行されます。 詳細については、ドキュメントページを確認してください。

投稿者: https ://twitter.com/schwartz1375