編集

次の方法で共有


Azure 仮想マシン アクセスの多層保護

Microsoft Entra ID
Azure Bastion
Azure ロールベースのアクセス制御
Microsoft Defender for Cloud
Azure Key Vault

ソリューションのアイデア

この記事ではソリューションのアイデアについて説明します。 クラウド アーキテクトはこのガイダンスを使用すると、このアーキテクチャの一般的な実装の主要コンポーネントを視覚化しやすくなります。 ワークロードの特定の要件に適合する、適切に設計されたソリューションを設計するための出発点として、この記事を使用してください。

このソリューションは、Azure で仮想マシン (VM) を保護し、管理および運営上の目的で攻撃対象領域を最小限に抑えながらアクセシビリティを確保するための多層戦略を提供します。

Microsoft のセキュリティに関するレコメンデーションに沿って、このソリューションには、Microsoft Azure および Entra サービスによって提供されるいくつかの保護メカニズムが組み込まれており、設計によるセキュリティ保護、既定のセキュリティ保護、安全なオペレーションの原則に準拠しています。

  • 設計上のセキュリティ。 このソリューションは、最小限の特権の原則と職務の分離の概念を実装することで、仮想マシンへの非永続的なきめ細かいアクセスを実現します。 これにより、正当な理由でのみ仮想マシンへの承認が付与され、承認されていないアクセスによるリスクが軽減されます。

  • 既定でのセキュリティ保護。 仮想マシンへの受信トラフィックはロックダウンされ、必要な場合にのみ接続が許可されます。 この既定のセキュリティ体制により、ブルート フォース攻撃や分散型サービス拒否 (DDoS) 攻撃など、多くの一般的なサイバー攻撃への露出が最小限に抑えられます。

  • 安全なオペレーション。 継続的な監視を実装し、現在および将来の脅威に対応するためにセキュリティ制御の改善に投資することが重要です。 Microsoft Entra Privileged Identity Management (PIM)、Microsoft Defender for Cloud、Azure Bastion、Azure ロールベースのアクセス制御 (Azure RBAC) カスタム ロールの Just-In-Time (JIT) VM アクセス機能など、さまざまな Azure サービスと機能を使用します。 必要に応じて、Microsoft Entra 条件付きアクセスを検討して、Entra ID または Active Direcory Domain Services と統合されていない場合は、仮想マシンのローカル パスワードを格納するための Azure リソースと Azure Key Vault へのアクセスを規制する必要があります。

考えられるユース ケース

このアーキテクチャの背後にある前提は "多層防御" です。 この戦略では、ユーザーに VM へのアクセスを許可する前に、複数の防御線を張ってユーザーへのチャレンジを実行します。 目標は、次の点を確認することです。

  • 各ユーザーは認証されます。
  • 各ユーザーには正当な意図があります。
  • 通信が安全である。
  • Azure 内の VM へのアクセスが、必要な場合にのみ提供される。

この記事の多層防御戦略とソリューションは、次の多くのシナリオに適用されます。

  • 管理者は、次の状況で Azure VM にアクセスする必要があります。

    • 管理者は、問題のトラブルシューティング、動作の調査、または重要な更新プログラムの適用を行う必要がある。
    • 管理者は、リモート デスクトップ プロトコル (RDP) を使用して、Windows VM またはセキュア シェル (SSH) にアクセスして Linux VM にアクセスする。
    • アクセスには、タスクを実行するために必要な最小限の権限を含める必要があります。
    • アクセスは、限られた時間だけ有効である必要がある。
    • アクセスの有効期限が切れた後、悪意のあるアクセス試行を防ぐために、VM アクセスをロックダウンする必要がある。
  • 従業員は、VM として Azure でホストされているリモート ワークステーションにアクセスする必要があります。 次の条件が適用されます:

    • 従業員は、作業時間中にのみ VM にアクセスする必要がある。
    • セキュリティ システムでは、作業時間外に VM にアクセスする要求を、不要で悪意のあるものと見なす必要がある。
  • ユーザーは Azure VM ワークロードに接続する必要があります。 システムは、マネージド デバイスと準拠しているデバイスからのみ接続を承認する必要があります。

  • システムで多数のブルート フォース攻撃が発生しました。

    • これらの攻撃は、RDP および SSH ポート 3389 および 22 上の Azure VM を対象としています。
    • 攻撃では資格情報の推測が試みられました。
    • このソリューションでは、3389 や 22 などのアクセス ポートがインターネットまたはオンプレミス環境に公開されるのを防ぐ必要があります。

Architecture

ユーザーが Azure VM への一時アクセスを取得する方法を示すアーキテクチャ図。

このアーキテクチャの Visio ファイルをダウンロードします。

データフロー

  1. 認証とアクセスの決定: ユーザーは、Azure ポータル、Azure REST API、Azure PowerShell、または Azure CLI にアクセスするために、Microsoft Entra ID に対して認証されます。 認証に成功すると、Microsoft Entra の条件付きアクセス ポリシーが有効になります。 そのポリシーでは、ユーザーが特定の条件を満たしたかどうかが確認されます。 たとえば、マネージド デバイスの使用や、既知の場所からのサインインなどがあります。 ユーザーが条件を満たしている場合は、条件付きアクセスによって、ユーザーに対して Azure portal または別のインターフェイスを介して Azure へのアクセス権が付与されます。

  2. ID ベースの Just-In-Time アクセス: 承認中に、Microsoft Entra PIM がユーザーに "有資格" 型のカスタム ロールを割り当てます。 資格は必要なリソースに限定され、"永続的" ロールではなく "期限付き" ロールです。 指定した時間内に、ユーザーは Azure PIM インターフェイスを使用して、このロールのアクティブ化を要求します。 その要求では、承認ワークフローを開始したり、ID の検証を求める多要素認証をユーザーに要求したりするなど、他のアクションをトリガーできます。 承認ワークフローでは、別のユーザーが要求を承認する必要があります。 そうしないと、ユーザーにカスタム ロールが割り当てられず、次の手順に進めません。

  3. ネットワーク ベースの Just-In-Time アクセス: 認証と承認の後、カスタム ロールは一時的にユーザーの ID にリンクされます。 その後、ユーザーは JIT VM アクセスを要求します。 そのアクセスにより、RDP の場合はポート 3389、SSH の場合はポート 22 で Azure Bastion サブネットからの接続が開きます。 接続は、VM ネットワーク インターフェイス カード (NIC) または VM NIC サブネットに対して直接実行されます。 その接続を使用して、Azure Bastion では内部の RDP セッションが開きます。 セッションは Azure 仮想ネットワークに限定され、パブリック インターネットには公開されません。

  4. Azure VM への接続: 一時的なトークンを使用して、ユーザーは Azure Bastion にアクセスします。 このサービスを通じて、ユーザーは Azure VM への間接的な RDP 接続を確立します。 接続は限られた時間だけ機能します。 パスワードが Key Vault にシークレットとして保存され、適切なユーザー アカウントへのアクセスを制限するのに十分な RBAC アクセス許可が構成されている場合、ユーザーは Azure Key Vault からパスワードを取得できます。

コンポーネント

このソリューションでは、次のコンポーネントを使用します。

  • Azure Virtual Machines は サービスとしてのインフラストラクチャ (IaaS) オファーです。 Virtual Machines を使用して、オンデマンドのスケーラブルなコンピューティング リソースをデプロイできます。 このソリューションを使用する運用環境では、ワークロードを Azure VM にデプロイします。 その後、VM と Azure 資産の不要な露出をなくすようにします。

  • Microsoft Entra ID は、Azure およびその他のクラウド アプリへのアクセスを制御するクラウドベースの ID サービスです。

  • PIM は、重要なリソースへのアクセスを管理、制御、監視する Microsoft Entra サービスです。 このソリューションでは、このサービスによって次のことが実行されます。

    • 管理者の永続的なアクセスを、標準ロールとカスタム特権ロールに制限します。
    • ID ベースの Just-In-Time アクセスをカスタム ロールに提供します。
  • JIT VM アクセスは、VM へのネットワーク ベースの Just-In-Time アクセスを提供する Defender for Cloud の機能です。 この機能により、VM ネットワーク インターフェイス、または VM ネットワーク インターフェイスを含むサブネットを保護する拒否ルールが Azure ネットワーク セキュリティ グループに追加されます。 このルールでは、VM への不要な通信をブロックすることで、VM の攻撃面を最小限にします。 ユーザーが VM へのアクセスを要求すると、サービスによってネットワーク セキュリティ グループに一時的な許可ルールが追加されます。 許可ルールの優先度は拒否ルールよりも高いので、ユーザーは VM に接続できます。 Azure Bastion は VM への接続に最適です。 ただし、ユーザーは直接的な RDP または SSH セッションを使用することもできます。

  • Azure RBAC は、Azure リソースに対するきめ細かいアクセス管理を提供する承認システムです。

  • Azure RBAC カスタム ロールでは、Azure RBAC の組み込みロールを拡張する方法が提供されます。 これらを使用して、組織のニーズを満たすレベルでアクセス許可を割り当てることができます。 これらのロールでは PoLP がサポートされます。 これらによって、ユーザーがユーザーの目的で必要とするアクセス許可のみが付与されます。 このソリューションで VM にアクセスするには、ユーザーは次のアクセス許可を取得します。

    • Azure Bastion の使用。
    • Defender for Cloud での JIT VM アクセスの要求。
    • VM の読み取りまたは一覧の表示。
  • Microsoft Entra 条件付きアクセスは、リソースへのアクセスを制御するために Microsoft Entra ID が使用するツールです。 条件付きアクセス ポリシーでは、ゼロ トラスト セキュリティ モデルがサポートされます。 このソリューションでは、ポリシーにより、認証されたユーザーだけが Azure リソースにアクセスできます。

  • Azure Bastion では、ネットワーク内の VM に安全かつシームレスに RDP および SSH 接続できます。 このソリューションにおいて、Azure Bastion では、Microsoft Edge、またはHTTPS またはポート 443 のセキュリティで保護されたトラフィック用の別のインターネット ブラウザーを使用するユーザーを接続します。 Azure Bastion では、VM への RDP 接続が設定されます。 RDP ポートと SSH ポートは、インターネットやユーザーの配信元には公開されません。

    Azure Bastion は、このソリューションでは省略可能です。 RDP プロトコルを使用すると、ユーザーは Azure VM に直接接続できます。 Azure 仮想ネットワークでAzure Bastion を構成する場合、AzureBastionSubnet という名前の別のサブネットを設定します。 次に、ネットワーク セキュリティ グループをそのサブネットに関連付けます。 そのグループで、ユーザーのオンプレミス IP クラスレス ドメイン間ルーティング (CIDR) ブロックなどの HTTPS トラフィックのソースを指定します。 この構成を使用して、ユーザーのオンプレミス環境から発生しない接続をブロックします。

  • Azure Key Vault は、VM ユーザーのパスワードを シークレット として保存するための安全なメカニズムを提供します。 シークレット RBAC は、VM にアクセスするユーザー アカウントのみがそれを取得する権限を持つように構成できます。 Azure Key Vault は Azure ポータルの仮想マシン ブレードの Azure Bastion ユーザー インターフェイスと統合されているため、キー コンテナーからパスワード値を取得するには、Azure API (Azure CLI の使用など) または Azure ポータルから実行できます。

    共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパル作成者:

  • Husam Hilal | シニア クラウド ソリューション アーキテクト

パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。

次のステップ