はじめに
こんにちわ、セキュリティチームのむろです。
今回はNetskopeのAdvanced Analytics(NAA)を使って、Netskope Clientが端末にインストールされたレポートを定期通知させる方法のご紹介です。
Secure Enrollmentの話から、新しい端末が自分たちのテナントにエンロールされた際に通知を受ける仕組みはないかお客様からご質問もいただいたこともあり試してみました。
最初にまとめ
- Classic Reportsではなく、Advanced Analytics利用が前提
- Advanced AnalyticsでNetskope Clientがインストールされたイベントを元に1日1回のレポート通知(メール通知)をさせる
- イベントが存在する場合のみ通知させることも可能
- 厳密には新規デバイスのインストールだけではなく、再インストールも通知対象になる
- Slackのチャンネル側でメールアドレスを発行すれば、Slackへの通知も可能
前置きを飛ばして設定手順を見たい方は「設定手順」へ飛んでください!
Netskope Advanced Analytics(NAA)ってなに?
- Advanced Analytics機能はNetskope内で利用されているアラートや各イベントのデータから条件などを指定してダッシュボードやウィジットを作ることができます。
- Advanced Analyticsは過去からあったClassic Reportsと似ていますが、ざっくり以下のような違いがあります。
- Classic Reportsよりも扱える情報種類が多く、少し前にDevice Eventsにも対応しています(Classic ReportsはSkopeITの一部情報のみ対応)
- Classic Reportsでは行えなかった、レポートの定期実行とメール通知が可能
- Classic Reportsよりも可視化の表現も拡充されている
- Advanced Analyticsのデータの保持期間はライセンスによって7日〜13ヶ月と異なる
- Classic Reportsのデータ保持期間は90日
Advanced Analyticsのイメージ図
※上記は「Netskope Community:Netskope Advanced Analytics: AI Usage Dashboard Demo Video」の動画内より抜粋したものです
自分のテナントでAdvanced Analyticsは使えるの?
- 追加のアドオンライセンスを購入していなくても、Advanced Analyticsベースライセンスである「NAA-BASE」(データ保存期間:7日間)がテナントに付与されているはずです。
ライセンスの詳細については購入元の窓口にご確認ください。
- 以下のドキュメントを参考にAdvanced AnalyticsのData Retention(保持期間)を確認してみていただければと思います。
注意:Classic ReportsとAdvanced Analyticsは同時利用できません。
- ベースライセンスである「NAA-BASE」の場合はClassic ReportsとAdvanced Analyticsをモード切り替えが双方向で可能です。
- この切り替えはテナント単位の切り替えではなく、ログインしているAdmin User単位の切り替えになります。
切り替えイメージ
- 管理コンソール内にAdvanced Analyticsの表示ではなく、Reportsが表示されている場合はClassic Reportsモードになっています。
- 管理コンソール内のReportsメニューを選択し、右上上部のViewからモード選択を行います。
- Advanced Analyticsに切り替わると管理コンソール内のメニュー表示もReportsからAdvanced Analyticsに切り替わります。
どんな仕組みでインストールされた状態を捉えて通知するのか
- Advanced Analyticsでデバイスに対する「Installed」イベントの「Client Installation Time」日時を起点にデータを捉える
- 1日1回のスケジュール実行を設定し、メール通知させる(1日1回の頻度なので保持期間が短いベースライセンスでも利用できる)
- 今回はSlackのチャンネル側でメールアドレスを発行し、特定のチャンネルに通知する
- 通知対象のデータに「ホスト名」や「端末メーカー名」、「端末モデル」、「Unique Device ID 」を含めて通知して調査に利用する
- 「Unique Device ID 」から端末のS/NやMACアドレスを確認することもできる
設定手順
事前準備
- 通知先にSlackを利用する場合はチャンネルのメールアドレスを事前に発行しておきます
- 現状がAdvanced Analyticsモードではなく、Classic Reportsモードの場合はAdvanced Analyticsモードへ切り替えが必要です
- 作成するウィジットを複数人で管理したい場合は事前にフォルダ作成とアクセス権の設定をしておきます
ウィジット及び通知設定手順
- Netskope管理コンソールのAdvanced Analytics > Exploreを選択し、Expore画面へ遷移する
- 1)右上のData Collectionで「Devices」を選択
- 2)左側のフィールドのGeneralを展開し、以下を選択
- Client Installation Time
- Device ID(Netskope上のUnique Device ID)
- Device Hostname(端末のホスト名)
- Device Make(端末メーカー名)
- Device Model(端末のモデル名)
- 3)データの項目列に追加されている事を確認
- お好みで項目列を並び替える
- 4)「Client Installation Time」をFiltersへ追加
- 5)フィルタ条件を設定
- 「Client Installation Time」を「is in the past」 の「28 hours」へ設定
- 「Devices Events Data」を「is in the past」 を「7 days」から「2 days」へ変更
フィルタ条件は「Client Installation Time」よりも「Devices Events Data」が広い範囲となるよう設定ください
ブログ後半でも記載していますが、Advanced Analyticsへのデータ反映に時間がかかるため、バッファとして3時間追加しているためです
- 6)「Run」を選択し、指定したデータと条件でレポート実行
- 該当する日時でデータ(インストール操作)が存在しなければデータは空(No Results)を返す
- 7)「Run」の右側の歯車マークから「Save and schedule」を選択
- 8)ウィジットのタイトルや説明文を好みで入力し、保存場所を選択して「Save & View Widget」を選択
- 9)保存したウィジットのExplore画面に遷移するので、ウィジットの歯車マークから「Schedule」を選択
- 10)スケジュール設定画面に遷移するので以下のように調整して「Save All」で保存します
- Schedule nameは通知メールのサブジェクトになるので必要に応じて調整
- 通知先に事前に払い出しておいたSlackのチャンネルのメールアドレスを追加
- 通知時のデータ形式はメール通知で視認性が良い「Data Table」を選択
- スケジュール実行のタイミングは「Daily」を選択し、「Every Day」で「AM 3:00」を指定
- 深夜帯に設定している意図はインストール操作が発生しづらい時間帯にスケジュール実行するためです。
- 「Send this schedule if(通知条件)」を「there are results(結果がある場合のみ通知)」に設定
- スケジュール実行が意図せず無効になっていないかを日次通知で確認したい場合は「there are either results or no results(結果の有無に関係なく通知)」を選択しても良いと思います。
- メール通知テストを行いたい場合は「Send Test」を選択
設定変更したい場合
- ウィジットを保存した場所(Personal、Groupのフォルダなど)を選択
- フィルタで「Widgets」を選択
- 対象ウィジットの3点リーダーから「View」を選択するとExplore画面に遷移できます
検知した際の流れ
- 以下の情報から想定された端末のインストールか判別する
- 検知したホスト名や端末のモデル情報
- 更に「Security Cloud Platform > Netskope Client > Devices」画面で該当デバイスを選択するとS/NやMACアドレスの情報を確認することができる
想定された端末かどうかの判断は資産管理や端末名の命名規則がある程度は管理されている前提があります
- ホスト名の命名規則が統制されている場合はAdvanced Analyticsの追加条件で指定して通知の精度を上げること運用も考えられます
おまけ:Unique Device IDから端末検索する方法
普通にホスト名で検索してからUnique Device IDを確認する方が楽な気もするのでおまけ扱いです
- 通常のフィルタ項目では「Unique Device ID」を指定することができないため、フィルタをクエリーモードに変更する必要があります
- 「host_info.nsdeviceuid」に対して検索することで明示的にUnique Device IDでフィルタすることができます
(host_info.nsdeviceuid eq <Unique Device IDの値>)
検証してみての考慮点と感想
実際のイベントが発生してからAdvanced Analyticsへデータが反映されるまで時間がかかる
- 「Security Cloud Platform > Netskope Client > Devices」画面側でイベントが記録されてから、Advanced Analytics側へデータが反映がそれなりに時間がかかります。
- 何度か試したところですと50分〜1時間30分とまちまちでした。
- 上記の特性から、検知漏れが無いように今回は28時間という3時間のバッファを追加しています。
- バッファがあるため、Netskope Clientのインストール日時とレポート実行時刻によっては通知内容が翌日に重複する可能性はあります。
複雑な条件の場合は対応が難しい場合がある
- SIEM製品のようなクエリ言語の場合は複雑な条件を細かく指定したり、表現できますがAdvanced AnalyticsはGUI上で指定できるフィルタ条件の範囲でデータを加工します。
- 特定の条件で出力されたデータを元に更にフィルタしたり、サマライズするのには向いていません。
- 反面、人によっては学習コストが低いとも言えるかもしれません。
さいごに
Advanced Analyticsのスケジュール設定は便利に使えそうですね。
今回はかなりシンプルな仕組みでしたが、Device Classification Ruleと組み合わせるのも面白そうです。
また、Netskopeコミュニティでダッシュボードギャラリーなんかもあるので覗いてみると参考になるかもしれません。