本記事について
今、注目を浴びている Azure Virtual Desktop (AVD)。簡単に使い始められる Desktop as a Service (DaaS) ですが、一方でセキュリティの実装については、色々なほかの Azure のソリューションを上手に使っていく必要があります。本記事では、その中でもログにフォーカスしてどのように取得して、どのように検索・可視化ができるか、ご紹介していきます。
なお、より広範囲に AVD をどうセキュアに構築するかについては、2020年時点での情報ですが日経XTechさんから記事を出させていただきましたので、合わせてご覧いただければ幸いです。
Azure Virtual Desktop について
Azure のサービスとして提供される、Desktop as a Service (DaaS) です。ゲートウェイやセッションブローカー、ノードの管理機能などが Azure のマネージドサービスとして提供され、ユーザーは主に実際の仮想デスクトップが動くサーバーのみを管理する形になります。仮想デスクトップ (VDI) を簡単に展開でき、すぐにデスクトップやアプリケーションが配信できます。また、Windows 10 をマルチセッションで利用できるという、今までになかった機能も利用できます。
(補足)Azure Virtual Desktop のセキュリティについて
AVD は Azure 上で展開されるため、Azure の各種セキュリティ機能を容易に活用することができます。一方でその実装はユーザーの責任範囲のため、ユーザー側がソリューションを選択する必要があります。いくつか利用できる代表的な機能をご紹介します。
Azure Active Directory
AVD では、利用者がアクセスする際に Azure Active Directory で認証する必要があります。Azure AD では、MFA (多要素認証) やなりすまし検知 (Identity Protection) など高度なセキュリティ機能を利用することができます。
Azure Firewall
サブネットや仮想マシンの NIC につける NSG (Network Security Group) に加え、FQDN でのフィルタリングも可能なマネージドな Firewall as a Service である、[Azure Firewall] (https://docs.microsoft.com/ja-jp/azure/firewall/overview) を構成に組み込むことができます。
Microsoft Defender for Endpoint
Windows 10 multi-session にも対応した強力な EDR です。Microsoft Defender アンチウイルスのアラート管理も同時に行うことができます。ガートナー社の 2021年の Endpoint Protection Platform でもリーダーに位置づけられています。
また、AVD環境への Defender for Endpoint のデプロイについては、こちらの公式ドキュメントをご覧ください。
Microsoft Endpoint Manager
Microsoft Endpoint Manager は、Microsoft Intune、Configuration Manager、Desktop Analytics、共同管理、Windows Autopilot などを組み合わせた統合エンドポイント管理ツールです。AVD上の Windows 10 multi-session OS も管理できるようになり、OSのポリシー管理や AV・EDRの管理、アプリケーションの管理などを行うことができます。
全体像については、こちらもご覧ください。
また、こちらの事例記事では、マイクロソフト自体が AVD を Microsoft Endpoint Manager や Microsoft Defender for Endpoint を使って保護していることが紹介されています。
Azure Virtual Desktop のログ収集について
ここから本題に入ります。ほかの多くの Azure のサービスと同じく、Windows Virtual Desktop もまた、ログ収集・検索機能で Azure Log Analytics を利用しています。本記事では、どのようにログ収集を設定し、どのように活用できるか見ていきます。
1. Azure Log Analytics について
Azure Log Analytics は、Azure のログ収集・検索基盤 as a Service です。マネージドサービスのため、基盤のインフラの管理が不要で、ログを送り付けるだけで簡単に検索や可視化を実行できます。また、セキュリティも担保されており、ログ改ざんを防ぐためにも有効なサービスです。
2. Azure Sentinel について
本記事でもうひとつご紹介したいのが、Azure Sentinel です。Azure Sentinel は Log Analytics のアドオンとして、有効化するだけで簡単に利用することができる、SIEM as a Service で、相関分析やインシデント管理を行うことができます。AVD は、単にサーバーだけでなく、管理プレーンや Azure AD など、様々な過程でログが発生します。Azure Sentinel を活用すると、それらをまとめて分析することがありおすすめです。(AVD 環境含め、Azure 利用時の Sentinel へのログ収集については、こちら にまとめましたので、気になる方はご参照ください。)
Azure Virtual Desktop のログ収集の設定
ここから、AVD のログ収集を行っていきます。
1. 管理プレーンのログの収集
管理プレーンのログは、ワークスペースやアプリケーショングループ、ホストプールの診断設定から Log Analytics ワークスペースへの送信設定が行えます。
2. AVD のデスクトップ用の仮想マシンからのログの設定について
こちらは、通常の仮想マシンのログ収集と同じく、Azure Portal の Log Analytics のメニューから接続することができます。もしエラーが出てしまう場合には、インストーラーによるエージェントのインストールをお試しください。
サーバーのログに対しては、具体的に何を取得するか設定をする必要があります。特に Windows に対しては、パフォーマンスカウンターとイベントログの設定を行います。詳細設定から、各項目を選択し、ログ名やカウンター名を入力して保存します。注意点としては、Windows のセキュリティログについては、ここでは選べなくなっており、Sentinel を有効化して Sentinel でセキュリティイベントの収集を設定するか、Azure Defender (Azure Defender for servers) のデータ収集設定が必要になります。
収集したログの分析
収集したログは、Log Analytics の検索でクエリをかけられるようになります。
Azure Virtual Desktop の管理プレーンのログ
管理プレーンのログは、WVD**** という名前のテーブルに格納されます。
このテーブルには、ユーザーの接続のログや、管理プレーンでの設定のログが含まれます。
たとえば、
WVDConnections
として、接続のログを調べると、接続先の仮想マシンの情報や接続のステータス、ユーザーや時間の情報を見ることができます。
また、管理者のオペレーションについては、下記のクエリで確認ができます。
WVDManagement
こちらでは、誰が、いつ、どのテナントに対して、どのようなコマンドを実行したかがわかります。
Azure Monitor
Azure Monitor のブックでは、テンプレのダッシュボードで AVD の稼働状況を可視化してくれます。接続のパフォーマンスやホストの正常性、ユーザーの利用状況などを簡単に確認することができます。
Azure Sentinel での相関分析
ただログを検索しても面白くないので、Sentinel を使って、相関分析をしてみたいと思います。これは、Log Analytics ワークスペースにて Sentinel を有効化するだけで簡単に利用できるようになります。
Azure Sentinel の分析にて、Connection のイベントを登録するように設定しておきます。(実際の環境では、レアな接続などに限る必要がありますが、ここでは例としてすべての接続を登録します。)
後々の調査のために、マップエンティティの項目で、アカウントを UserName, ホストを SessionHostName, IPアドレスを ClientIPAddress と設定して、以下のクエリを埋め込んでおきます。
合わせて、Azure AD Identity Protection と Microsoft Defender for Endpoint のアラートもインシデントに登録されるようにしておきます。
(仮想マシン側には、Microsoft Defender for Endpoint をあらかじめ設定しています。Microsoft Defender for Endpoint の無料トライアルとオンボードについては、 Microsoft Defender ATPの無料トライアルを始めてバックドア設置を検知・自動修復してみたという記事が詳細に手順をご紹介されていらっしゃいました。)
(また、Identity Protection と Sentinel の連携については、こちらの記事が手順を詳細にご説明くださっています。)
分析シナリオ
Tor ブラウザから AVD のウェブクライアントを使って、AVD のデスクトップ仮想マシンに入り、そこで攻撃用の PowerShell を実行するという流れを実行してみたいと思います。(あくまでサンプルです。)
上記実行後、アラートが分析可能になるまで少し時間がかかるので待ちます。分析可能になったら、Sentinel のインシデントのダッシュボード画面で、Anonymous IP Address のインシデントをクリックします。
ここで、ユーザーがログオンしているホストを検索すると、AVD でアクセスした VM も表示されます。
さらに、そのホストに関連するアラートを検索すると、さきほど設定した AVD への接続のアラートや、Microsoft Defender for Endpoint が転送してきたアラートも見ることができます。
以上はあくまでサンプルシナリオですが、AVD 環境に関わるアラートを集約すると、アクティビティの可視化ができることがわかりました。
最後に
本記事では、AVD のログ(管理プレーンログと各仮想マシンのログ)の Log Analytics への送信と、Log Analytics・Sentinel での分析の流れを見ていきました。Azure Virtual Desktop は簡単に使い始められる DaaS ですが、その際のログ・セキュリティ管理の一助となれば幸いです。
*本稿は、個人の見解に基づいた内容であり、所属する会社の公式見解ではありません。また、いかなる保証を与えるものでもありません。正式な情報は、各製品の販売元にご確認ください。