Difference between revisions of "Pandora: Documentation ja: Netflow"

From Pandora FMS Wiki
Jump to: navigation, search
(フィルタ)
(インストール)
 
Line 487: Line 487:
 
== インストール ==
 
== インストール ==
  
CentOS 7 で利用可能な tarball を提供しています。圧縮した tgz 形式で提供しており、Pandora FMS モジュールライブラリ https://pandorafms.com/library にあります。インストールするには、展開する必要があります。
+
CentOS 7 で利用可能な tarball を提供しています。圧縮した tgz 形式で提供しており、[https://pandorafms.com/library/pandora-nta/ Pandora FMS ライブラリ] にあります。インストールするには、展開する必要があります。
  
 
  tar xvzf pandora_nta.tgz
 
  tar xvzf pandora_nta.tgz

Latest revision as of 16:35, 11 October 2019

Pandora FMS ドキュメント一覧に戻る

1 リアルタイムネットワーク分析の概要

Pandora FMS はリアルタイムでネットワークを分析するために、Pandora NTA と Netflow の 2つの異なるシステムを使用します。どちらのシステムもイーサネットを連続的に リスニング し、トラフィックを分析して統計を生成するという同じ手法を用います。どちらの場合も、何らかの方法でネットワークトラフィックを "傍受" してそれを分析するプローブに送信し、その結果を Pandora FMS に送信することが必要です。

ネットワークトラフィックを傍受して分析できるようにするには、ネットワークのキャプチャポイントを適切に判断する必要があるため、そのネットワークに物理的に確認するか、少なくともそのトポロジを理解する必要があります。たとえば、ルータまたはローカルAPのネットワークトラフィックをキャプチャすることは、ルータに到達する前のサーバのすべてのネットワークトラフィックをキャプチャするのとは同じではありません。

トラフィックをキャプチャするには、2つの方法があります。

  • ポートミラーリングを使用して、スイッチのあるポートから別のポートにトラフィックを再送信します。 すべてのネットワークデバイスが対応しているわけではありません(中価格帯以上のみ)。いくつかの商用ファイアーウォールでもポートミラーはできます。これはトラフィックを傍受する最も簡単な方法であり、追加のハードウェアを必要としません。すべてのトラフィックを特定のポートに送信するので、そのポートはネットワークアナライザ(netflow probe または pandora nta/ntop)を直接接続します。
  • ネットワーク TAP を使用してトラフィックをキャプチャします。 TAP は、あるポートから別のポートに一方向にのみトラフィックをコピーする非常に単純なネットワークデバイスです(ネットワークに干渉することはありません)。それはハードウエアによるネットワークトラフィックの物理的コピーであるため、"ダウン" したり、いかなる種類の問題を引き起こすことがないパッシブなデバイスで、検出できません。12ユーロから 900ユーロの TAP がありますが、原則は同じです。TAP は通信の方向ごとに出力を生成するため、2つのポートで待機するプローブ、または単一のアドレスを待機するプローブが必要になります。

Basic-network-tap.jpg €12 の TAP の例

Basic-network-tap-2.jpg €35 の TAP の例

Pandora FMS 経由でのみ Netflow を使ってネットワークを分析しようとしていて、高機能なスイッチやファイアウォールを利用している場合は、より簡単な方法で監視を実行できます。これらのデバイスが独立したプローブを使用せずに Pandora FMS Netflow コレクタに直接ネットワークフローの統計情報を送信することが可能であるためです。Netflow を有効にしてフローを独立した Netflow コレクター(この場合は Pandora FMS Netflow コレクタ)に送信できるかどうかは、ハードウエアの仕様を確認してください。

要するに、これはリアルタイムでネットワークトラフィックを分析することができる手法と言えます。これには、12ユーロの TAP(またはポートミラーの1つのペア)と Pandora FMS のオープンソース版があればできます。

Diagram-how-to-use-a-network-tap.png

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 architecture.png

Netflow に関する詳細は、我々の blog https://blog.pandorafms.org/what-is-netflow/ を参照してください。

2.1.1 Net flow

Netflow に対応したデバイス(netflowプローブ)は、情報の小さなかたまりで構成される netflow レコードを生成します。それは中央デバイスまたは netflow サーバ(netflowコレクタ)へ送信され、情報が保存、処理されます。

データは、UDP または SCTP にて Netflow プロトコルにより送信されます。netflow レコードは小さなパケットで、流れている全通信内容ではなく、接続に関する統計情報のみを含んでいます。

オリジナルの仕様から異なり追加情報を含んだいくつかの Netflow 実装がありますが、ほとんどの場合少なくとも次の情報を含んでいます。

  • 発信元 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

Pandora FMS は、sFlow (パケット抽出における業界標準)もサポートします。Pandora FMS で OSI モデルのレイヤ 2でキャプチャしたパケットを解析することができます。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 サーバです) に送信するように設定されたものです。

NewNetFlowApproach.png

我々の 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 にこのディレクトリが指定されます。何を行っているかがわからない場合は、変更しないでください。

Pandora FMS では、Netflow データを処理するのに nfdump バージョン 1.6.8p1 が必要です。

nfcapd の手動での動作確認には次のようにします。

nfcapd -l /var/spool/pandora/data_in/netflow -D

Pandora FMS コンソールが動いているウェブサーバプロセスから Netflow データファイルを読むために、/var/spool/data_in/netflow へアクセスできる必要があることに注意してくだい。

2.2.2 Netflow プローブのインストール

Netflow に対応したルータが無く、Linux サーバをルータとして利用している場合は、netflow 情報を Netflow サーバへ送信するソフトウエアの Netflow プローブをインストールできます。

Linux では、fprobe というプログラムがあり、トラフィックを取得し 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

このプログラムで、次のようにインタフェースを通る 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 データをデータベースには保存しません。情報は、レポートを表示する時にオンデマンドで処理されます。

Pandora FMS は、フィルタ を使って Netflow データを処理します。フィルタは、通信パターンにマッチするルールのセットです。ルールは、'サブネット 192.168.70.0/24 からの通信すべて' といったように簡単です。また、pcap の書式も利用できます。

フィルタを作成したら、フィルタにマッチした情報をどのように表示するか(グラフや表)および時間範囲をレポートで定義する必要があります。Netflow レポートは、他の Pandora FMS レポートと同様にオンデマンドでのアクセスです。

Netflow のレポートは、Pandora の一般的なレポートのメニューからレポートとして表示されます。そのため通常のレポートに組み込むこともできます。

また、通信の分析や素ぽーっとでルールを作成したり修正するためのライブ Netflow ビューワがあります。これは、問題を調査したり、保存しない一時的なグラフを表示するのにするのにとても便利です。

2.3.1 設定

まず最初に、Netflow を操作(Operation)およびシステム管理(Administration)メニューからアクセスできるようにする必要があります。

Netflow manager0.png

システム管理(Administration)メニューの、設定(Configuration)の中に、Netflow オプションがあります。そこで、Netflow 通信で取得したファイルを置くパスを指定します。例えば、/tmp/netflow です。また、nfcapd デーモンのパスも正しく設定されている必要があります。

Netflow manager.png

次の設定オプションがあります。

  • データ保存パス(Data storage path): Netflow データが保存されるディレクトリです。重要: Netflow データを保存するディスクのアクセス速度はパフォーマンスに影響します。
  • デーモン間隔(Daemon interval): データファイルをローテートする時間間隔(秒)です。3600を推奨します。間隔を大きくすると大きなファイルとなり、I/O のオーバーヘッドは小さくなりますが、特定の時間間隔におけるデータの検索は遅くなります。
  • デーモンバイナリパス(Daemon binary path): nfcapd バイナリのパスです。
  • Nfdump バイナリパス(Nfdump binary path): nfdump バイナリのパスです。
  • Nfexpire バイナリパス (Nfexpire binary path): nfexpire バイナリのパスです。This program deletes old Netflow data.
  • 最大グラフ解像度(Maximum chart resolution): Netflow グラフを表示するエリアの最大サイズです。解像度を高くするとパフォーマンスが下がります。50 と 100 の間の値をお勧めします。
  • ライブビューカスタムフィルタの無効化(Disable live view custom filters): 有効にすると、管理者によってあらかじめ作成された Netflow フィルタのみが Netflow ライブビューで利用できます。
  • Netflow 最大保存期間(Netflow max lifetime): 指定した日数よりも古い Netflow データが削除されます。

netflow 設定を有効にした場合、nfcapd サーバを起動するために Pandora FMS サーバを再起動する必要があります。このサーバは、システムからアクセスできるパスにインストールされている必要があります。動作に関して疑問点があればサーバログを確認してください。このサーバは、Pandora FMS サーバではないため、サーバ表示には現れません。

2.4 フィルタ

'システム管理(Administration)' および 'NetFlow フィルタ(NetFlow Filters)' をクリックすることにより、作成および編集ができます。ここでは作成済のフィルタ一覧が表示され、変更したり削除したりできます。


Netflow3.png



"Netflow ライブビュー" からも直接フィルタを作成でき、アクティブフィルタを新規保存することもできます。 Netflow フィルタには "基本" または "高度" があります。違いは、前者はフィルタリングフィールド(送信元IP、送信先IP、送信元ポート、送信先ポート)を固定し、高度な方は pcap (ネットワークトラフィックのフィルタリングを標準入力にて)および関連ツールを用います。

2.4.1 フィルタ作成

Netflow フィルターの基本的な編集画面:



Netflow4.png



この機能における設定可能な NetFlow フィルタは次のとおりです。

  • 名前(Name): フィルタの名前です。解りやすいものを定義してください。
  • グループ(Group): 1ユーザは、アクセス可能なグループの一つのフィルタのみ作成または編集できます。
  • フィルタ(Filters): フィルタには、基本と拡張の 2つのタイプがあります。拡張フィルタは、nfdump と同じフォーマットの拡張表現が利用できます。基本フィルタは、発信元IP、宛先IP、発信元ポート、宛先ポートで通信をフィルタできます。カンマで区切った IP またはポートリストが利用できます。
  • 集約(Aggregate by): 通信が次の基準で集約されます:

発信元 IP(IP Origin): 異なる発信元 IP ごとに通信を表示します。
宛先 IP(IP Destination): 異なる宛先 IP ごとに通信を表示します。
発信元ポート(Origin Port): 異なる発信元ポートごとに通信を表示します。
宛先ポート(Destiny Port): 異なる宛先ポートごとに通信を表示します。
プロトコル(Protocol): 異なるプロトコルごとに通信を表示します。
全て(Any): (全データ)

2.4.1.1

基本ウェブ通信フィルタの例:



Netflow5.png



高度なイントラネット通信フィルタの例:



Netflow6.png



以下に、他のフィルタ例を示します。

  • 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 レポートアイテムの一つを選択します。

Netflow report item types.png

そして、設定します。次のオプションがあります。

Netflow report item configuration.png

  • タイプ(Type): 以下に説明するアイテムのタイプです。
  • フィルター(Filter): 利用する Netflow フィルタです。
  • 説明(Description): アイテムの説明です。
  • 間隔(Period): データを表示する期間です。
  • 解像度(Resolution): データは、解像度に指定したサイズで取得されます。もし、間隔/解像度を最大グラフ解像度より大きく設定すると、動的に再調整されます。例えば、間隔が 1日で、解像度が 1時間の場合、24ポイントがグラフに表示されます。
  • 最大値(Max. values): 集約する要素の最大値です。例えば、HTTP トラフィックのグラフを書く場合、ソースIPアドレスで集約し、最大値が 5 であれば、5つの IP アドレスのみが表示されます。

netflow レポートのアイテムは、3種類あります。

  • 塗りつぶしグラフ(Area chart): 集約または未集約の塗りつぶしグラフです。

Netflow chart area aggregated.png

  • データ一覧(Data table): 塗りつぶしグラフをテキストで表したものです。

Netflow table data.png

  • Netflow サマリグラフ(Netflow summary chart): 指定した間隔のトラフィックサマリです。グローバル情報を含む表、最も関連性のある IP またはポートを含む円グラフ、分割された円グラフと同じ情報を含む表の 3つの要素があります。

Netflow9.png

2.6 Netflow ライブビュー

この表示は、さまざまな検索フィルタに基づいて取得されたデータの履歴を調べるために使用します。フィルタを使用して、さまざまな異なる情報を表示することができます。データの視覚化をするには、表示された情報をグループ化する方法と、この情報を取得する方法があります。

Netflow view1.png

情報を取得する方法の場合、発信元IP、宛先IP、送信元ポート、宛先ポートから行います。たとえば、受信先 IP 情報を表示するように選択した場合、受信先へのトラフィックが最も多い IP から最も低い IP の順に表示されます。 宛先ポートを選択して、プロトコルごとにネットワークの利用量を見る場合も同じことが言えます。

可能な表示方法は以下の通りです。

  • 塗りつぶしグラフ(Area Graph) (積み重ね): 時間の経過とともに(開始日から終了日まで)、データの変化を表示します。 "解像度(Resolution)" で、グラフの精度を選択する必要があります。

Netflow grafico area.png

  • 概要(Summary): サマリ表、円グラフ、および期間全体のデータを含む表を表示します。

Netflow grafico sumario.png

  • 詳細(Detailed): IP トラフィックを表すマップを表示します。

Netflow grafico detailed.png.png

  • データ表(Data table): 選択に応じて、各 IP と行数を含むデータテーブルを表示します。

Netflow datatable.png

  • 円グラフ(Circle graph): IP とトラフィック量の間の関係を表すインタラクティブな円グラフを表示します。

Netflow bola.png

フィルタした情報は、"操作 -> Netflow -> ライブビュー" から表示できます。このツールで、フィルタの変更のプレビューおよび、好みの出力結果を保存できます。設定したフィルタをロードし編集することもできます。

ライブビューオプションの設定方法については、レポートフィルタ を参照してください。

2.7 ネットワークトラフィックマップ

これは、OUM 733 から追加された機能で、この先も改善の予定です。ノード間のトラフィックに基づいて動的なネットワークマップを作成します。異なるアドレス間の関係(接続)および、(データ転送量による)トップ N を表示します。

Network Usage map.jpg

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 を使用してトラフィックを一方向に複製することもできますが、特定のハードウェア機器が必要になります。

Info.png

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)

Template warning.png

サブネット設定が無い場合、NTOP が見つけた全ホストの情報を Pandora へ送ります(デフォルトオプション)。少なくとも 1つのローカルネットワークを設定してください。

 


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 の数
  • ネットワーク全体のトラフィックの合計 (入出力)
  • 現在のネットワークの転送速度 (入出力)
  • ネットワークのパケット数 (入出力)

Nta main agent.png
すべてのデータを要約したセントラルノード NTA の表示

加えて、システムは、ローカルネットワークで見つけたそれぞれの IP のエージェントを作成します(pandora_nta.conf で定義された通り)。

それぞれの管理 IP では、同じパラメータが監視されます。

  • ネットワーク全体のトラフィックの合計 (入出力)
  • 現在のネットワークの転送速度 (入出力)
  • ネットワークのパケット数 (入出力)
  • IP に関連付けられた MAC アドレス

Nta agent view.png
"データモジュールをもつ NTA エージェントの表示"

3.5 レポート

レポート作成に、NTA 特有のレポートがあります。

Pandora NTA report create.png

このレポートは、Pandora NTA によって見つかったすべての IP における、直近 X 日間のネットワーク利用のトップ N を表示しています。

Pandora NTA sample report 1.png

3.6 NTA エクスプローラ

Pandora は、Pandora NTA によって提供されたネットワークデータをリアルタイムで表示することができます。レポートよりも柔軟性があり、数クリックでネットワークの問題を見つけるのに便利です。

Nta explorer.png

これは、最も入出力のトラフィックが多い IP を表示しています。パケット数またはバイト数が多い上位の IP が設定されます。さらに、特定の IP でフィルタリングして、その送信元からのトラフィックがある IP を確認することもできます。

たとえば、大量のデータを送信する IP があり、送信先を確認するには、IP の横にあるフィルタアイコンをクリックするだけで、データを受信したアドレスのリストとグラフが表示されます。このように、ある日に最も過負荷になっているペアを検出するのは非常に簡単です。

3.7 NTA 利用量マップ

この表示では、トポロジマップの形式で特定の時間間隔のトラフィックを表示できます。 開始日と終了日を選択するだけで、最も送信トラフィックまたは受信トラフィックが多い IP が表示されます。

Usage map.png

Pandora FMS ドキュメント一覧に戻る