次の方法で共有


Azure Arc 対応サーバーのセキュリティの概要

この記事では、Azure Arc 対応サーバーを使うときに使用可能なセキュリティに関する考慮事項と制御について説明します。 セキュリティ業務従事者であっても IT オペレーターであっても、この記事の情報を利用すれば、組織のセキュリティ要件を満たすように自信を持って Azure Arc を構成できます。

役割

Azure Arc 対応サーバーのデプロイのセキュリティは、お客様と Microsoft の間の共同責任です。 Microsoft の責任は次のとおりです。

  • システム メタデータを格納するクラウド サービスのセキュリティ保護と、サービスに接続するエージェントに関する操作の調整。
  • Azure に格納されているシステム メタデータのプライバシーをセキュリティで保護します。
  • デプロイ オプションの利点と欠点を理解できるように、オプションのセキュリティ機能を文書化します。
  • セキュリティ、品質、パフォーマンス、機能が向上した定期的なエージェント更新プログラムを公開します。

お客様の責任は次のとおりです。

  • Azure サブスクリプション内の Azure Arc 対応リソースへの RBAC アクセスを管理および監視します。
  • Azure Arc 対応サーバーの管理に使用されるアカウントの資格情報を保護し、定期的にローテーションします。 これには、新しいサーバーのオンボードに使用されるサービス プリンシパルのシークレットまたは資格情報が含まれます。
  • このドキュメントで説明されているセキュリティ機能 (拡張機能許可リストなど) を、デプロイする Azure Connected Machine エージェントに適用するかどうか、またどのように適用するかを決定します。
  • Azure Connected Machine エージェントと拡張機能を最新の状態に保ちます。
  • Azure Arc が組織の法律、規制、および内部ポリシーの義務に準拠しているかどうかを判断します。
  • サーバーの実行に使用されるコンピューティング、ストレージ、ネットワーク インフラストラクチャを含むサーバー自体をセキュリティで保護します。

アーキテクチャの概要

Azure Arc 対応サーバーは、エージェントベースのサービスです。 Azure Arc の操作は、主に Azure の API、ポータル、管理エクスペリエンスを通じて行われます。 Azure で表示されるデータと実行するアクションは、各マネージド サーバーにインストールされている Azure Connected Machine エージェントを介して中継されます。 Azure はエージェントの信頼できる情報源です。 エージェントに何かを行うように指示する唯一の方法 (拡張機能のインストールなど) は、サーバーの Azure 表現に対してアクションを実行することです。 これにより、変更が行われる前に、組織の RBAC とポリシーの割り当てが要求を確実に評価できるようになります。

Azure Connected Machine エージェントは主に、他の Azure サービスやサード パーティ サービスの有効化プラットフォームです。 そのコア機能は次のとおりです。

  • マシンと Azure サブスクリプションの間の関係を確立する
  • Azure での認証時に使用するエージェントと他のアプリにマネージド ID を提供する
  • 拡張機能を使用して他の機能 (エージェント、スクリプト) を有効にする
  • サーバー上の設定を評価して適用する

Azure Connected Machine エージェントをインストールすると、サーバー上で他の Azure サービスを有効にして、監視、パッチ管理、リモート アクセス、またはその他のニーズを満たすことができます。 Azure Arc の役割は、これらのサービスが Azure 独自のデータセンターの外部で機能できるように支援することです。

Azure Policy を使用して、組織のユーザーが Azure Arc で実行できることを制限できます。Azure Policy のようなクラウドベースの制限は、いつでも制限を調整できる柔軟性を維持しながら、セキュリティ制御を大規模に適用するための優れた方法です。 ただし、正当な特権アカウントがセキュリティ対策 (ポリシーの無効化など) を回避するための使用されるのを保護するために、さらに強力な制御が必要な場合があります。 これを考慮して、Azure Connected Machine エージェントには、クラウドに設定されている制限よりも優先される独自のセキュリティ制御もあります。

Azure Connected Machine エージェントがどのように機能するかを説明するアーキテクチャ図。

エージェント サービス

Azure Connected Machine エージェントは、サーバー上で実行され、Azure との接続に役立つ 4 つのサービス/デーモンを組み合わせたものです。 これらは 1 つのアプリケーションとしてまとめてインストールされ、azcmagent コマンド ライン インターフェイスを使用して一元管理されます。

Hybrid Instance Metadata Service

Hybrid Instance Metadata Service (HIMDS) はエージェントの "コア" サービスであり、Azure へのサーバーの登録、継続的なメタデータ同期 (ハートビート)、マネージド ID 操作、他のアプリがクエリを実行して Azure とのデバイスの接続について知ることができるローカル REST API のホストを担当します。 このサービスは特権を持たず、Windows では仮想アカウント (SID S-1-5-80-4215458991-2034252225-2287069555-1155419622-2701885083 の NT SERVICE\himds) として、または Linux オペレーティング システムでは標準ユーザー アカウント (himds) として実行されます。

拡張機能マネージャー

拡張機能マネージャーは、マシン上の追加ソフトウェアのインストール、構成、アップグレード、削除を担当します。 そのままでは、Azure Arc はマシンの監視やパッチ適用などの方法を知りません。 代わりに、これらの機能の使用を選ぶと、拡張機能マネージャーによってそれらの機能がダウンロードされ、有効になります。 拡張機能マネージャーは、インストールされるソフトウェアには完全なシステム アクセスが必要な場合があるため、Windows ではローカル システムとして、Linux では root として実行されます。 拡張機能マネージャーがインストールできる拡張機能を制限したり、拡張機能を使用しない場合は完全に無効にしたりできます。

ゲスト構成

ゲスト構成サービスは、サーバー上の Azure マシン (ゲスト) 構成ポリシーを評価し、適用します。 これらは、サーバー上のソフトウェア設定を確認するために PowerShell Desired State Configuration で記述された特別な Azure ポリシーです。 ゲスト構成サービスは、これらのポリシーへのコンプライアンスを定期的に評価および報告し、ポリシーが適用モードで構成されている場合は、必要に応じてシステムの設定を変更してマシンをコンプライアンス状態に戻します。 ゲスト構成サービスは、Windows ではローカル システムとして、Linux では root として実行され、確実にシステム上のすべての設定にアクセスできるようにします。 ゲスト構成ポリシーを使用しない場合は、ゲスト構成機能を無効にすることができます。

Azure Arc プロキシ

Azure Arc プロキシ サービスは、Azure Connected Machine エージェント サービスとインストールされている拡張機能からのネットワーク トラフィックを集計し、そのデータのルーティング先を決定する役割を担います。 Azure Arc ゲートウェイを使用してネットワーク エンドポイントを簡略化している場合、Azure Arc プロキシ サービスは、既定のルートではなく Azure Arc ゲートウェイ経由でネットワーク要求を転送するローカル コンポーネントです。 Azure Arc プロキシは、Windows ではネットワーク サービスとして、Linux では標準ユーザー アカウント (arcproxy) として実行されます。 Azure Arc ゲートウェイを使用するようにエージェントを構成するまで、既定では無効になっています。

階層 0 の資産のセキュリティに関する考慮事項

Active Directory ドメイン コントローラー、証明機関サーバー、機密性の高いビジネス アプリケーション サーバーなどの階層 0 の資産は、必要な管理関数と許可されているユーザーのみがサーバーを管理できるように、細心の注意を払って Azure Arc に接続できます。 これらの推奨事項は必須ではありませんが、階層 0 の資産のセキュリティ態勢を維持するために強く推奨されます。

専用 Azure サブスクリプション

Azure Arc 対応サーバーへのアクセスは、多くの場合、Azure 内で属する組織階層によって決まります。 サブスクリプション管理者または管理グループ管理者は、アクセス許可を使用して Azure Arc リソースに新しいロールの割り当てを追加できるため、階層 0 の資産のローカル管理者と同等に扱う必要があります。 さらに、サブスクリプションまたは管理グループ レベルで適用されるポリシーにも、サーバーに変更を加えるアクセス許可がある場合があります。

階層 0 の資産にアクセスできるアカウントとポリシーの数を最小限にするには、できる限り少ない常駐管理者で厳密に監視および構成できる専用の Azure サブスクリプションの使用を検討してください。 親管理グループの Azure ポリシーを確認して、これらのサーバーの意図と一致していることを確認します。

不要な管理機能を無効にする

階層 0 の資産の場合、ローカル エージェントのセキュリティ制御を使用して、エージェント内の使用されていない機能を無効にし、サーバーに変更を加えるためにこれらの機能が意図的または偶発的に使用されることを防ぐ必要があります。 これには、次のものが含まれます。

  • リモート アクセス機能の無効化
  • 使用する拡張機能の拡張機能許可リストを設定するか、拡張機能を使用していない場合は拡張機能マネージャーを無効にする
  • マシン構成ポリシーを使用しない場合、マシン構成エージェントを無効にする

次の例は、マルウェアの脅威から保護するために、Azure Monitor エージェントを使用して Microsoft Sentinel および Microsoft Defender for Servers のセキュリティ ログを収集する必要があるドメイン コントローラーの Azure Connected Machine エージェントをロック ダウンする方法を示しています。

azcmagent config set incomingconnections.enabled false

azcmagent config set guestconfiguration.enabled false

azcmagent config set extensions.allowlist “Microsoft.Azure.Monitor/AzureMonitorWindowsAgent,Microsoft.Azure.AzureDefenderForServers/MDE.Windows”