検索
連載

Microsoft Azureプラットフォームログのセキュリティモニタリングはどうやるかクラウドセキュリティモニタリングのベストプラクティス(3)(2/3 ページ)

クラウド/クラウドネイティブのログをセキュリティの観点でモニタリングするベストプラクティスを紹介する本連載。第3回はMicrosoft Azureプラットフォームログのセキュリティモニタリングについて解説する。

Share
Tweet
LINE
Hatena

アクティビティログ

 Azureのアクティビティログ(ADアクティビティログのサブタイプと混同しないように注意が必要だ)は、仮想マシンの起動や、Azureパイプライン構成の編集など、Azure サブスクリプション内のリソースに対して実行された作成や変更( PUT 、 POST および DELETE 操作)を記録する。各アクティビティログには、操作を実行したユーザー、操作が実行されたリソース、操作が実行された日時、操作が成功したかどうかなどの重要なイベントの詳細情報が含まれる。

 アクティビティログには幾つかのカテゴリがあるが、サブスクリプションレベルのアセットに対するアクションの大半は、設定の変更に関連していることから、 Categoryフィールドの「Administrative」または「Policy」の値を頻繁に確認することになるはずである。

 アクティビティログを保存してアクセスするには、Azureのログ管理ツールである「Log Analytics」にワークスペースを作成する必要がある。ワークスペースを作成したら、AzureポータルのサイドナビゲーションバーまたはAzure CLIを使用してAzureポータルのログにアクセスできる。

 以下のスニペットは、Administrativeタイプのアクティビティログであり、「Caller: john.doe@datadoghq.com.onmicrosoft.com」がネットワークセキュリティグループ( "authorization.action": "Microsoft.Network/networkSecurityGroups/write" )を正しく更新したことを示している。ログのauthorization.scopeフィールドは、ネットワークセキュリティグループがどのサブスクリプションとリソースグループの一部であるか、また、どのアクセス権限でユーザーが設定を変更できたかを識別するのに役立つ。

リソースログ

 リソースログは、「Azure Key Vault」の保管庫(Vault)「Azure SQL Database」の読み取りや書き込みなど、既存のAzureリソースで発生した全てのアクションの詳細を記録する。アクティビティログと同様に、リソースログにも標準化されたフィールドのスキーマが含まれ、リクエストが作成されたリソースのID(また、リソースが属するサブスクリプションとリソースグループのID)、リクエストのタイムスタンプ、およびリクエストが成功したかどうかなどの重要な情報が提供される。アクティビティログと同様に、リソースログを保存してアクセスするには、Log Analyticsのワークスペースを作成する必要がある。

 リソースログには多くのタイプが存在する。上記のAzure ADとアクティビティログのセクションで説明していない Categoryタイプのログはリソースログと考えていいだろう。リソースログのカテゴリは、変更されているリソースのタイプによって異なり、 Executionや Requestなど実行されたアクションの「スコープ」を示すことが多くある(リソースログのカテゴリの詳細なリストはAzureのドキュメントを参照)。

 Azure ADやアクティビティログと異なり、Azureサービスのログは大量に生成されるため、デフォルトではリソースログは出力されないことに注意してほしい。リソースログの収集を有効にするためには、診断設定を作成し、そのログを受信するLog Analyticsワークスペースを指定する必要がある。このプロセスについては、このセクションの後半で説明しよう。

 以下の要約されたサンプルのリソースログは、 caller: john.doe@datadoghq.com.onmicrosoft.comが新しいキー( OperationNameValue:Microsoft.KeyVault/vaults/write )をAzure Key Vaultのインスタンスに正しく追加したことを示している。

 Azureログの各タイプには固有のフィールドがあるが、全てのログに、自社環境で発生したアクションを追跡するために役立つ幾つかの共通の情報が含まれている。 callerフィールドは特に重要であり、記録されたアクションを実行したユーザーまたはサービスのIDを確認できる。同様に、上記のセクションで説明したように、各ログにはcategoryフィールドがあり、そのログのタイプを判別する上で役立つ。ADログのcategoryフィールドには、「Sign-in」「Policy」または「Audit logs」が指定される。アクティビティログのcategoryフィールドには、通常、AdministrativeまたはPolicyが指定される。リソースログのcategoryフィールドにはそれ以外の値が指定される。例外はあるが、これは、Azureログを理解するために必要な知識である。

 Azureのアクティビティログとリソースログには、「ResourceGroup」「SubscriptionId 」「ResourceId」 など、操作対象となったリソースに関する情報も含まれる。これらの値を使用して、リソースのアクセス権限がどこで設定されているのか、そして、ユーザーやサービスがその権限に基づいてどのような操作が可能になったのかを把握できる。これにより、過剰な権限が付与されているユーザーを特定することができる。

 最後に、各ログには「実行された操作の名前( OperationName)」「操作のステータス( ActivityStatus )」「リクエストが実行された時間( TimeGenerated )」「一意な OperationId 」が含まれる。 OperationIdを使用して、後で操作を追跡したり、後のAPIコールに操作の詳細を追加したりできる。次のセクションでは、各タイプの重要な幾つかのAzureプラットフォームログと、それらのログを監視して可能な限り安全な環境を維持するための方法について説明する。

Copyright © ITmedia, Inc. All Rights Reserved.

[an error occurred while processing this directive]
ページトップに戻る