IIJでは、デジタルワークプレ…
執筆・監修者ページ/掲載記事:1件
IIJでは、デジタルワークプレース実現の様々なベストプラクティスを公開しています。中でもご要望の多いパターンを、エンジニアが実際に試してみる本企画。今回はゼロトラストの課題を解決する「Microsoft DefenderとMicrosoft SentinelでVPN端末を制御する」方法を取り上げます。IIJのエンジニアに、詳しい解説と失敗しないためのポイントも聞きました。
エンドポイント製品には様々な種類がありますが、Windows端末にプリインストールされている「Microsoft Defender」に着目しました。
デフォルトで入っているということでWindows端末との親和性が高いのですが、ウイルス検知・駆除以外に使い道がないかな、と探り始めたのが発端です。
はい、「Microsoft Defender for Endpoint」というMicrosoft社が提供しているクラウドサービスと組み合わせることで、ウイルス検知だけではなく、多くの端末のログを収集できることが分かりました。
Defender for Endpointで収集したログを検索し、特定の条件にマッチした事象をアラートとして検知させます。
そのアラートを、あらかじめ指定したロジックで自動処理してくれる「Microsoft Sentinel」というサービスと連携させます。これで、事象発生から処理まで自動的に行ってくれる仕組みができます。
その仕組みを、IIJが提供するVPN「IIJフレックスモビリティサービス/ZTNA」(以下、フレックスモビリティ)に連携させ、VPNトンネルを制御させることができます。
今回は、端末にUSBメモリを差し込んだ時に、VPNを遮断させる実験をしてみました。
今回は、以下のサービス/コンポーネントを利用します。
すでに以下が終わっていることを前提とします。
端末にUSBメモリを差し込んだ時にDefenderで検知させ、Defender for EndpointとMicrosoft Sentinelを通じて解析します。解析の結果を受けて、MobilityクライアントでVPNを遮断する設定をします。
① Defender for Endpointに端末を登録
② Defender for EndpointとMicrosoft Sentinelを連携
③ Microsoft Sentinelでクエリを作成し、アラートを検知させる
④ アラートをもとに、端末に対して制御命令を発行
⑤制御命令により書き込まれたレジストリ値を、Mobilityクライアントが検知し、通信制御を実施
① Defender for Endpointに端末を登録
端末を登録することを「オンボード」と呼びます。この操作でDefender for Endpointと端末のDefenderが連携し、端末からログを収集できるようになります。
オンボードにはいくつか方法がありますが、今回はオンボード用バッチを適用する手法で登録します。正常に登録が完了すると、「デバイスのインベントリ」に登録した端末情報が確認できます。
※ バッチの詳細は、Microsoft社の「デバイスにオンボードして、Defender for Endpoint 機能 を構成します」を参照ください。
図1:デバイスのインベントリの確認画面
② Defender for EndpointとMicrosoft Sentinelを連携
Microsoft Sentinelの管理画面からDefender for Endpointで収集した情報を分析できるように設定します。
まず「データコネクタ」の「Microsoft 365 Defender(プレビュー)」を選択します。
図2:Microsoft Sentinel管理画面
次に「インシデントとアラートを接続する」ボタンをクリックし、機能を有効化します。
図3:Microsoft 365 Defender(プレビュー)画面
③ Microsoft Sentinelでクエリを作成し、アラートを検知させる
Microsoft Sentinel上でアラートを検知させるクエリを作成します。クエリによって、端末から収集した各種ログの検知ルールを自在に作ることができます。
クエリは1分間ごとに実行できる「NRTクエリ」という機能で実装します。
図4:Microsoft SentinelのNRTクエリ作成画面
④ アラートをもとに、端末に対して制御命令を発行
Live Response(Defender for Endpointの機能)を利用して、端末へ制御命令を発行させるために、「Azure Logic Apps」を用います。
「Azure Logic Apps」は汎用性のあるサービスですが、ここではMicrosoft Sentinelの機能として利用します。Live Responseの制御命令が成功すると、端末内にレジストリ値を書き込みます。
図5:Azure Logic Apps画面
⑤ 制御命令により書き込まれたレジストリ値を、Mobilityクライアントが検知し、通信制御を実施
Mobilityクライアントで、このレジストリ値を参照し、制御するための設定を行います。
図6:フレックスモビリティ管理画面
これで設定は完了です。
VPNが接続された端末に、USBメモリを挿してみます。
図7のように、USBを挿入したことをDefender for Endpointを経由してMicrosoft Sentinelが検知。Logic Appsを通じて端末にレジストリ値を書き込む。その値をMobilityクライアントで検知し、遮断することを確認しました。
図7:動作を確認
そうなんです。今回はUSBメモリで試してみましたが、Microsoft Sentinelのクエリ検索は非常に多彩で、様々な条件での検知が可能です。クエリの書き方によってはもっと細かな条件での検知もできます。
今後は、Defenderファイアウォールの状態検知を試そうと思っています。例えば、条件に合致した場合はVPNを遮断することも考えられます。ぜひ、皆さんも機会があれば試してみてください。
この仕組みを応用し、今後はセキュリティ機能との連動を考えています。状態に応じた動的な制御を実現させることで、お客様の細やかなニーズに応えていきたいと考えています。