Azure AD監査:監査ログの有効化と構成

サイバー脅威とデータ侵害が増加し続ける急速に変化するデジタルの世界で、堅牢なセキュリティ対策を確立することは組織にとって不可欠となりました。Azure Active Directory(Azure AD)はセキュリティを強化する包括的なツールセットを提供し、その重要な側面の1つが監査です。Azure AD内の監査ログとMicrosoft Graphアクティビティログを有効にして構成することで、企業はユーザーのアクティビティ、潜在的な脆弱性、および規制順守に関する貴重な洞察を得ることができます。この記事では、Azure AD監査を開始することの重要性について掘り下げ、これらのログが積極的かつ効果的なセキュリティポジションにどのように貢献するかを強調します。

Azure AD監査:監査ログの有効化と構成

Azure Active Directoryに認証して特定のサービスにアクセスする場合、例えばOffice 365 または別のSaaSアプリケーションにアクセスする場合、Azure ADへの認証ワークフローが試行されます。最初の部分は、ユーザーが指定されたテナント内にいるかどうかを評価し、そうでない場合は、正しいディレクトリ テナントにユーザーをルーティングします。次に、グループのメンバーシップとパスワードを決定します。すべての認証試行は、パスまたは失敗に関係なく、ログに記録されます。

次に、条件付きアクセスポリシーがあります。これらを評価して、ユーザーにアクセスするかどうか、またはブロックするかどうかを決定します。Azure Active Directory内には、いくつかの監査ログがデフォルトでローカルのAzure ADデータベースに保存されます。Azure ADサインインのログエントリは次のようになります。

注意: Azure ADサインインアクティビティは、2つの他の属性と関連しています。デバイス情報および条件付きアクセスポリシー。

ログエントリ

このログエントリーによると、特定のユーザーがAzure PowerShellクライアントを使用してAzureにログインし、適用されている条件付きアクセスポリシーが存在しなかったことが示されています。考慮すべき最も重要な点は次のとおりです:

1. トラフィックが正常に認証された場合、それは既知の場所およびデバイスから発信されていますか?
2.認証に失敗した場合、失敗の理由は何ですか?

これらのイベントはシステムが記録するものであり、活動を通じて確認できます。ただし、デフォルトでは、これらのログをすべてAzure ADデータベース内に保存し、これらのログの保持期間はAzure ADのライセンス(P1またはP2)によって異なります。ただし、Azure ADからログをエクスポートしてLog Analytics Workspaceに保存するように診断を定義するオプションもあります。

注意:当社は、サインインデータをエクスポートするためにAzure AD P1またはP2ライセンスが必要です。

Azure ADログソース

デジタルセキュリティの変化に富んだ風景で、機密データの保護と堅牢なサイバーセキュリティポストを維持することは、組織にとって極めて重要な目標となっています。

  • 監査ログ: これらのログは、Azure AD内で行われたさまざまな管理アクションや変更、ユーザーやグループの管理、アプリケーションの割り当て、ポリシーの変更などの記録を提供し、ディレクトリの管理に対する洞察を提供します。

  • サインインログ: これらは認証活動を追跡し、ユーザー、アプリケーション、およびサービスプリンシパルによるサインイン試行の成功および失敗に関する詳細をキャプチャし、不正アクセスや不審な振る舞いの検出を支援します。

  • 非対話型ユーザーのサインインログ: これらのログは、ユーザーによる非対話型(プログラムによる)サインインに焦点を当てており、自動化されたプロセスやスクリプトでよく見られます。これにより、サービス アカウントと自動化されたアクティビティに対する可視性が向上します。

  • サービス プリンシパルのサインインログ: これらは特に、アプリケーションがリソースにアクセスするために使用するアイデンティティであるサービス プリンシパルによるサインインの活動を追跡します。これらのログの監視は、アプリケーションのアイデンティティの異常な振る舞いや潜在的な誤用を特定するのに役立ちます。

  • 管理されたアイデンティティのサインインログ: Azure リソースが Azure AD と認証するために使用されます。これらのログは、管理されたアイデンティティのサインイン活動を記録し、リソースレベルのアクセスパターンを理解するのに役立ちます。

  • プロビジョニングログ: オンプレミスのディレクトリと Azure AD 間のユーザーおよびグループの同期アクティビティに対する洞察を提供し、データの整合性と正確性を確保するのに役立ちます。

  • ADFS サインインログ: Active Directory Federation Services (ADFS) のログは、フェデレーションを介したサインイン試行を追跡し、フェデレーテッド環境でのリソースへのユーザーのアクセスに関する情報を提供し、外部アクセスパターンの監視を支援します。

監査ログの重要性

各ログタイプは、Azure AD 環境内でのセキュリティの向上、活動のモニタリング、およびコンプライアンスの維持において異なる役割を果たします。ログを Sentinel とともに Log Analytics に移動する場合、疑わしい行動があった場合に自動的にアラートをトリガーする分析クエリを作成するオプションもあります。

注意: また、データを Azure Storage アカウントおよび Azure Event Hub にエクスポートするオプションもあります。たとえば、さまざまなワークスペースにデータを送信するための複数のエクスポートフローを定義します。まず、ログする異なる EventID を理解する必要があります。Also Read Get-AzureADAuditSignInLogs – Find Sign In Logs Last 30 Days PowerShell

Azure ADをモニタリングする際のベストプラクティス

Log AnalyticsとAzure Sentinelはデータを分析するためにKustoクエリを使用します。Kustoはポータルの一部として驚くほど良いビジュアライザを備えた読み取り専用クエリ言語です。私たちが作成する異なるルールがあります。ハンティングルールを使用して探索し(定期的に実行されるわけではありませんが)、2番目に、予め定義されたスケジュールで実行される分析ルールがあります。

典型的に使用されるハンティングルールの1つの例は、私たちのサインインからのログオン場所を特定するためのシンプルなものです。

SigninLogs
| summarize count() by Location

もう1つの良い例は、エラーコードが50126または50020であるAzure ADへのログイン試行の失敗を示すものです。

SigninLogs
| where ResultType in ("50126", "50020")
| extend OS = DeviceDetail.operatingSystem, Browser = DeviceDetail.browser
| extend StatusCode = tostring(Status.errorCode), StatusDetails = tostring(Status.additionalDetails)
| extend State = tostring(LocationDetails.state), City = tostring(LocationDetails.city)
| summarize StartTime = min(TimeGenerated), EndTime = max(TimeGenerated), IPAddresses = makeset(IPAddress), DistinctIPCount = dcount(IPAddress),
makeset(OS), makeset(Browser), makeset(City), AttemptCount = count()
by UserDisplayName, UserPrincipalName, AppDisplayName, ResultType, ResultDescription, StatusCode, StatusDetails, Location, State
| extend timestamp = StartTime, AccountCustomEntity = UserPrincipalName
| Sort by AttemptCount

ここで、異なる例は、MFA認証試行に失敗したユーザーを見ることです。

SigninLogs
| where TimeGenerated >= ago(31d)
| where ResultType == "50074"

そしてもう1つの例は、外部ゲストユーザーと条件付きアクセスポリシーに対して行われた変更を調べることです。

AuditLogs
| where Category == "UserManagement"
| where OperationName == "Invite external user" or OperationName == "Redeem external user invite"
AuditLogs | where Category == "Policy" |
 project ActivityDateTime, ActivityDisplayName , TargetResources[0].displayName, InitiatedBy.user.userPrincipalName

これらがKustoを介して実行する唯一のクエリではないことに注意してください。

また、ユーザーサインイン(成功失敗)のAzure AD監査ログを確認してください

Microsoft Graphアクティビティログを使用した新しいAzure AD監査ログ

Microsoftは新しいAzure AD監査ログを導入しました。これらのログをログ分析ワークスペースに保存しています。2023年3月14日にAzure Active Directoryの診断設定で新しいMicrosoft Graphアクティビティログが導入されました という新しいログが導入されましたMicrosoftGraphActivityLogs、その他の一覧されたログファイルと共に。

特に、これらのログファイルにはAPIリクエストの詳細が記録されており、テナント内のMicrosoft Graphリソースに対するものです。EnrichedOffice365AuditLogsは、トラブルシューティングに非常に役立つ別のエキサイティングなログファイルです。幸いにも、Azure Active Directory(Azure AD)の診断設定により、ログやメトリックスを設定して、Azure ADの活動を監視・分析するテナントのためのものです。

診断設定を作成すると、監査ログ、サインインログ、ディレクトリログなど、収集したいデータのタイプと、ストレージアカウント、イベントハブ、またはログ分析ワークスペースなど、データを送信したい場所を指定します。Microsoft Graph アクティビティログは、Azure AD テナント内のリソースに対する Microsoft Graph へのすべての API リクエストを包括的に記録します。したがって、これらのログはリクエストの性質、リクエストを行ったユーザーまたはアプリケーション、アクセスするリソース、および実行された具体的なアクションに関する詳細な情報を提供します。

新しい Azure AD 監査ログの概要

MicrosoftのGraphアクティビティログは、管理者と開発者がテナント内のMicrosoft Graphの使用パターンを監視および分析するのに役立ちます。また、潜在的な問題や異常を特定し、アプリケーションやユーザーのパフォーマンスを追跡し、リソースの使用を最適化する手助けをします。

Microsoftは以下の新しいAzure ADログを導入しました。これらのデータは選択したLog Analyticsワークスペースに送信されます。当組織では、Azure AD P1またはP2ライセンスが必要です。これにより、サインインデータをエクスポートできます。Azure AD P1またはP2ライセンスが必要です。以下はその一例です:

  1. NetworkAccessTrafficLogs
  2. RiskyServicePrincipals
  3. ServicePrincipalRiskEvents
  4. EnrichedOffice365AuditLogs
  5. MicrosoftGraphActivityLogs

また、Azure ADユーザーのアクティビティを監視することがセキュリティ上重要である理由

Microsoft Graphアクティビティログ

全体的に、MicrosoftGraphActivityLogsはMicrosoftの管理および監視を行うための強力な診断ツールとして機能します。強力なGraphの使用状況を管理および監視するための診断ツールとして、MicrosoftGraphActivityLogsのカテゴリとソリューションを以下のリストとスクリーンショットで示します:

  • カテゴリ
    • 監査カテゴリ: 管理者の変更を記録し、コンプライアンスをサポートします。
    • セキュリティカテゴリ: サインインとアクセスを監視し、脅威検出を支援します。
  • ソリューション
    • ログ管理ソリューション:セキュリティプラクティスを効率化し、積極的な対応を可能にします。

公式のMicrosoftドキュメンテーションでMicrosoft Graphアクティビティログの列と属性の完全なリストを参照してください。

Azure Active Directory(Azure AD)のMicrosoft Graphアクティビティログ

プラットフォームログおよびメトリクスのストリーミングエクスポートは、診断設定を使用して構成したリソースに対して行われます。最大5つの診断設定を作成して、ログとメトリクスを独立した宛先に送信できます。

  •  Azure AD ブレードで
  • 左側のメニューから診断設定 を選択
  • 診断設定には新しいMicrosoft Graphアクティビティログが表示されます

Microsoft Graphアクティビティログの診断設定

スクリーンショットの上に診断設定を追加をクリックして、Microsoft Graphアクティビティログを設定します。Microsoft Graphアクティビティログは、他のAzure AD診断ツールと組み合わせて、Azure AD環境のセキュリティと信頼性を確保します。セキュリティと信頼性を確保します。

また、InfraSOS Office 365 Reporting & Auditing Platformを試してみるRead

Azure AD監査:監査ログの有効化と設定の結論

結論として、Azure AD監査を受け入れ、監査ログとMicrosoft Graphアクティビティログを有効にして設定することは、より高度なセキュリティとコンプライアンスを求める組織にとって重要です。これらのログは、ユーザーのアクティビティを追跡し、脅威を検出し、規制基準を満たすための貴重な洞察を提供します。これらのログを組み合わせることで、組織は積極的にセキュリティ戦略を強化しますが、持続的な効果を確保するためには、Azure ADの機能のモニタリングと最新情報の把握が重要です。

Source:
https://infrasos.com/azure-ad-auditing-enabling-and-configuring-audit-logs/