ntop Deep Packet Inspection(nDPI)未登録プロトコル設定

本ブログ記事では、ntop社が開発するDPIライブラリnDPIで独自プロトコルやライブラリに登録されていないプロトコルを認識させ、ntopng GUIで表示する方法をご紹介します。

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


(2021/02/05 リリース予定~の記載を削除)



nDPI(ntop Deep Packet Inspection)がサポートするアプリケーション」に記載がないプロトコルをntopngに認識させたいといった一定の要望があります。
これを実現するには、nDPIプロトコルファイル(/etc/ntopng/ndpi.protos)を作成して独自のプロトコル定義(カスタムプロトコル定義)をします。
フォーマットは2種類あり、サブプロトコルとポートベースの設定方法があります。
それぞれ説明します。

サブプロトコル設定

#Subprotocols
#Format:
#host:”<value>”,host:”<value>”,…..@<subproto>

フォーマットは、「host:”文字列マッチ”@サブプロトコル名」となります。

例の通りhost定義は複数連ねて設定することができます。

実際の設定例は、以下の通りです。


host:”googlesyndacation.com”@Google

取得したパケットのhost値(IPアドレス)が”googlesyndacation.com”に名前解決できるパケットはプロトコルGoolgeとしてnDPIが処理します。

ポートベース設定

#Port-base
#Format:
#<tcp|udp>:<value>,<tcp|udp>:<value>,…..@<proto>

フォーマットは、「tcp|udp:”ポート番号”@プロトコル名」となります。
例の通り設定は複数連ねて設定することができます。
実際の設定例は、以下の通りです。
tcp:81,tcp:8181@HTTP
udp:5061-5062@SIP
tcp:860,udp:860,tcp:3260,udp:3260@iSCSI
tcp:3000@ntop

nDPIが取得したパケットのポート番号から、定義したプロトコルとして処理します。

ndpiReaderでの事前検証

弊社が販売する証跡管理ツールEkranの通信を実際にntopngで認識させてみましょう。

実際にntopngに設定する前に動作確認をします。
以下コマンドでパケットをキャプチャします。

$sudo tcpdump -ni enp5s0 -s0 -w enp5s0.pcap

ポートベースで設定します。以下のファイルを作成します。

$sudo vim /etc/ntopng/ndpi.protos

# Format:



# <tcp|udp>:,<tcp|udp>:,…..@



# tcp:81,tcp:8181@HTTP



# udp:5061-5062@SIP



# tcp:860,udp:860,tcp:3260,udp:3260@iSCSI



# tcp:3000@ntop



tcp:9447@EKRAN



:wq!


tcpかつポート9447の通信は、EKRANとして処理するといった設定となります。

最初にキャプチャしたパケットファイルをnDPIのコマンドndpiReaderに入力して、EKRANの通信を正しく認識するか確認します。

$ndpiReader -i enp5s0.pcap -p /etc/ntopng/ndpi.protos

図1 ndpiReader実行結果

図1の背景白色行の通り、EKRANの文字が出力されました。

図1の背景白色行の通り、設定前はunknownとしてカウントされていたパケットからEKRANのパケットを抽出できました。

ntopng設定

ntopngにnDPIの設定を反映するには、「-p」オプションでnDPIのプロトコルファイルを指定し、再起動する必要があります。
設定方法及び再起動は、以下の通りです。
$sudo vim /etc/ntopng/ntopng.conf

~snip~



-p=/etc/ntopng/ndpi.protos



:wq!



$sudo systemctl restart ntopng


ntopngのGUIでEKRANが表示されるか確認します。

図2 EKRANの認識

ntop社製品は、独自プロトコルの通信であっても定義を追加するだけで抽出できるという拡張性があります。
本ブログ記事で簡単にカスタムプロトコル定義を設定できることが分かっていただけたかと思いますので、是非nDPIによるカスタムプロトコル定義を活用してみてください。

本記事で扱っているntop社のnProbe, ntopngという製品ですが、ご興味のある方は以下のリンクから弊社までお問い合わせください!

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

最新記事

おすすめ記事

  1. 次世代ファイアウォールPalo Alto(Prisma)のログをSOCへ転送!syslog-ng Store Box (SSB)で課題解決!

  2. デスクトップ仮想化の 4 通りの構成と Windows 11 マルチセッション

  3. Flexible NetFlowとは?を5分で理解する

製品カテゴリー

JTC IT用語集
TOP