>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
HTML

MaesterでMicrosoft 365のセキュリティチェックを自動化する

Microsoft 365の設定は通常、良好な意図を持って始まります:条件付きアクセスが構成され、管理者には多要素認証が有効化され、機密グループへのゲストアクセスが制限されます。半年が経過し、チームメンバーが変わり、誰かが迅速な修正のためにルールを無効にしてから再有効化を忘れます。これは通常、監査中またはインシデント後に発見されます。

Entra IDポータルを通じてテナントの状態を手動で監視したり、エンジニアに毎月何十ものメニューをクリックさせることは面倒で信頼性がありません。自動テストはサーバーインフラストラクチャの構成を検証するために長い間使用されてきました。Maesterプロジェクトは、Microsoft 365環境向けにこのアプローチを適用しています。

Maesterとは

Maesterは、PowerShellと人気のPesterエンジン上に構築されたテストフレームワークです。主な目的は、M365テナントに対して一連のチェックを実行し、セキュリティのベストプラクティスに対して設定を検証し、詳細なレポートを生成することです。

このツールは、Microsoft Graph API、M365管理モジュール、おなじみのPesterテストを統合しています。PowerShellでユニットテストを作成したことがあるなら、Maesterの構文は自然に感じるでしょう。

クイックスタートと起動

始めるにはPowerShellと数コマンドが必要です。インストールはPowerShell Galleryから直接行えます:

Install-Module -Name Maester -Scope CurrentUser

インストール後、作業フォルダを作成し、用意されたテストスイートをダウンロードします:

md ~/maester-tests
cd ~/maester-tests
Install-MaesterTests

テストの実行は2つのステップで構成されます:認証とランナーの呼び出しです。

cd ~/maester-tests
Connect-Maester
Invoke-Maester

Connect-MaesterコマンドはMicrosoft Entraへの認証を要求しますちなみに、USGovやChinaなどのソブリンクラウドと連携するためのパラメータもあります:

Connect-Maester -Environment USGov

機能概要

готовые тесты проверяют базовые настройки: политики условного доступа, статус MFA, конфигурации паролей, параметры внешнего общего доступа и роли администраторов. Практическая ценность фреймворка проявляется в нескольких областях.

カスタムPesterテスト

リポジトリの標準セットに制限されません。testsフォルダ内のすべての .tests.ps1ファイルが全体実行の一部になります。組織がSharePointファイルへの一般リンクの作成を禁止している場合、Microsoft Graph APIを通じてこの設定を検証する短いPesterテストを作成します。

複数のレポート形式

結果をHTML、JSON、CSV、Excel、またはMarkdownにエクスポートできます。インタラクティブなHTMLレポートは、監査者に表示したり、内部Webリソースにアップロードするのに便利です。

チャット通知

結果をコンソールで読む必要はありません。スクリプトはMicrosoft Teams、Slack、またはメールで概要を送信します。誰かが夜間に重要なセキュリティポリシーを変更した場合、チームは朝にワークチャンネルでメッセージを確認できます。

CI/CD統合

このフレームワークはDevSecOpsの概念に適合します。スケジュール実行はGitHub Actions、Azure DevOps、またはGitLab CIで 쉽게 설정できます。著者はGitHub Marketplaceでパイプラインサマリーにチェック結果を出力する готовую action (maester365/maester-action) をリリースしました。

注意点

リポジトリの説明で、開発者はExchangeOnlineManagementモジュールバージョン3.9.2の不安定な動作について警告しています。このバージョンでの接続試行はエラーが発生しやすくなっています。問題はMaesterではなくMicrosoftモジュール自体に関連しているため、ExchangeOnlineManagementの以前のバージョンを一時的に使用することをお勧めします。

もう1つの点はテストの鮮度です。Microsoftのセキュリティ基準とAPIは定期的に変更されます。チェックを最新の状態に保つには、Update-MaesterTestsコマンドで最新のテストをたまにプルする必要があります。

まとめ

Maesterは、Microsoft 365テナントを管理するシステム管理者、セキュリティエンジニア、DevOpsスペシャリストに便利です。このツールは、セキュリティ監査を面倒な手作業から自動化されたコード検証のカテゴリに移行させます。テナントの変更を監視し、構成ドリフトに関する通知を受け取りたい場合、このプロジェクトはインフラストラクチャでテストする価値があります。

関連プロジェクト