ntopngをサイバーセキュリティツールとしてどのように利用するか?をテーマに、マルウェア/ボットネット/ランサムウェアの発見をテーマにブラックリスト機能を紹介します。本記事は、ntop社の本家サイトブログ、「How to Track and Fight Malware, Ransomware, Botnets.. using ntopng」を最新版のntopngのスクリーンに置き換え、かつ分かり身の良いように意訳、管理者マニュアルの内容を移植した記事となります。ネットワークの見える化/可視化だけにntopngを活用するのではなく、サイバーセキュリティツールとしても是非ご検討ください。
文:ジュピターテクノロジー よしひろ
ビルトインブラックリスト
ntopngは、ブラックリスト機能(マルウェアブラックリスト)をかなり古いバージョンで既に実装しておりました。しかし、肝心のブラックリストのデーターベースは更新されず、静的なデータによるアラートに留まっていたので、本番環境で活用するには古いデータで運用することとなり、最大限に活用できない状況でした。しかし、最新版のntopngではこのブラックリスト機能を強化することによって、リストの自動定期更新とカスタムリストの作成を実現しました。
図1の更新頻度の設定からもわかる通り、現在有効になっているブラックリストは”毎日”更新を試みていることが分かります。名前欄にある各ブラックリスト提供元のサイトリンクを押すと、どのようなデータがブラックリスト登録されているのか?を確認することができます。
ntopngは、このリストにあるIPアドレスにアクセスがあった場合、アラートを発報します。この仕組みによって、監視ポイントのトラフィックを分析し、マルウェア・ボットネット・ランサムウェア関連のデーターにそのトラフィックがヒットした場合、管理者は不審な通信を生成しているホストを素早く発見することができるのです。
2023年10月時点では、以下のサイトからデーターを収集することができます。
- Abuse.ch
- AdAway
- AlienVaul
- Anti-WebMiner
- Disconnect.me
- dshield 7 days
- Ellio
- Emerging Threats
- Feodo
- Feodo Tracker Botnet C2 IP Blocklist
- NoCoin Filter List
- Snort IP Block List
- SSLBL Botnet C2 IP Blacklist1
- SSLBL JA3
- Stratosphere Lab
- ThreatFox
しかし、ご自身でリストを作成・管理したいといった方もいらっしゃるでしょう。ntopngは、そのような要求にも応える機能を準備しております。
カスタムブラックリスト
やり方は非常にシンプルで、ご自身でブラックリストに登録したIPアドレス情報を提供するWEBサーバーを準備し、ntopngにそのWEBサーバーからデータを取得するように設定を追加するだけです。それでは、やり方をご紹介します。
WEBサーバーの準備
ここでは、ntopngが稼働するサーバーにlighttpdパッケージをインストールし、ブラックリスト一覧を提供するテキストファイルをlighttpdのドキュメントルートに配置していきます。
弊社環境のUbuntu20.04.6 LTSにlighttpdをインストールした場合、ドキュメントルートは、”/var/www/html”でした。このディレクトリに”jupiterCustom-Block-IP.txt”ファイルを保存します。内容は、以下の通りです。
# Jupiter Technology, Corp Custom Black List
1.1.1.1
8.8.8.8
つまり、googleのアドレス1.1.11, 8.8.8.8にアクセスがあると、アラートを発報するといったブラックリストを作成しました。次に、ntopngの設定に移ります。
ntopngのブラックリストファイルの配置
こちらは、以下の形式のファイルをディレクトリ”/usr/share/ntopng/httpdocs/misc/lists/custom”に保存するだけです。
{"name":"Jupiter Custom Blacklist","format":"ip","enabled":true,"update_interval":86400,"url":"http://127.0.0.1:8888/jupiterCustom-Block-IP.txt","catego
ry":"malware"}
lighttpdの待ち受けポートは、8888に変更しております。上記の設定により、毎日””http://127.0.0.1:8888/jupiterCustom-Block-IP.txt””のデータを取得し、ブラックリストを更新するジョブが追加されます。
最後に設定を反映するために、ntopngを再起動します。
アラートエクスプローラーによる確認
全ての設定が終わったら、1.1.1.1/8.8.8.8に任意のホストからpingを打ってみましょう。図3のように、アラートが発報され、カテゴリがマルウェア、ブラックリストがJupiter Custom Blacklistとなっていることが確認できます。
最後に
如何でしたでしょうか?ntopngを使えば、フリー/有償でブラックリスト情報を提供しているサイトと連携、もしくはご自身で作成・設定したカスタムブラックリストを駆使し、貴社のネットワークの異変を素早く察知できることが分かって頂けたのではないでしょうか?
ntop製品のお問い合わせ
ntop社製品にご興味のある方は、以下リンクよりいつでも弊社までお問い合わせください。