
■はじめに
本記事ではTaniumのDiscoverモジュールの機能をご紹介します。
本記事でご紹介するのは概要となりますので、詳細についてより深く理解したいなどのご要望がございましたら以下公式ドキュメントにてご確認ください。
-Discover-
=============================
もくじ
・はじめに
・機能の概要/仕様
・使用手順
・試してみた
・最後に
=============================
■機能の概要/仕様
Discoverモジュールを使用するとNW内でスキャンが実行され、管理エンドポイントと非管理エンドポイントのインターフェイス(MACアドレス単位)が可視化されTaniumの管理コンソールで可視化されます。
マニュアルによると、Trendモジュールでインターフェースの健全性を確認する際にこちらのデータを引用することやConnectを使用してSIEMなど外部連携や通知(例:Eメールでインターフェースの状態変化を通知)が可能とのことです。
セキュリティ的にもTanium Clientが相互監視する状態になるので、片方が攻撃により無効化された際も気付く事が可能になりますね。
ここでいう管理/非管理とは
・管理エンドポイント = Tanium Clientが実行されている
・非管理エンドポイント = Tanium Clientが実行されていない
といった意味です。
また、スキャンには2種類あり以下のような違いがあります。
>分散スキャン
レベル別で決められた方法(ARP/NDP/Ping/nmap/OSFP)によりNW内のインターフェースを検出します。
クラウド側から直接アクセスできる環境であればこちらのスキャンがベーシックなものになるかと。
ただ、レジリエンスの観点で言えば一部分だけしっかり管理していても、可視化されていない孤立したNWなどが存在するとそこがセキュリティホールとなります。
スキャンに関しては必要に応じてサテライトスキャンと組み合わせてしっかりと全体を網羅することが推奨されます。
>サテライトスキャン(もしくは集中スキャン)
Tanium Clientがインストールされたエンドポイントをサテライト(衛星)エンドポイントとして指定し、メイン ネットワークへのブリッジ接続のみを持つサブネットなど、Taniumクラウドから直接アクセスができない環境をスキャンしインターフェースを検出します。
実際にスキャンが行われた後の画面がこちら(分散スキャンのみ)
Unmanageableが...と少し気になります。
インターフェースの画面で調べてみます。
module > Discover > Interface
目視するには少し情報量が多いので、画面を切り替えてみましょう。
上部のタブからUnmanageableをクリックすると...
簡単に特定できました。
どうやらESXiのインターフェースのようです。確かにサポート外のOSですね。
利用イメージでした。
■使用手順
Discoverの使用前に、準備としてまず要件を確認しましょう。
OS要件などに関してもクライアントとは異なる部分があるので、事前に詳細を確認しましょう。
また、利用できる分散スキャンのレベルもOSによって異なる部分がありますので要チェックです。
サポートされているオペレーティングシステム
(Windows 11 Armって現状サテライトに使えないのか...fmfm)
Tanium Clientからスキャンが行われる際に利用される、エンドポイントの各ポートやプロトコルです。
ポートと宛先をスキャンする
検証環境でクライアント自体が誤検知の対象となることは無かったのですが、形としてはポートスキャンを行うような機能でもあるのであらかじめしっかりと例外に登録しておくことで安全にご利用できます。
セキュリティ除外
※スキャンされる側のNWのエンドポイントでは、セキュリティ製品によってポートスキャンの検知が生成されることがありますので、その場合は該当検知のアラートを非表示にするか、検出をTaniumClientと特定できる範囲に絞っての例外設定をお勧めします。
ユーザーによって実行できるオペレーションも異なりますので事前に確認しましょう。
ユーザーロールの要件
では、実際にスキャンの設定/実行およびスキャン後の見え方を確認してみましょう!
>分散スキャン
メーカーマニュアル(公式Webマニュアル:分散スキャンの実行)を読みながら以下の流れで分散スキャンの利用を進めていきます。
①スキャンのプロファイルの作成
②スキャンの実行(スケジュール)
③スキャン結果の確認
では...、
①スキャンのプロファイルの作成
Discoverではプロファイルベースでスキャンが実行されます。
スキャンのプロファイルの中に、スキャンのレベルや対象インターフェース、対象NWの指定などの設定またはDiscoverで使用するNpcapのバージョン保守設定等もこちらで行えます。
Module > Discover > Profiles Create Profiles
②スキャンの実行(スケジュール)
プロファイルで設定したスケジュールで自動実行されます。
③スキャン結果の確認
スキャン対象とした環境の情報がインポートされているか、Overviewやインターフェース画面から適宜確認してみましょう。
分散スキャンの設定については以上となります。
>サテライトスキャン
次にメーカーマニュアル(公式Webマニュアル:サテライトスキャンの実行)を読みながら以下の流れでサテライトスキャンの利用を進めていきます。
①サテライトエンドポイントの設定(Direct Connect)
②スキャンのプロファイルの作成
③スキャンの実行(スケジュール)
④スキャン結果の確認
サテライトスキャンの場合は、サテライトエンドポイントを準備(設定)する必要があるのが分散スキャンとの最初の大きな違いです。
遠方などに配置する斥候のような感じですね。
※Windows、macOS、または Linux のみサテライトに指定可能です。
ではサテライトの準備から始めます。
①サテライトエンドポイントの設定(Direct Connect)
サテライトの設定は、共通サービス > 直接接続(Direct Connect) から実施します。
遷移先の画面で最下部にスクロールします。
Satelites 項目には、登録されたサテライトエンドポイントが表示されています。
今回は新規に登録するので、右側にある Create Satelites をクリックします。
Designate Endpoints でサテライトにするTanium Clientインストール済みデバイスのIPを入力します。
IPを入力すると、該当する端末が下部のリストに表示されます。
リストに表示された端末の右端にある Create Satelite をクリックすると、Pending Verification に変わります。
要するに、この段階ではまだサテライトにする端末にマークした。くらいの状態です。
(一旦寄り道)
IPを入力せずに、画面右の Filter Builder タブをクリックすると、複数の端末を同時に表示するのに便利なビルダー表示に切り替わります。
サテライト化したい端末が複数ある場合は、事前にタグを追加するなどしていればそれを利用して一括で抽出できますね。
(戻ります)
Pending Verification になったことを確認したら、Continue をクリックして進みます。
画面が遷移すると、Verify Satelites 画面になります。
誤った端末をサテライト化することの無いように検証する画面です。
画面にはスクリプトの実行コマンドが表示されていますが、ひとまず下へスクロールしてみましょう。
画面下部に行くと、先ほどPending Verification にした端末と、Unique Identifier という空欄が見えてきます。
ここに、「サテライトにしたいエンドポイント端末で、先ほどのスクリプトを実行して検証のためのキーを取得する」ということですね。
これにより指定している端末が間違いないよ。という確認を行えます。
実行分をコピペして、サテライト化する端末上で実行してみます。
(また寄り道です)
仮に対象のエンドポイントにログインすることが難しい。という場合でも心配ありません。
下部の Visually verify satellites instead. のチェックボックスにチェックすると...。
自動でキーが入ります。
この状態で検証を完了できます。
※誤ったエンドポイントが指定されてしまった場合、その端末に機密となる情報が送信されるなどセキュリティリスクが生じる可能性があります。
特段の理由がない限りは、しっかりと該当端末上でも確認ができる手順を踏みましょう。
(戻ります)
検証キーを入力したら、画面最下部の Save をクリックして検証を完了させましょう。
問題なく検証できていれば、遷移先画面のSatellitesの一覧に対象のデバイスが追加されているはずです。
以上がサテライトエンドポイントの追加手順です。
②スキャンのプロファイルの作成
以下の二つについては内容が重複するため、適宜ご確認いただけますと幸いです。
③スキャンの実行(スケジュール)
④スキャン結果の確認
ここまでが、スキャンを行うまでの手順でした。
次の項目では、機能の慣らし運転として少し気になってる部分を確認してみます。
■試してみた
複数のNWアダプター搭載の端末からはちゃんと複数のセグメントスキャンができるのか?
という疑問が同僚より寄せられたので、忙しい彼に代わり確認してみます。
↓のようなイメージです。
やってみましょう!
このような形でデバイスを準備いたしまして..とりあえず分散スキャンで様子を見ます。
>分散スキャン
クライアントインストールされた管理エンドポイントに関しては、別セグメントNWに面したインターフェース情報をレポートしましたが、やはりこの状態では対向のNWに属するインターフェースは検出できません。
プロファイル内で明示的にNWを指定したりも試しましたが、検出は出来ませんでした。
↓末尾112の別NWは検出されていません↓
>サテライトスキャン
つづいて、サテライトスキャンで別NWをスキャンするという試みです。
マニュアルを確認した限りではこの検証ではこちらが本命かと思われます。
Profileの作成画面のProfile Typeでサテライトを選択し、本記事で登録したサテライトエンドポイントを指定します。。
Included Networksで、スキャンしたいNWを指定します。
今回の対象は111.111.111.x/24のNWですので、それを含んだリストを選んでいます。
※リストの作成は「+」アイコンから実施可能です。
できるだけすぐ確認できるように直近の時間にスキャンが行われるようにスケジュールを設定します。
問題なく作成できたようです。
時間をおいて確認してみると...
サテライトエンドポイントの対向にあるIP末尾112をしっかりと検出できています。
ちなみにIP末尾111は分散スキャンを試してみたエンドポイントで、今回サテライトにしたのはIP末尾113です。
というわけで、
複数のNWアダプター搭載の端末からはちゃんと複数のセグメントスキャンができるのか?
という疑問については
アダプタごとの対向NWの環境に適したスキャンを利用すれば可能。
という事になりました。
分散スキャンだけだとレベルを上げても難しいですね。
■最後に
今回ご紹介した機能以外にも、Labelの付与やそれを活かした運用であったり端末の位置を定義するLocation等の機能もございます。
本来であればそれらについてもご紹介したかったのですが、尺の都合により一旦本記事ではここまでとさせていただきます。
ご一読いただき、ありがとうございました。
※本ブログの内容は投稿時点での情報となります。今後アップデートが重なるにつれ
正確性、最新性、完全性は保証できませんのでご了承ください。
他のオススメ記事はこちら
著者紹介

SB C&S株式会社
技術統括部 第2技術部 2課
宮澤 建人