Pandora: Documentation ja: Netflow
1 リアルタイムネットワーク分析の概要
Pandora FMS はリアルタイムでネットワークを分析するために、Pandora NTA と Netflow の 2つの異なるシステムを使用します。どちらのシステムもイーサネットを連続的に リスニング し、トラフィックを分析して統計を生成するという同じ手法を用います。どちらの場合も、何らかの方法でネットワークトラフィックを "傍受" してそれを分析するプローブに送信し、その結果を Pandora FMS に送信することが必要です。
ネットワークトラフィックを傍受して分析できるようにするには、ネットワークのキャプチャポイントを適切に判断する必要があるため、そのネットワークに物理的に確認するか、少なくともそのトポロジを理解する必要があります。たとえば、ルータまたはローカルAPのネットワークトラフィックをキャプチャすることは、ルータに到達する前のサーバのすべてのネットワークトラフィックをキャプチャするのとは同じではありません。
トラフィックをキャプチャするには、2つの方法があります。
- ポートミラーリングを使用して、スイッチのあるポートから別のポートにトラフィックを再送信します。 すべてのネットワークデバイスが対応しているわけではありません(中価格帯以上のみ)。いくつかの商用ファイアーウォールでもポートミラーはできます。これはトラフィックを傍受する最も簡単な方法であり、追加のハードウェアを必要としません。すべてのトラフィックを特定のポートに送信するので、そのポートはネットワークアナライザ(netflow probe または pandora nta/ntop)を直接接続します。
- ネットワーク TAP を使用してトラフィックをキャプチャします。 TAP は、あるポートから別のポートに一方向にのみトラフィックをコピーする非常に単純なネットワークデバイスです(ネットワークに干渉することはありません)。それはハードウエアによるネットワークトラフィックの物理的コピーであるため、"ダウン" したり、いかなる種類の問題を引き起こすことがないパッシブなデバイスで、検出できません。12ユーロから 900ユーロの TAP がありますが、原則は同じです。TAP は通信の方向ごとに出力を生成するため、2つのポートで待機するプローブ、または単一のアドレスを待機するプローブが必要になります。
Pandora FMS 経由でのみ Netflow を使ってネットワークを分析しようとしていて、高機能なスイッチやファイアウォールを利用している場合は、より簡単な方法で監視を実行できます。これらのデバイスが独立したプローブを使用せずに Pandora FMS Netflow コレクタに直接ネットワークフローの統計情報を送信することが可能であるためです。Netflow を有効にしてフローを独立した Netflow コレクター(この場合は Pandora FMS Netflow コレクタ)に送信できるかどうかは、ハードウエアの仕様を確認してください。
要するに、これはリアルタイムでネットワークトラフィックを分析することができる手法と言えます。これには、12ユーロの TAP(またはポートミラーの1つのペア)と Pandora FMS のオープンソース版があればできます。
2 Netflow ネットワーク監視
2.1 概要
バージョン 5.0 の Pandora FMS から、NetFlow プロトコルを使って IP 通信をモニターできます。通信のパターンおよび全体のデータを見ることができ、とても便利です。
Netflow は、Cisco Systems により開発された IP 通信の情報を収集するためのネットワークプロトコルです。Netflow はネットワークトラフィックモニタリングの業界標準になっており、現在では Cisco IOS および NXOS、Juniper デバイス、Enterasys Switches、そして Linux, FreeBSD, NetBSD, OpenBSD といった OS など複数のプラットフォームでサポートされています。
Netflow に関する詳細は、我々の blog https://blog.pandorafms.org/what-is-netflow/ を参照してください。
2.1.1 NetFlow
Netflow に対応したデバイス(netflowプローブ)は、情報の小さなかたまりで構成される netflow レコードを生成します。それは中央デバイスまたは netflow サーバ(netflowコレクタ)へ送信され、情報が保存、処理されます。
データは、UDP または SCTP にて Netflow プロトコルにより送信されます。netflow レコードは小さなパケットで、流れている全通信内容ではなく、接続に関する統計情報のみを含んでいます。
オリジナルの仕様から異なり追加情報を含んだいくつかの Netflow 実装がありますが、ほとんどの場合少なくとも次の情報を含んでいます。 Netflow はさまざまな方法で説明されていますが、Cisco の従来の定義では 7要素キーを使用しています。フローは、次の 7つの値を共有する一方向のパケットシーケンスとして定義されています。
- 発信元 IP アドレス
- 宛先 IP アドレス
- 発信元 UDP または TCP ポート
- 宛先 UDP または TCP ポート
- IP プロトコル
- インタフェース (SNMP ifIndex)
- サービスのタイプ
いくつかのベンダでは、異なる名前で似たようなプロトコルを定義していますが、目的は同じです。
- Juniper Networks の Jflow または cflowd
- 3Com/H3C|HP の NetStream
- Huawei の NetStream
- Alcatel Lucent の Cflowd
- Ericsson の Rflow
- AppFlow
- sFlow
2.1.2 Netflow コレクタ
Netflow コレクタは、ルータやスイッチから送られた全ての Netflow 情報を収集するためにネットワーク上に置かれたデバイス(PCやサーバ)です。
Netflow サーバは、データを受け取り保存するために必要です。Pandora FMS は、この目的に nfcapd を利用しています。Pandora FMS が Netflow データを処理できるようにするには、これをインストールする必要があります。Pandora FMS は、必要なときに自動的にこのサーバを起動・停止します。
2.1.3 Netflow プローブ
プローブは、通常 Netflow に対応したルータで、Netflow データを Netflow コレクタ (我々の場合、nfcapd が動いている Pandora FMS サーバです) に送信するように設定されたものです。
我々の blog に、RaspBerry Pi を使った Netflow プローブの作り方を載せています。https://blog.pandorafms.org/netflow-probe-using-raspberry/ を参照ください。
2.2 インストールと必要要件
Pandora FMS は、全ての netflow 通信を処理するためにオープンソースのツールである nfcapd を利用します。このデーモンは、Pandora FMS サーバにより自動的に起動されます。このシステムは、データを特定の場所のバイナリファイルに保存します。Netflow を使うには、nfcapd をインストールする必要があります。nfcapd のデフォルトの待ち受けポートは 9995/UDP です。ファイアーウォールがある場合は、このポートを開ける必要があることに注意してください。
2.2.1 nfcapd のインストール
nfcapd は、手動でインストールする必要があります。Pandora FMS 自身は nfcapd をインストールしません。インストール方法の詳細は、nfcapd プロジェクトの公式ページを参照してください。
Pandora FMS はデフォルトで、Netflow データを保存するのに /var/spool/pandora/data_in/netflow ディレクトリを利用します。Pandora FMS サーバによって起動されるときに、nfcapd にこのディレクトリが指定されます。何を行っているかがわからない場合は、変更しないでください。
'nfcapd' が正しくインストールできたか確認するには、以下のようにコマンドを実行してプロセスを起動します。
nfcapd -l /var/spool/pandora/data_in/netflow -D
すべて正しく動作していれば、以下のような出力が見られます。
Add extension: 2 byte input/output interface index Add extension: 4 byte input/output interface index Add extension: 2 byte src/dst AS number Add extension: 4 byte src/dst AS number Add extension: 4 byte output bytes Add extension: 8 byte output bytes Add extension: NSEL Common block Add extension: NSEL xlate ports Add extension: NSEL xlate IPv4 addr Add extension: NSEL xlate IPv6 addr Add extension: NSEL ACL ingress/egress acl ID Add extension: NSEL username Add extension: NSEL max username Add extension: NEL Common block Bound to IPv4 host/IP: any, Port: 9995 Startup. Init IPFIX: Max number of IPFIX tags: 62
Pandora FMS コンソール(具体的には、それを実行する Web サーバ)がデータにアクセスできる必要があることに注意してください。 この例では、'/var/spool/pandora/data_in/netflow' です。 |
|
2.2.2 Netflow プローブのインストール
Netflow に対応したルータが無く、Linux サーバをルータとして利用している場合は、netflow 情報を Netflow サーバへ送信するソフトウエアの Netflow プローブをインストールできます。
Linux では、fprobe というプログラムがあり、トラフィックを取得し Netflow サーバへ送信します。インターフェイスを通過するすべてのトラフィックから、Netflow トラフィックを生成できます。
rpm パッケージをダウンロードおよびインストールするには、以下のコマンドを用います。
wget http://repo.iotti.biz/CentOS/7/x86_64/fprobe-1.1-2.el7.lux.x86_64.rpm yum install fprobe-1.1-2.el7.lux.x86_64.rpm
たとえば、このコマンドを実行すると、すべての eth0 インターフェイストラフィックが IP 192.168.70.185 のポート 9995 で待ち受けている Netflow コレクターに送信されます。
/usr/sbin/fprobe -ieth0 -fip 192.168.70.185:9995
トラフィックが生成されたら、次のコマンドでトラフィックの状態を見る事ができます。
nfdump -R /home/netflow_data/
次のような情報が表示されます。
Aggregated flows 1286 Top 10 flows ordered by packets: Date flow start Duration Proto Src IP Addr:Port Dst IP Addr:Port Packets Bytes Flows 2011-12-22 20:41:35.697 901.035 TCP 192.168.60.181:50935 -> 192.168.50.2:22 2105 167388 4 2011-12-22 20:41:35.702 900.874 TCP 192.168.50.2:22 -> 192.168.60.181:50935 1275 202984 4 2011-12-22 20:48:15.057 1.347 TCP 157.88.36.34:80 -> 192.168.50.15:40044 496 737160 1 2011-12-22 20:48:14.742 1.790 TCP 91.121.124.139:80 -> 192.168.50.15:60101 409 607356 1 2011-12-22 20:46:02.791 76.616 TCP 192.168.50.15:80 -> 192.168.60.181:40500 370 477945 1 2011-12-22 20:48:15.015 1.389 TCP 192.168.50.15:40044 -> 157.88.36.34:80 363 22496 1 2011-12-22 20:46:02.791 76.616 TCP 192.168.60.181:40500 -> 192.168.50.15:80 303 24309 1 2011-12-22 20:48:14.689 1.843 TCP 192.168.50.15:60101 -> 91.121.124.139:80 255 13083 1 2011-12-22 20:48:14.665 1.249 TCP 178.32.239.141:80 -> 192.168.50.15:38476 227 335812 1 2011-12-22 20:48:21.350 0.713 TCP 137.205.124.72:80 -> 192.168.50.15:47551 224 330191 1 Top 10 flows ordered by bytes: Date flow start Duration Proto Src IP Addr:Port Dst IP Addr:Port Packets Bytes Flows 2011-12-22 20:48:15.057 1.347 TCP 157.88.36.34:80 -> 192.168.50.15:40044 496 737160 1 2011-12-22 20:48:14.742 1.790 TCP 91.121.124.139:80 -> 192.168.50.15:60101 409 607356 1 2011-12-22 20:46:02.791 76.616 TCP 192.168.50.15:80 -> 192.168.60.181:40500 370 477945 1 2011-12-22 20:48:14.665 1.249 TCP 178.32.239.141:80 -> 192.168.50.15:38476 227 335812 1 2011-12-22 20:48:21.350 0.713 TCP 137.205.124.72:80 -> 192.168.50.15:47551 224 330191 1 2011-12-22 20:48:15.313 1.603 TCP 89.102.0.150:80 -> 192.168.50.15:52019 212 313432 1 2011-12-22 20:48:14.996 1.433 TCP 212.219.56.138:80 -> 192.168.50.15:36940 191 281104 1 2011-12-22 20:51:12.325 46.928 TCP 192.168.50.15:80 -> 192.168.60.181:40512 201 245118 1 2011-12-22 20:52:05.935 34.781 TCP 192.168.50.15:80 -> 192.168.60.181:40524 167 211608 1 2011-12-22 20:41:35.702 900.874 TCP 192.168.50.2:22 -> 192.168.60.181:50935 1275 202984 4 Summary: total flows: 1458, total bytes: 5.9 M, total packets: 15421, avg bps: 49574, avg pps: 15, avg bpp: 399 Time window: 2011-12-22 20:40:46 - 2011-12-22 20:57:21 Total flows processed: 1458, Records skipped: 0, Bytes read: 75864 Sys: 0.006s flows/second: 208345.2 Wall: 0.006s flows/second: 221177.2
ここまでの動作確認ができたら、次はそれを利用できるようにするための Pandora FMS の設定です。
2.3 Pandora FMS における Netflow の動作
Pandora FMS は、補助システムとしての Netflow と連動します。つまり、データベースに NetFlow データを保存しません。 Pandora FMS は、その情報をオンデマンドでレポートとして表示します。
Pandora FMS は、フィルタ を使って Netflow データを処理します。フィルタは、通信パターンにマッチするルールのセットです。ルールは、'サブネット 192.168.70.0/24 からの通信すべて' といったように簡単です。また、pcap の書式も利用できます。
フィルタを作成したら、フィルタにマッチした情報をどのように表示するか(グラフや表)および時間範囲をレポートで定義する必要があります。Netflow レポートは、他の Pandora FMS レポートと同様にオンデマンドでのアクセスです。
Netflow レポートは、"レポートタイプ" として Pandora FMS カスタムレポートに現れます。Pandora FMS の "通常" のレポートへ追加することができます。
また、通信の分析や素ぽーっとでルールを作成したり修正するためのライブ Netflow ビューワがあります。これは、問題を調査したり、保存しない一時的なグラフを表示するのにするのにとても便利です。
2.3.1 設定
まず最初に、Netflow を操作(Operation)およびシステム管理(Administration)メニューからアクセスできるようにする必要があります。設定画面(管理メニュー)に、Netflow を有効化・無効化するオプションがあります。
有効化すると、新たに Netflow 設定オプションが表示されます。
ここでは、nfcapd デーモンが Pandora FMS サーバと同時に起動するように正しく設定する必要があります。
データ保存パス(Data storage path):
Netflow データが保存されるディレクトリです。重要: Netflow データを保存するディスクのアクセス速度はパフォーマンスに影響します。
デーモン間隔(Daemon interval):
データファイルをローテートする時間間隔(秒)です。3600を推奨します。間隔を大きくすると大きなファイルとなり、I/O のオーバーヘッドは小さくなりますが、特定の時間間隔におけるデータの検索は遅くなります。
デーモン間隔(Daemon interval):
データファイルをローテートする時間間隔(秒)です。3600を推奨します。間隔を大きくすると大きなファイルとなり、I/O のオーバーヘッドは小さくなりますが、特定の時間間隔におけるデータの検索は遅くなります。
Nfdump バイナリパス(Nfdump binary path):
nfdump バイナリのパスです。
Nfexpire バイナリパス(Nfexpire binary path):
'nfexpire' バイナリのパスです。
最大グラフ解像度(Maximum chart resolution):
Netflow グラフを表示するエリアの最大サイズです。解像度を高くするとパフォーマンスが下がります。50 と 100 の間の値をお勧めします。
ライブビューカスタムフィルタの無効化(Disable custom live view filters):
有効にすると、管理者によってあらかじめ作成された Netflow フィルタのみが Netflow ライブビューで利用できます。
Netflow 最大保存期間(Netflow max lifespan):
指定した日数よりも古い Netflow データが削除されます。
IP アドレス名前解決の有効化(Enable IP address name resolution):
Netflow デバイスから IP アドレスの名前解決をするようにします。
netflow 設定を有効にした場合、nfcapd サーバを起動するために Pandora FMS サーバを再起動する必要があります。このサーバは、システムからアクセスできるパスにインストールされている必要があります。動作に関して疑問点があればサーバログを確認してください。
2.4 フィルタ
リソース(Resources) > NetFlow フィルタ(NetFlow Filters) をクリックすることにより、作成および編集ができます。ここでは作成済のフィルタ一覧が表示され、変更したり削除したりできます。
"Netflow ライブビュー" からも直接フィルタを作成でき、アクティブフィルタを新規保存することもできます。 Netflow フィルタには "基本" または "高度" があります。違いは、前者はフィルタリングフィールド(送信元IP、送信先IP、送信元ポート、送信先ポート)を固定し、高度な方は pcap (ネットワークトラフィックのフィルタリングを標準入力にて)および関連ツールを用います。
2.4.1 フィルタ作成
Netflow フィルターの基本的な編集画面:
この機能における設定可能な NetFlow フィルタは次のとおりです。
- 名前(Name): フィルタの名前です。解りやすいものを定義してください。
- グループ(Group): 1ユーザは、アクセス可能なグループの一つのフィルタのみ作成または編集できます。
- フィルタ(Filter): フィルタには、基本と拡張の 2つのタイプがあります。拡張フィルタは、nfdump と同じフォーマットの拡張表現が利用できます。基本フィルタは、発信元IP、宛先IP、発信元ポート、宛先ポートで通信をフィルタできます。カンマで区切った IP またはポートリストが利用できます。
- 集約(Aggregate by): 通信が次の基準で集約されます:
発信元 IP(Source IP): 異なる発信元 IP ごとに通信を表示します。
宛先 IP(Target IP): 異なる宛先 IP ごとに通信を表示します。
発信元ポート(Source Port): 異なる発信元ポートごとに通信を表示します。
宛先ポート(TargetPort): 異なる宛先ポートごとに通信を表示します。
2.4.1.1 例
基本ウェブ通信フィルタの例:
高度なイントラネット通信フィルタの例:
以下に、他のフィルタ例を示します。
- 192.168.0.1 発または宛のトラフィックをキャプチャ:
host 192.168.0.1
- 192.168.0.1 宛のトラフィックをキャプチャ:
dst host 192.168.0.1
- 192.168.0.0./24 発のトラフィックをキャプチャ:
src net 192.168.0.0/24
- HTTP および HTTPS のトラフィックをキャプチャ:
(port 80) or (port 443)
- DNS 以外の全トラフィックをキャプチャ:
port not 53
- 192.168.0.1 宛の SSH トラフィックをキャプチャ:
(port 22) and (dst host 192.168.0.1)
2.5 レポート
Netflow レポートは、Pandora FMS のレポート機能に統合されています。(詳細は、 レポート を参照してください)
新たにレポートアイテムを作成するには、netflow レポートアイテムの一つを選択します。
そして、設定します。次のオプションがあります。
- タイプ(Type): 以下に説明するアイテムのタイプです。
- フィルター(Filter): 利用する Netflow フィルタです。
- 説明(Description): アイテムの説明です。
- 間隔(Period): データを表示する期間です。
- 解像度(Resolution): データは、解像度に指定したサイズで取得されます。もし、間隔/解像度を最大グラフ解像度より大きく設定すると、動的に再調整されます。例えば、間隔が 1日で、解像度が 1時間の場合、24ポイントがグラフに表示されます。
- 最大値(Max. values): 集約する要素の最大値です。例えば、HTTP トラフィックのグラフを書く場合、ソースIPアドレスで集約し、最大値が 5 であれば、5つの IP アドレスのみが表示されます。
netflow レポートのアイテムは、3種類あります。
- 塗りつぶしグラフ(Area chart): 集約または未集約の塗りつぶしグラフです。
- データ一覧(Data table): 塗りつぶしグラフをテキストで表したものです。
- Netflow サマリグラフ(Netflow summary chart): 指定した間隔のトラフィックサマリです。グローバル情報を含む表、最も関連性のある IP またはポートを含む円グラフ、分割された円グラフと同じ情報を含む表の 3つの要素があります。
2.6 Netflow ライブビュー
この表示は、さまざまな検索フィルタに基づいて取得されたデータの履歴を調べるために使用します。フィルタを使用して、さまざまな異なる情報を表示することができます。データの視覚化をするには、表示された情報をグループ化する方法と、この情報を取得する方法があります。
情報を取得する方法の場合、発信元IP、宛先IP、送信元ポート、宛先ポートから行います。たとえば、受信先 IP 情報を表示するように選択した場合、受信先へのトラフィックが最も多い IP から最も低い IP の順に表示されます。 宛先ポートを選択して、プロトコルごとにネットワークの利用量を見る場合も同じことが言えます。
可能な表示方法は以下の通りです。
- 塗りつぶしグラフ(Area Graph) (積み重ね): 時間の経過とともに(開始日から終了日まで)、データの変化を表示します。 "解像度(Resolution)" で、グラフの精度を選択する必要があります。
- 概要(Summary): サマリ表、円グラフ、および期間全体のデータを含む表を表示します。
- 詳細(Detailed): IP トラフィックを表すマップを表示します。
- データ表(Data table): 選択に応じて、各 IP と行数を含むデータテーブルを表示します。
- 円グラフ(Circle graph): IP とトラフィック量の間の関係を表すインタラクティブな円グラフを表示します。
フィルタした情報は、"操作 -> Netflow -> ライブビュー" から表示できます。このツールで、フィルタの変更のプレビューおよび、好みの出力結果を保存できます。設定したフィルタをロードし編集することもできます。
ライブビューオプションの設定方法については、レポート と フィルタ を参照してください。
2.7 ネットワークトラフィックマップ
これは、OUM 733 から追加された機能で、この先も改善の予定です。ノード間のトラフィックに基づいて動的なネットワークマップを作成します。異なるアドレス間の関係(接続)および、(データ転送量による)トップ N を表示します。
2.8 分散設定
コンソールから独立したホスト上に Netflow データを収集する pandora ノードを配置することも可能です。大量の Netflow データがある環境では、高速ディスクと 2コア以上の高速 CPU を備えたサーバに配置することをお勧めします。 Pandora コンソールがNetflow データを抽出するためには、以下の手順に従ってシステムのデフォルト設定を変更する必要があります。
- Web デーモンを実行するユーザと、コレクターノードで nfdump を実行するユーザとの間の自動 SSH 認証を構成します。
その設定には、次の手順を実行する必要があります。
apache ユーザを有効化します。それには、/etc/passwd ファイル内の apache ユーザを次のように編集します。
apache:x:48:48:Apache:/var/www:/bin/bash
/var/www ディレクトリ内に .ssh ディレクトリを作成し、正しいパーミッションを設定します。
#mkdir /var/www/.ssh #chown apache:apache /var/www/.ssh
ssh 鍵を作成し、それを Netflow トラフィックを収集するホストにコピーします。
#su apache bash-4.2$ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/var/www/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /var/www/.ssh/id_rsa. Your public key has been saved in /var/www/.ssh/id_rsa.pub. The key fingerprint is: SHA256:vYvl5V00E4faa14zN08ARzGUQ9IfAQJnMzkaqLAGRHI [email protected]<server> The key's randomart image is: +---[RSA 2048]----+ |+oE ...*o=B+.| |.o . . .oo+o++ | | . o . o o o+o| | o . o = +| | . S . . oo.| | . +o| | o . o+=| | + + + +*| | . o . o .| +----[SHA256]-----+ bash-4.2$ ssh-copy-id [email protected]<netflow_server>
コピーしたら、パスワード無しで apache ユーザがサーバにアクセスできるかどうかを確認します。
bash-4.2$ ssh [email protected]<netflow_server>
- 以下のように Pandora FMS コンソールで /usr/bin/nfdump を置き換えるスクリプトを作成します。
#!/bin/bash NFDUMP_PARAMS=$(sed 's/(\(.*\))/\"\(\1\)\"/' <<< "[email protected]"); ssh [email protected]<netflow_server> "/usr/bin/nfdump $NFDUMP_PARAMS"
スクリプトに実行パーミッションを与えます。
chmod 755 /usr/bin/nfdump
以下のようにスクリプトを実行してみます。
/usr/bin/nfdump -V
つぎのような応答があります。
nfdump: Version: 1.6.13
3 Pandora NTA によるネットワーク監視
Pandora Network Traffic Analyzer(Pandora NTA)は、Netflow を使用したくない、または使用できない環境用に設計されたネットワークトラフィック分析ツールです。NetFlow は Pandora NTA が表示できない情報(ポートに関連した情報)を表示し、NetFlow はより高度なリアルタイムインターフェースを可能にするだけでなく、PCAP の高度なフィルタの結果としてデータモジュールを作成できるなど、提供される機能はわずかに異なります。
Pandora NTA/NTOP のベースとして、Pandora FMS プロジェクトのコードの他に、NTOP プロジェクト(GPL2としてライセンスされています)をフォークしたものを使用しています。データの収集と XML フォーマットでの Pandora FMS サーバへのデータ送信を担当します。 100% オープンソースの機能であるため、だれもが公開されたリポジトリからソースコードを利用できます。
Pandora NTA は 1つまたは複数のネットワークセンサーを使用してトラフィックを検査し、送信元 IP と宛先 IP ごとに統計を行います。ポートやアプリケーションごとの特定のトラフィック情報は生成しません。それが必要な場合は、より高度な機能である NetFlow を使用する必要があります。
Pandora NTA は、特殊なハードウェアやサードパーティのツールを用意することなく、ネットワークを低レベルで監視し、この情報を既存の監視プラットフォームに取り込むための簡単な方法です。
Pandora NTA は以下を提供します。
- ローカルネットワークの各ローカル IP の送受信トラフィックの詳細。
- ネットワークの問題の検出(イベントの生成による)
- 送信元 IP 別のネットワーク流量に関する具体的なレポート。
- ネットワーク上の送信元 IP あたりのトラフィックが最も多い宛先IPのリスト。
- 発信元別のローカルネットワーク流量のレポート、動的マップ、および累積データを含む検索およびフィルタリングオプション。
Pandora NTA では、データはエージェントのモジュールとして保存されるので、各ネットワーク機器の個々のトラフィックデータで、Pandora NTA は、アラートの生成、トップN レポートの生成、その他 Pandora FMS 機能を利用することができます。
3.1 アーキテクチャと機能
LAN トラフィックにアクセスできるマシン、通常はルータやファイアウォールとして機能する Linux サーバにPandora-NTOP プローブをインストールする必要があります。 スイッチ、ファイアウォール、またはルータからのポートミラや、TAP を使用してトラフィックを一方向に複製することもできますが、特定のハードウェア機器が必要になります。
Pandora NTA を通常のコンピュータにインストールした場合、事前にポートミラーを作成したり、トラフィックをそのマシンにリダイレクトする TAP を接続したりしないと、すべてのネットワークトラフィックが受信されるわけではないので注意してください。 そのマシンを出入りするトラフィックのみで、ネットワーク全体のトラフィックではありません。 |
|
Pandora-NTOP は、トラフィックを受信しデータを保存せずに生成します(RAM 上に保存します)。Pandora NTA は、収集したデータを Pandora FMS データサーバへ送信します。 Pandora NTA を必要なだけインストールできます。 複数のローカルネットワークおよび収集ポイントがある場合は、分散した展開が可能です。
Pandora NTA は、3種類のイベントを生成することができ、ローカルネットワークの問題に関する情報もリアルタイムで提供します。
- ネットマスクの不正(Wrong netmask)
- ポート p 経由でのデータ送信(Host sent data to zero port)
- MAC アドレスの重複(Duplicated mac)
たとえば、重複した MAC がシステムに出現したときなど、イベントのアラートをリアルタイムで確認することができます。上記の英語のテキスト文字列でイベントアラートが作成されます。
3.2 インストール
CentOS 7 で利用可能な tarball を提供しています。圧縮した tgz 形式で提供しており、Pandora FMS ライブラリ にあります。インストールするには、展開する必要があります。
tar xvzf pandora_nta.tgz
展開したディレクトリ内で、インストールスクリプトを実行します。
cd pandora_nta_tarball ./install_pandora_nta.sh --install
Pandora NTA をアンインストールするには、同じスクリプトを次のように実行します。
./install_pandora_nta.sh --uninstall
Pandora FMS を ISO イメージからインストールした場合はすでにインストール済ですので、有効化だけします。(OUM 733 以上)
開始するには、以下のように実行します。
systemctl start pandora_nta
3.2.1 必要要件
Pandora NTA の Perl 部分は、それが動作するマシンに Perl のインタプリタが入っていること以外に、いくつかの依存ファイルを必要とします。
Pandora NTA は外部の Perl モジュールを利用します。いくつかはコアの一部であり、他は通常のインストールで配布されています。以下は利用されている外部モジュールの一覧です。
- Getopt::Std
- Config::Simple
- LWP::Simple
- Sys::Hostname
- JSON
- POSIX
- MIME::Base64
- XML::Simple
- Digest::SHA
依存関係が欠けているかどうかを調べるには、-h オプションを付けてメインスクリプトを実行するだけです。ヘルプウィンドウの代わりにエラーが表示された場合は、依存関係が欠けていることを意味します。エラーによって何が必要であるかを見ることができます。CPAN もしくは、各配布元の公式リポジトリから直接 Perl パッケージをダウンロードすることによってそれらをインストールすることができます。
NTOP(Pandora-NTOP) に基づく Pandora NTA は、github の公開リポジトリ (https://github.com/pandorafms) からコンパイルするためのソースコードを入手することができます。コンパイル済のバイナリは Pandora FMS モジュールライブラリ (https://pandorafms.com/library) で配布しています。NG 733 以降の Pandora FMS のインストール ISOイメージでは、デフォルトで含まれています。
3.3 Pandora NTA の設定
コマンドラインで指定可能なパラメータ
-h: ヘルプの表示。 -f: 設定ファイルのパス。デフォルトの設定ファイルが利用されるため指定は必須ではありません。ユーザはファイルに対する読み出し権限が必要です。
設定ファイル pandora_nta.conf のパラメータ
daemon
1 に設定すると、プログラムはバックグラウンドで実行されます。(デフォルトは 0)
encoding
tentacle を通して送信する XML のエンコーディングです。XML ヘッダーに記載されます。(デフォルトは UTF-8)
interval
Pandora NTA の動作サイクルを秒で指定します。(デフォルトは 300秒)
log_file
ログ出力先のファイルです。指定のファイルおよびフォルダに書き込み権限がある必要があります。ファイルが存在しない場合は、Pandora NTA が自動的に作成します。(デフォルトでは STDOUT に出力します)
retries
アプリケーションが重大なエラーと見なして停止するまでに、連続して失敗を許容する回数。0 に設定すると何度失敗しても停止することはありません。(デフォルトは 2)
transfer_timeout
tentacle でファイルを送信する最大秒数です。この時間を超過すると、Pandora NTA はすべての状態をリセットし再起動します。(デフォルトは 15秒)
verbose
ログファイルに記録する情報レベルです。数字が大きいほどより多くの情報が記録されます。0 の場合は何も記録されません。3 の場合は重大なエラーが記録されます。5 の場合は警告が記録され、9 の場合はすべてが記録されます。多くのディスクを消費するため高い値はお勧めしません。(デフォルトは 3)
quiet
エラーメッセージを表示しません。
cache_file
アプリケーションのキャッシュファイルのフォルダです。ファイルに書き込める必要があります。存在しない場合は、Pandora NTA が作成します。名前を見つけられないと新しいエージェントを生成することにより、新しいエージェントを作成して Pandora に情報を送信するエージェントを複製することになるため、変更するときは注意が必要です。(* /tmp/pandorata_cache.json*)
ntop_host
Pandora-NTOP ウェブサーバリクエスト送信先のホストです。(デフォルトは localhost)
ntop_port
Pandora-NTOP プロセスが処理するポート番号です。(デフォルトは 3000)
ntop_local_subnets
NTOP によりローカルと認識されるサブネットです。複数のサブネットを指定したい場合は、カンマ区切りで続けることができます。(例: ntop_local_subnets 192.168.50.0/24,114.15.0.0/16)
ntop_logs_to_syslog
1 に設定すると、NTOP はログを syslog に転送します。そうでなければ、どこにも出力しません。(デフォルトは 0)
self_name
自己監視エージェントの別名です。 キャッシュファイルが作成されると、データサーバは XML を介した別名の変更をサポートしていないため、別名を変更することはできません。(デフォルトは pandoraNTA)
tentacle_host
XML を受信する tentacle サーバのホストです。(デフォルトは localhost)
tentacle_port
XML を受信する tentacle サーバのポート番号です。(デフォルトは 41121)
temp_dir
tentacle クライアントが XML を送信するために利用するディレクトリ。書き込み権限が必要です。(デフォルトは /tmp)
3.3.1 展開と起動
pandora_db スクリプトは、履歴から NTA 接続データを削除します。 この情報がシステムに残る日数は、コンソールの パフォーマンス 設定画面で設定できます。
3.4 表示
デフォルトでは、Panodra NTA というエージェントが作成され(pandora_nta.conf の設定で変更できます)、次の要素を含んでいます。
- NTA システムの状態
- システムによって検出された IP の数
- ネットワーク全体のトラフィックの合計 (入出力)
- 現在のネットワークの転送速度 (入出力)
- ネットワークのパケット数 (入出力)
加えて、システムは、ローカルネットワークで見つけたそれぞれの IP のエージェントを作成します(pandora_nta.conf で定義された通り)。
それぞれの管理 IP では、同じパラメータが監視されます。
- ネットワーク全体のトラフィックの合計 (入出力)
- 現在のネットワークの転送速度 (入出力)
- ネットワークのパケット数 (入出力)
- IP に関連付けられた MAC アドレス
3.5 レポート
レポート作成に、NTA 特有のレポートがあります。
このレポートは、Pandora NTA によって見つかったすべての IP における、直近 X 日間のネットワーク利用のトップ N を表示しています。
3.6 NTA エクスプローラ
Pandora は、Pandora NTA によって提供されたネットワークデータをリアルタイムで表示することができます。レポートよりも柔軟性があり、数クリックでネットワークの問題を見つけるのに便利です。
これは、最も入出力のトラフィックが多い IP を表示しています。パケット数またはバイト数が多い上位の IP が設定されます。さらに、特定の IP でフィルタリングして、その送信元からのトラフィックがある IP を確認することもできます。
たとえば、大量のデータを送信する IP があり、送信先を確認するには、IP の横にあるフィルタアイコンをクリックするだけで、データを受信したアドレスのリストとグラフが表示されます。このように、ある日に最も過負荷になっているペアを検出するのは非常に簡単です。
3.7 NTA 利用量マップ
この表示では、トポロジマップの形式で特定の時間間隔のトラフィックを表示できます。 開始日と終了日を選択するだけで、最も送信トラフィックまたは受信トラフィックが多い IP が表示されます。