2020年9月2日水曜日

【ntopng and nProbeによる高速トラフィック分析入門】第4章 ネットワーク見える化追加設定

 第4章 ネットワーク見える化追加設定

(2022年2月9日(水) ebookの記載を追加)

本章では、ntopng, nProbeのデフォルトインストールでは設定されない追加設定をご紹介します。
文:ジュピターテクノロジー よしひろ
  • (2022年2月9日(水) 追記)
    2022年2月9日(水)に、本ブログ記事のシリーズ【ntopng and nProbeによる高速トラフィック分析入門】がもととなったebookを弊社サイトに公開しました。
    本サイトで紹介する以上の内容が盛だくさんで、かつ本ブログ執筆当時ではntopngのバージョンが4系でしたが、こちらのebookは5系を対象に執筆しております。
    是非、無料のebook「ntopによる高速トラフィック分析入門(ntopngバージョン5.0.2系)」をご入手ください。ダウンロードは、こちらからお願いします。

最新のバージョンでは必須設定といっても良い内容ですので、本章で説明する項目は全て設定してください。

4.1 nProbeダンプ設定

nProbeのオプション-P(path is the directory where dump files will be stored.)を指定すると、受信したフローをテキストファイルにダンプすることができます。

nProbeの設定ファイルは、/etc/nprobe/nprobe.confです。
-P=/var/log/nprobe/dumpflows

を追記してnProbeを再起動してください。

sudo systemctl restart nprobe


以下のパスにダンプファイルが保存されます。

/var/log/nprobe/dumpflows/2020/08/24/16/03.flows

ダンプファイルのフォーマットは、以下の通りです。 

IN_SRC_MAC|OUT_DST_MAC|INPUT_SNMP|OUTPUT_SNMP|SRC_VLAN|IPV4_SRC_ADDR|IPV4_DST_ADDR|L4_SRC_PORT|L4_DST_PORT|IPV6_SRC_ADDR|IPV6_DST_ADDR|IP_PROTOCOL_VERSION|PROTOCOL|L7_PROTO|IN_BYTES|IN_PKTS|OUT_BYTES|OUT_PKTS|FIRST_SWITCHED|LAST_SWITCHED|CLIENT_TCP_FLAGS|SERVER_TCP_FLAGS|HTTP_URL|HTTP_UA|DNS_QUERY|DNS_RESPONSE|EXPORTER_IPV4_ADDRESS

00:00:00:00:00:00|00:00:00:00:00:00|8|13|0|192.168.93.64|10.199.31.1|53426|3001|::|::|4|6|0|1642|9|0|0|1598252397|1598252398|0|0|||||192.168.91.8

00:00:00:00:00:00|00:00:00:00:00:00|13|8|0|10.199.31.1|192.168.93.64|3001|53426|::|::|4|6|0|1642|9|0|0|1598252397|1598252398|0|0|||||192.168.91.8


ダンプファイルは、"|"がセパレータです。

フローダンプの収集は、詳細な解析や証跡保管に役立ちますので必ず取得しましょう。

また、ログ解析ツールと連携をしてカスタムグラフを表示するといったアイデアもあります。

4.2 nIndex設定

nIndexは、ntopngのフローダンプサポートの1種です。
nIndexを設定するメリットとしては、選択した任意の時間範囲で生のフローデータを表示、検索することができます。
ntopngによるトラフィック分析には、必須の設定項目となります。

ntopngは、nIndexの他にElasticearch, Logstashをサポートしていますが、本書籍ではセットアップが最も簡単なnIndexを利用します。

注意)nIndexは、Windows版のntopngではサポートしていなことにご注意ください。

ntopngのオプション-Fを指定すると、ntopngがフローダンプ生成を開始します。

ntopngの設定ファイルは、/etc/ntopng/ntopng.confです。
-F=nindex


を追記してntopngを再起動してください。

sudo systemctl restart ntopng

 


図4-1 履歴チャート


nIndexが有効となると、履歴チャートの表に「アクション」列が表示され虫眼鏡マークが現れます。

虫眼鏡マークをクリックすると選択したアプリケーションのピア通信を確認することができます。


図4-2 選択したプロトコルのピア通信


さらに、アクション列の虫眼鏡マークをクリックするとクライアントとサーバーでフィルターをかけたフローのみが表示されます。

図4-3 ピア通信のフィルタ


アクションのノートアイコンを押すと、フローダンプをテキストで確認することができます。

DST2SRC_BYTES|DST_COUNTRY_CODE|FIRST_SEEN|FLOW_TIME|INFO|INTERFACE_ID|IPV4_DST_ADDR|IPV4_SRC_ADDR|IPV6_DST_ADDR|IPV6_SRC_ADDR|IP_DST_PORT|IP_PROTOCOL_VERSION|IP_SRC_PORT|L7_PROTO|LAST_SEEN|NTOPNG_INSTANCE_NAME|PACKETS|PROFILE|PROTOCOL|SRC2DST_BYTES|SRC_COUNTRY_CODE|STATUS|TOTAL_BYTES|VLAN_ID

270|0|1598256013|1598256044||6|192.168.10.47|192.168.93.236|::|::|9447|4|52487|250|1598256034|ntop|6||6|132|0|0|402|0


インターフェース 全体のフローダンプをWeb GUI上に表示することも可能です。 

履歴チャート下表のプルダウンメニューから、「原フロー」が表示されるようになりますので、選択してください。

図4-4 インターフェイス、履歴チャート、源フロー

ピアのフローダンプを確認することができ、アクションでフローダンプをテキスト表示することができました。

nIndexを使えば、履歴グラフからドラックアンドドロップでトラフィックやアプリケーションを追跡し、最終的にはピアのフローダンプまで確認することができます。
裏を返せばnIndexが設定されていない場合、ここまで追跡できないこととなりますので、本設定は必須設定であることが分かっていただけたのではないでしょうか。

4.3 InfluxDBの利用

トラフィックグラフに関しては、RRD,InfluxDB共データの収集間隔は1秒となりますが、アプリケーションの統計情報では差が出ます。

RRDで生成するアプリケーション統計情報グラフのX軸幅の最小が5分であるのに対して、InfluxDBでは最少10秒まで設定できるようになります。

データ保存に必要なディスクサイズが増加するのを許容できれば、InfluxDBの利用を推奨します。

InfluxDBを利用するにはあらかじめインストールが必要です。以下のコマンドに従ってください。

$wget https://dl.influxdata.com/influxdb/releases/influxdb_1.8.1_amd64.deb

$sudo dpkg -i influxdb_1.8.1_amd64.deb

$sudo systemctl unmask influxdb.service

$sudo systemctl start influxdb


ntopngの環境設定から、時系列データドライバーの設定をRRDからInfluxDBに変更します。

L7アプリケーション分析のデーターポイント間隔を10秒に変更してください。

 図4-5 時系列データードライバー設定


以上で、ネットワーク見える化の追加設定は完了です。