この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
■はじめに
本ブログでは、Azureのリソースデータがダウンロードされた際に検知する方法について、検証とその結果をご紹介したいと思います。
以前顧客より、Azureにおける内部不正の挙動を検知をしたいというご要望をいただきましたが、
Azureに内部不正の挙動を検知できるような直接的なサービスがなかったため、
既存サービスを使用して検知出来ないか考えてみました。
そもそも、どのような挙動を内部不正とするか具体的な定義がないため、今回は無断ダウンロードが内部不正の挙動に該当すると仮定し、
Azure上に存在するリソースデータがダウンロードされた際に検知する方法について、検証してみました。
検知方法としては、Azure Monitorのアラートルールを用います。
ダウンロードに関するアクティビティログをアラートルールのトリガーに設定することで、ダウンロード発生時にアラートを飛ばすことが可能です。
検知対象は、①OSディスク(VM)、②ストレージの2つです。
検証は、各リソースのダウンロードに関するアクティビティログの確認、それを踏まえてのアラートルールの設定も含めて実施しました。
■OSディスク(VM)のダウンロード検知について
OSディスク(VM)のダウンロードに関するアクティビティログを確認したところ、
OSディスク(VM)がダウンロードされた際に発生するアクティビティログはありませんが、
ダウンロード前にOSディスクのSAS URIを作成する必要があり、その際にアクティビティログが発生することが分かりました。
SAS URI作成時のアクティビティログ:”Get Disk SAS URI“
ダウンロードを直接示唆するログではありませんが、このログを検知対象に設定することでダウンロードを検知するものとして代用することが出来ます。
以下に、“Get Disk SAS URI“を検知するためのアラートルールの設定方法を記載します。
1.{Azure Monitor] > [アラート]タブ > [+作成] > [アラートルール]を押下し、アラートルールの作成ページを開きます。
2.[スコープ]タブにて、リソースの選択画面で[サブスクリプション]を選択後、[完了]を押下します。
3.[条件]タブにて、シグナルの選択画面でシグナルの種類に[アクティビティログ]を選択後、
検索ボックスに「get disk」まで入力すると該当ログが表示されるので、ログ選択後、[完了]を押下します。
4.アラートロジックでは、イベントのレベルは「すべて選択済み」、状態は「成功」・「失敗」の2つを選択、イベント開始者は「すべてのサービスとユーザー」を選択します。
5.[アクション]タブにて、[+アクショングループの作成]を押下し、アクショングループの作成ページを開きます。
※アクショングループが既に存在する場合は、[+アクショングループの選択]を選択し、以下6,7の手順はスキップで問題ありません。
6.[基本]タブにて、4項目(サブスクリプション、リソースグループ、アクショングループ名、表示名)を任意で入力します。
7.[通知]タブにて、任意の通知先をご入力後、[確認および作成] > [作成]でアクショングループの設定を完了します。
8.[詳細]タブにて、4項目(サブスクリプション、リソースグループ、アラートルール名、アラートルールの説明)を任意で入力します。
(今回の検証では、アラートルール名は「OSDisk_DL」、アラートルールの説明は「VM(OSディスク)のダウンロード操作が行われました。」と設定します。)
9.[確認および作成]にて、[作成]を押下し、アラートルールの設定を完了します。
今回設定したアラートルールにより、OSディスクがダウンロードされた際は、約5分程度で下記の様なメールが届きました。
■ストレージアカウントのダウンロード検知について
ストレージアカウントがダウンロードされた際、アクティビティログ“List Storage Account Keys“が発生しました。
しかし、メニューから「コンテナー」リンクを押下した際や、アクセスキー変更時、また暗号化の種類を変更した場合なども同様のログが発生するため、
当ログを検知対象に設定しても検知をダウンロードに絞ることができず、ストレージアカウントのダウンロード検知は不可能ということがわかりました。
■おわりに
今回の検証により、間接的ながらもOSディスク(VM)のダウンロード検知は可能であることが分かりました。
ストレージアカウントに関しては、ダウンロード検知が出来なかったため、今後動作の詳細が確認出来るアクティビティログになることを期待したいと思います。