ntopフローコレクション ベストプラクティス

本ブログ記事は、ntop社のブログ「Best Practices for the Collection of Flows with ntopng and nProbe」を意訳してご紹介しております。

文:ジュピターテクノロジー よしひろ

ntopngは、nProbeが収集したトラフィックデータをWeb GUIでグラフィカル表示します。

nProbeとntopngが連携することで単一/分散拠点、様々なシステム構成を構築することができます。
例えば、以下の構成が考えられます。

  • ルータ、スイッチといったネットワーク機器がエクスポートするNetFlow/sFlowの見える化。この方式では、nProbeはネットワーク機器からNetFlow/sFlowを収集し、それらのフローをntopngにエクスポートします。
  • 遠隔システムの物理ネットワークインターフェイスのモニタリング。この方式では、ntopngは直接ネットワークインターフェイスを監視することも、それらのパケットを受信することもできません。単一もしくは複数のnProbeが、遠隔ネットワークインターフェイストラフィックをキャプチャします。そして、それらのフローを中央のntopngにエクスポートして、分析と見える化を実現します。
上記の2つの方式を表したのが下図です。
また、この2つの方式を同時に構成することも可能です。

ntopng、複数nProbeの組み合わせ

nProbeプロセスからフローを収集しntopngにエクスポートする方式の利点は、フローのグラフィカル表示とトラフィックデータのアーカイブを単一拠点で実現することにあります。
複数のnProbeプロセスからフローを収集するために、ZMQエンドポイントの最後にcオプションを追記してntopngを起動する必要があります。
また、全てのnProbeプロセスのオプションに–zmq-probe-modeを付加して起動します。
この設定では、サーバーとして起動するntopngに対して、nProbeから接続を開始するようになります。
ntopngが受信するポートを全てのアドレスに対して待ち受け状態にするか、特定アドレスに対して接続可能な状態にする必要があります。
設定例は、以下の通りです。
ntopng -i tcp://*:5556c
nprobe –zmq tcp://<ip address of ntopng>:5556″ –zmq-probe-mode -i eth1 -n none -T “@NTOPNG@”
nprobe –zmq “tcp://<ip address of ntopng>:5556” –zmq-probe-mode -i none -n none –collector-port 2055 -T “@NTOPNG@”
nprobe –zmq “tcp://<ip address of ntopng>:5556” –zmq-probe-mode -i none -n none –collector-port 6343 -T “@NTOPNG@”

NAT

遠隔拠点にnProbeを配置する場合、ntopngとネットワーク疎通が必ずしもうまくいくとは限りません。
nProbeがNATの背後やファイアウォールで保護されている場合があります。
また、NATの背後にntopngがあり別ネットワークのnProbeからフローを収集する必要がある構成もあり得ます。
これらのシナリオを処理するためにntopng(及びnProbe)は、JSON-Over-ZMQ通信のクライアントまたはサーバーのいずれかとして、機能するように構成することができます。
この柔軟な設定を実現できることから、ネットワーク機器に工数を要する作業や安全でないルールを設定することを回避することができます。
nProbeとntopngが同じネットワーク上に存在するとき、もしくはntopngが他のネットワークに存在するがnProbeと通信できるときは、次の設定に従ってください。
ntopng -i tcp://<ip address of nProbe>:5556
nprobe –zmq tcp://*:5556″ -i eth1 -n none -T “@NTOPNG@”

ntopngがnProbeに接続できないが、nProbeがntopngに疎通できる場合は、次の設定に従ってください。
ntopng -i tcp://*:5556c
nprobe –zmq tcp://<ip address of ntopng>:5556″ –zmq-probe-mode -i eth1 -n none -T “@NTOPNG@”

ntopngとnProbeのクライアント/サーバーの役割を変更しても、フローの収集には影響しないため、両方の設定を相互に利用することができます。

テンプレート

nProbeからntopngにエクスポートするフローフィールドのセットは、-Tオプションで定義することができます。
リストされる全てのフィールドをntopngに送信することができます。
@NTOPNG@マクロは、ntopngが正しく動作するのに必要なフィールドの最小セットです。
マクロは結合することができます。
以下の例が参考となります。
nprobe –zmq tcp://*:5556″ -i eth1 -n none -T “@NTOPNG@ %IN_SRC_MAC %OUT_DST_MAC”

対称鍵暗号

対称鍵を使用して、nProbeからntopngへのフローのストリームを暗号化できます。暗号鍵は、ntopngとnProbeの両方でオプションを使用して指定する必要があります。
ntopng -i “tcp://127.0.0.1:1234” –zmq-encrypt-pwd myencryptionkey
nprobe -i eth0 -n none –zmq “tcp://127.0.0.1:1234” –zmq-encrypt-pwd myencryptionkey

データ圧縮

フローのストリームは、ntopngに送信される前にnProbeによって自動的に圧縮されます。
デバッグ目的で、圧縮を無効にする場合は、次のオプションを追加してください。
–zmq-disable-compression
nprobe -i eth0 -n none –zmq “tcp://127.0.0.1:1234” –zmq-disable-compression

データバッファ

パフォーマンスを最適化するために、nProbeは自動的に複数のフローを単一メッセージにバッファーします。 
バッファにより高いレイテンシや大きなメッセージが流れる環境でも、より高いスループットを実現できます。
低速環境では、バッファリングを無効にすることをお勧めします。 
オプションを使用してバッファリングを無効にできます。
–zmq-disable-buffering

nprobe -i eth0 -n none –zmq “tcp://127.0.0.1:1234” –zmq-disable-buffering
本記事で扱っているntop社のnProbe, ntopng製品にご興味のある方は、以下のリンクから弊社までお問い合わせください!




こんな記事も読まれています

最新記事

おすすめ記事

  1. 「リモートデスクトップの操作が遅い!」の原因を高速特定!ntopngによる輻輳原因の究明アプローチを実例でご紹介

  2. フリーWi-Fiに潜む悪魔の双子(エビルツイン)とは。加害者・被害者にならないために知るべきこと

  3. 「疑わしい」Windowsイベントログを抽出して、イベントログを活用する

製品カテゴリー

JTC IT用語集
TOP