既定の M365 監査ログが危険な外部共有を隠している理由
By Mirko Peters ·
ブログへようこそ。Microsoft 365 テナントを管理しているなら、組み込みの監査ログが守ってくれていると信じて、安心して夜を過ごしているかもしれません。Microsoft は堅牢なセキュリティとコンプライアンス機能を標準で提供しているのだから、当然そうですよね。残念ながら、SharePoint と OneDrive の外部共有に関しては、既定の設定に頼ることは大きな事故につながります。監査が有効になっているので、すべてのファイル移動、ゲストのサインイン、リンク作成が確実に追跡され、簡単に確認できると多くの組織が考えています。しかし実際には、既定の M365 監査ログが、危険な外部共有の操作を目に見えない形で隠している可能性が高いのです。
Automatically translated with AI from the original post. Read the English original
ブログへようこそ。Microsoft 365 テナントを管理しているなら、組み込みの監査ログが守ってくれていると信じて、安心して夜を過ごしているかもしれません。Microsoft は堅牢なセキュリティとコンプライアンス機能を標準で提供しているのだから、当然そうですよね。残念ながら、SharePoint と OneDrive の外部共有に関しては、既定の設定に頼ることは大きな事故につながります。監査が有効になっているので、すべてのファイル移動、ゲストのサインイン、リンク作成が確実に追跡され、簡単に確認できると多くの組織が考えています。しかし実際には、既定の M365 監査ログが、危険な外部共有の操作を目に見えない形で隠している可能性が高いのです。
この包括的なガイドでは、Microsoft 365 の監査における死角を明らかにし、なぜ 90 日の保持期間が最新のコンプライアンスには不十分なのかを解説します。さらに、扱いにくい膨大なデータの奔流を、的確で実行可能なセキュリティインテリジェンスに変えるために必要な技術的な設計図を順を追って説明します。目隠しをした状態で運用するのをやめ、コラボレーション環境を完全に掌握できるよう、一緒に深く掘り下げていきましょう。
既定の M365 監査ログが危険な外部共有を隠している理由
Microsoft 365 管理における最大の落とし穴は、「監査が有効」という状態を完全な可視性と同じだと考えてしまうことです。しかし、そうではありません。既定では、標準のテナント設定では重要な詳細イベントが記録されません。特に、匿名リンクの作成、ゲストユーザーによるリンクの利用、特定のファイルアクセス操作がその対象です。機密性の高い財務スプレッドシートに対してユーザーが「組織外のユーザーを含め、リンクを知っている全員」のアクセス許可を匿名で作成し、外部の人物がそのファイルをダウンロードした場合、標準の既定の監査クエリでは、その利用イベントを完全に見逃す可能性があります。
さらに、標準の監査ログの保持期間は既定で 90 日しかありません。多くの内部調査、コンプライアンス監査、そして潜伏期間が 3 か月を超える高度なサイバー攻撃においては、これでは不十分です。ログは跡形もなく消えてしまいます。そもそもデータが記録されていなければ、SIEM も自動化スクリプトも、フォレンジック調査担当者も救うことはできません。下流の自動化やセキュリティオーケストレーションに取り組む前に、まず基盤となる監査の範囲を整える必要があります。
監査の基盤を整える(必須の設定)
PowerShell を 1 行書いたり、アラートを設定したりする前に、テナントの基本構成を強化する必要があります。すぐに実施すべき必須の手順は次のとおりです。
- Exchange Online PowerShell または Microsoft Purview コンプライアンス ポータルを使用して、テナント レベルで SharePoint と OneDrive の拡張監査を有効にします。
- リンクの作成とリンクの利用の両方についてログが有効になっていることを明示的に確認します。特に匿名リンクとゲスト リンクに注意してください。
- 最新のコンプライアンス フレームワークや内部調査の要件を満たすため、監査ログの保持ポリシーを既定の 90 日よりも大幅に延長します(180 日から 365 日を推奨します)。
- 新しく作成される SharePoint サイトと Microsoft 365 グループが、手作業を介さずにこの強化された監査設定を自動的に継承するよう、サイトのプロビジョニング ポリシーを標準化します。
ノイズを信号に変える(正しい PowerShell の使い方)
監査ログが適切なデータを確実に記録するようになると、次にもう一つのことに気づくはずです。生の監査データの奔流は非常に騒がしいのです。そのまま取得すると、日常的なイベントが何千件も出力され、運用上の大きな疲弊を招きます。このデータを役立てるには、目的を持ってクエリを実行し、すべての行に文脈情報を付加する必要があります。
SharingCreated、SharingSet、AnonymousLinkCreated、AnonymousLinkUsed、AccessRequestApproved などの高リスクイベントにクエリの焦点を絞ります。そのうえで、すべての行に重要な文脈情報を付加します。
- 送信先ドメインの分類: ドメインを、取引先企業、社内ドメイン、個人向けドメイン(gmail.com、yahoo.com、outlook.com など)に自動的に分類します。
- ファイルの秘密度とコンテナーのコンテキスト: 対象ファイルの Microsoft Purview 秘密度ラベルと、親となるサイトまたは OneDrive のコンテナーを対応付けます。
- 操作ユーザーのリスクコンテキスト: 操作を実行しているユーザーを人事システムや ID システムと照合し、退職予定の従業員、重要人物、侵害されたアカウントにフラグを付けます。
主観的な推測に頼るのではなく、厳格なルールを適用します。機密性の高いファイルラベルと外部の個人用ドメインの組み合わせは、即座に高リスクと判定します。結果は次の2つの成果物として出力します。人によるレビューが必要な10~50行の「アクションキュー」と、SIEM や BI ツール向けに完全に正規化された「証跡ログ」です。
実際に機能するリアルタイムアラート
「すべての外部共有にアラートを出す」という方針は見直してください。この方針では件数が多すぎて、セキュリティ運用チームがアラートを無視するようになってしまいます。代わりに、階層化されたアラートポリシーのマトリックスを構築します。
- 事前に承認されたパートナーの許可リストに含まれない外部の受信者に、機密ラベルの付いたファイルが共有されたら、直ちに SecOps へアラートを送信します。
- 機密ファイルに対して匿名リンクが作成された場合は、アラートを出すと同時に、そのリンクを期限切れにする自動スクリプトを実行します。
- 短時間に単一ユーザーが大量の外部共有を実行するなど、異常な頻度に注意します。該当した場合は、通知とともに一時的なスロットルを適用します。
アラート疲れを防ぐため、必ずクールダウン期間と重複排除の仕組みを組み込みます。アラートは、担当者、対応手順書、ワンクリックで元に戻せるロールバックリンクが明確に定義された、専用のチケットキューまたは SecOps チャネルへ直接送ります。
エンタープライズ規模への拡張
手動のスクリプトや週次の CSV エクスポートは、組織が数百ユーザーを超えると早々に破綻します。回復力のあるエンタープライズ向け監視エンジンを構築するには、Azure Automation または Azure Logic Apps による堅牢な自動化基盤が必要です。そこでは、7 日間のローリングデルタと月次のバックフィルを実行します。
最後のカーソル位置から適切に再開できるよう、厳密なページング処理とチェックポイントを実装し、API のスロットリング(HTTP 429 エラー)も適切に処理します。自動化によって新しくプロビジョニングされたサイトを継続的に検出し、ベースラインの監査ルールとラベル付けルールを自動的に適用されるようにします。最後に、パイプラインの状態を監視します。想定されるイベント量が急に減少した場合は、監査データの取り込みパイプラインが壊れている可能性があるため、自動アラートを設定します。
今週すぐに取り組める成果
経営層に即効性のあるリスク低減を示す必要がある場合は、以下の「すぐに効果が出る施策」を数日以内に実施してください。
- Purview ポータルで匿名リンクの利用ログを有効にし、保持期間を延長します。
- Gmail、Yahoo、Hotmail などの無料メールサービスにフラグを立てるための、基本的な「個人用ドメイン」の拒否リストを作成します。
- 財務部門と人事部門のドキュメントライブラリに機密性ラベルを適用し、ポリシーによって匿名リンクの作成をブロックします。
- ファイルの所有者と、ワンクリックで共有を取り消せるリンクを含めた「リスクの高い共有 上位 10 件」の週次ダイジェストを、IT 管理者に送信します。
- 10 分間に 5 回以上の外部共有を実行したユーザーを検出する、バースト検出ルールを作成します。
30 日間の展開計画(概要)
実装を構造化して管理しやすくするため、段階的な 30 日間の展開ロードマップに従ってください。
- 1 週目: 監査ポリシーの強化、保持期間の延長、ベースラインのエクスポートの確立、ドメインの許可リストと拒否リストの定義を行います。
- 2 週目: ラベルとドメインを対象とした PowerShell によるエンリッチメントスクリプトの実装、リスクスコアリングマトリックスの構築、トリアージ用のアクションキューの確立を行います。
- 3 週目: 重複排除、クールダウン期間、高リスクの露出に対する自動リンク期限切れ処理を備えたリアルタイムアラートルールを展開します。
- 4 週目: Azure Automation または Logic Apps による自動化の拡張、経営層向け Power BI ダッシュボードの構築、運用手順書の確定を行います。
経営層と運用の KPI
外部共有のガバナンスプログラムの継続的な成果を測定するため、以下の主要業績評価指標(KPI)を追跡してください。
- 外部への露出の速度: 1 日あたりに作成された新しい外部リンクの数です。サイト、機密性ラベル、宛先ドメインごとに分類します。
- 機密情報の漏えい率: 機密ラベルの付いたファイルが、承認されていないパートナー以外のドメインに共有される頻度です。
- 失効までの待機時間: リスクの高い共有が発生した時点から、アクセス権の取り消しが正常に完了するまでの平均時間です。
- バースト異常: 定義された共有のしきい値を超えたユーザーの発生頻度です。
- 自動修復の適用率: ポリシーによって自動的に期限切れになった、またはブロックされたリスクのあるリンクの割合です。
避けるべきよくある落とし穴
監査と修復の戦略を構築する際は、次のような頻出のミスを意識的に避けてください。
- デフォルトの監査設定と標準の90日保持期間を、何も考えずに頼り切ること。
- 文脈情報の付与やトリアージのキューがないまま、「すべてをエクスポート」するスクリプトを展開すること。
- 「すべてをアラート」する過度に広いルールを作成し、セキュリティ担当者が通知を無視するように仕向けてしまうこと。
- 新しいコラボレーション空間を動的に検出せず、サイト一覧を固定値としてハードコードすること。
- ガバナンスを継続的な自動化プロセスとしてではなく、一度きりの整理プロジェクトとして扱うこと。
手元に用意しておきたいプレイブック
ヘルプデスクとセキュリティチームには、明確で繰り返し実行できるインシデント対応プレイブックを用意しておきましょう。
- 外部共有のリンク取り消しと通知: 不正な共有リンクを直ちに無効化し、自動通知でファイル所有者に知らせ、再共有は承認済みのパートナー ドメインを経由する場合に限定します。
- 退職者の共有の一括確認: 退職予定のユーザーに関連付けられたすべての OneDrive 共有を列挙し、個人向けコンシューマー ドメインに付与されたアクセスを自動的に取り消し、所有権を直属の上司に引き継ぎます。
- VIP監視: 役員レベルのコンテンツに関わるすべてのアクティビティに対して、異常検知のしきい値を厳しくし、リンクの有効期限を短くし、即時にページング通知を行います。
結論
把握し、評価し、止める。まず監査の基盤を整え、生のイベントに意味のあるビジネス文脈を付与し、ノイズを生まないように賢くアラートを設定し、すべてを自動化することで、真にエンタープライズ規模の運用を実現する必要があります。こうして初めて、ビジネスのコラボレーションを速く、円滑に、安全に保ちつつ、重要な社内データを社外に出さずに守ることができます。
テナントの強化と、大きな被害が起きる前の情報漏えいの兆候の検出について詳しく知りたい方は、関連するポッドキャストのエピソード Detect Risky SharePoint and OneDrive External Sharing もぜひご覧ください。これらの戦略をさらに詳しく解説し、M365 セキュリティを習得する手助けとなります。