次の方法で共有


Azureでの IaaS ワークロードのセキュリティに関するベスト プラクティス

この記事では、VM とオペレーティング システムのセキュリティに関するベスト プラクティスについて説明します。

ベスト プラクティスは意見のコンセンサスに基づきます。現在のAzure プラットフォームの機能と機能セットと連携します。 意見やテクノロジは時間の経過と同時に変化する可能性があるため、この記事はそれらの変更を反映するように更新されています。

ほとんどのサービスとしてのインフラストラクチャ (IaaS) シナリオでは、Azure virtual machines (VM) がクラウド コンピューティングを使用する組織の主要なワークロードです。 これは、組織がワークロードをクラウドにゆっくりと移行したい ハイブリッド シナリオ で明らかです。 IaaS のセキュリティに関する一般的な考慮事項に従い、セキュリティのベスト プラクティスをすべての VM に適用することになります。

認証とaccess controlを使用して VM を保護する

VM を保護するには、承認されたユーザーのみが新しい VM を設定し、既存の VM をaccessできるようにします。

Note

Azure上の Linux VM のセキュリティを向上させるために、Microsoft Entra 認証と統合できます。 Linux VM に対して Microsoft Entra 認証 を使用する場合は、VM へのaccessを許可または拒否するポリシーを一元的に制御して適用します。

ベスト プラクティス: VM accessを制御します。 Detail: Azure ポリシーを使用して、組織内のリソースの規則を確立し、カスタマイズされたポリシーを作成します。 これらのポリシーをリソース ( リソース グループなど) に適用します。 リソース グループに属する VM は、それらのポリシーを継承します。

組織に多数のサブスクリプションがある場合は、それらのサブスクリプションのaccess、ポリシー、コンプライアンスを効率的に管理する方法が必要になる場合があります。 Azure管理グループは、サブスクリプションの上のレベルのスコープを提供します。 サブスクリプションを管理グループ (コンテナー) にまとめ、それらのグループに管理条件を適用できます。 管理グループ内のすべてのサブスクリプションは、グループに適用された条件を自動的に継承します。 管理グループを使うと、サブスクリプションの種類に関係なく、大きな規模でエンタープライズ レベルの管理を行うことができます。

ベスト プラクティス: VM のセットアップとデプロイのばらつきを減らします。 Detail: Azure Resource Manager テンプレートを使用して、デプロイの選択肢を強化し、環境内の VM の理解とインベントリを容易にします。

ベスト プラクティス: 特権アクセスを保護する。 Detail: 最小限の特権アプローチ組み込みのAzureロールを使用して、ユーザーが VM をaccessしてセットアップできるようにします。

  • 仮想マシン共同作成者: VM を管理できますが、接続先のvirtual networkまたはstorage アカウントは管理できません。
  • Classic Virtual Machine Contributor: クラシック デプロイ モデルを使用して作成された VM を管理できますが、VM が接続されているvirtual networkまたはstorage アカウントは管理できません。
  • セキュリティ管理者: Defender for Cloud のみ: セキュリティ ポリシーの表示、セキュリティ状態の表示、セキュリティ ポリシーの編集、アラートと推奨事項の表示、アラートと推奨事項の無視を行うことができます。
  • DevTest Labs ユーザー: すべてを表示し、VM の接続、開始、再起動、シャットダウンを行うことができます。

サブスクリプション管理者と共同管理者は、この設定を変更して、サブスクリプション内のすべての VM の管理者にすることができます。 すべてのサブスクリプション管理者と共同管理者を信頼して、任意のマシンにサインインします。

Note

同じライフサイクルの VM を同じリソース グループに統合します。 皆さんが使用するリソースは、リソース グループを使ってデプロイして監視し、請求額をまとめることができます。

VM のaccessとセットアップを制御する組織は、VM の全体的なセキュリティを向上させます。

高可用性を確保するためにVirtual Machine Scale Setsを使用してください

高可用性を必要とする重要なアプリケーションが VM で実行されている場合は、Virtual Machine Scale Sets を使用します。

Virtual Machine Scale Sets負荷分散された VM のグループを作成および管理できます。 需要または定義されたスケジュールに応じて、VM インスタンスの数を自動的に増減させることができます。 スケール セットはアプリケーションに高可用性を提供し、多数の VM を一元的に管理、構成、更新できます。 スケール セット自体にはコストはかからず、作成した各 VM インスタンスに対してのみ料金が発生します。

スケール セット内の仮想マシンを複数の可用性ゾーン、1 つの可用性ゾーン、またはリージョン全体にデプロイできます。

マルウェアを防ぐ

ウイルス、スパイウェア、その他の悪意のあるソフトウェアを特定して削除するのに役立つマルウェア対策保護をインストールします。 Microsoft マルウェア対策または Microsoft パートナーのエンドポイント保護ソリューション (Trend MicroBroadcomMcAfeeWindows DefenderSystem Center Endpoint Protection) をインストールできます。

Microsoft Antimalware には、リアルタイム保護、スケジュールされたスキャン、マルウェアの駆除、シグネチャの更新、エンジンの更新、サンプルのレポート、および除外イベントの収集などの機能が含まれます。 運用環境とは別にホストされている環境の場合は、マルウェア対策拡張機能を使用して、VM とcloud servicesを保護します。

Microsoft マルウェア対策およびパートナー ソリューションを Microsoft Defender for Cloud と統合して、展開と組み込みの検出 (アラートとインシデント) を容易にすることができます。

ベスト プラクティス: マルウェアから保護するためにマルウェア対策ソリューションをインストールします。
詳細: Microsoft パートナー ソリューションまたは Microsoft マルウェア対策をインストールする

ベスト プラクティス: マルウェア対策ソリューションを Defender for Cloud と統合して、保護の状態を監視します。
詳細: Defender for Cloud でエンドポイント保護の問題を管理する

VM の更新の管理

Azure VM は、すべてのオンプレミス VM と同様に、ユーザーが管理することを目的とします。 Azureは Windows 更新プログラムをプッシュしません。 VM の更新は、お客様が管理する必要があります。

ベスト プラクティス: VM を最新の状態に保ちます。
Detail: Azure Automationの Update Management ソリューションを使用して、Azure、オンプレミス環境、または他のクラウド プロバイダーに展開されている Windows および Linux コンピューターのオペレーティング システムの更新プログラムを管理します。 すべてのエージェント コンピューターで利用可能な更新プログラムの状態をすばやく評価し、サーバーに必要な更新プログラムをインストールするプロセスを管理できます。

Update Management で管理されるコンピューターでは、評価と更新プログラムのデプロイに次の構成を使用します。

  • Windows または Linux 用の Microsoft Monitoring Agent (MMA)
  • Linux 用 PowerShell Desired State Configuration (DSC)
  • オートメーション ハイブリッド ランブック ワーカー (Automation Hybrid Runbook Worker)
  • Microsoft Update または Windows Server Update Services (WSUS) (Windows コンピューターの場合)

Windows Updateを使用する場合は、自動Windows Update設定を有効のままにします。

ベスト プラクティス: デプロイ時に、ビルドしたイメージに最新の Windows 更新プログラムが含まれるようにします。
詳細: すべての展開の最初の手順として、すべての Windows 更新プログラムを確認してインストールします。 独自にイメージをデプロイするときや、独自のライブラリからイメージをデプロイするときは、このことが特に重要となります。 Azure Marketplaceのイメージは既定で自動的に更新されますが、パブリック リリース後に遅延時間 (最大数週間) が発生する可能性があります。

ベスト プラクティス: VM を定期的に再デプロイして、OS の新しいバージョンを強制します。
Detail: Azure Resource Manager テンプレートを使用して VM を定義して、簡単に再デプロイできるようにします。 テンプレートを使用すると、必要なときに、修正プログラムが適用されセキュリティで保護された VM を設定できます。

ベスト プラクティス: VM にセキュリティ更新プログラムを迅速に適用する。
Detail: Microsoft Defender for Cloud (Free レベルまたは Standard レベル) を有効にして、不足しているセキュリティ更新プログラムを識別して適用します

ベスト プラクティス: 最新のセキュリティ更新プログラムをインストールします。
Detail: お客様がAzureに移行する最初のワークロードの一部は、ラボと外部向けのシステムです。 Azure VM で、インターネットにアクセスできる必要があるアプリケーションまたはサービスをホストしている場合は、修正プログラムの適用に注意してください。 オペレーティングシステムを超えてパッチを適用します。 サード パーティ アプリケーションでも、修正プログラムの未適用による脆弱性が原因で問題が発生する可能性があります。このような問題は、適切な修正プログラム管理が行われていれば回避できます。

ベスト プラクティス: バックアップ ソリューションをデプロイしてテストする。
詳細: バックアップは、他の操作を処理するのと同じ方法で処理する必要があります。 この処理は、クラウドに拡張される運用環境の一部であるシステムに当てはまります。

テスト用システムと開発用システムは、ユーザーがオンプレミス環境の経験で使い慣れているのと同様の復元機能を提供できるバックアップ戦略に沿う必要があります。 Azureに移行された運用ワークロードは、可能な限り既存のバックアップ ソリューションと統合する必要があります。 または、Azure Backup を使用してバックアップ要件に対処することもできます。

ソフトウェア更新ポリシーを適用していない組織は、既に修正されている既知の脆弱性を悪用した脅威にさらされやすくなります。 企業は業界の規制を遵守するために、適切なセキュリティ制御を使用して、クラウドに存在するワークロードのセキュリティ強化に努めていることを証明する必要があります。

従来のデータセンターと Azure IaaS のソフトウェア更新のベスト プラクティスには、多くの類似点があります。 現在のソフトウェア更新ポリシーを評価して、Azureにある VM を含めます。

VM のセキュリティ体制の維持

サイバー脅威は常に進化しています。 VM を保護するには、脅威をすばやく検出し、リソースへの承認されていないaccessを防ぎ、アラートをトリガーし、誤検知を減らすことができる監視機能が必要です。

Windows および Linux VM のセキュリティ体制を監視するには、Microsoft Defender for Cloud を使用します。 Defender for Cloud では、次の機能を利用して VM を保護します。

  • 推奨される構成規則を使用して OS のセキュリティ設定を適用する。
  • 不足している可能性のあるシステムのセキュリティ更新プログラムと重要な更新プログラムを特定してダウンロードする。
  • エンドポイント保護の推奨事項をデプロイする。
  • ディスク暗号化を検証する。
  • 脆弱性を評価して修復する。
  • 脅威を検出します。

Defender for Cloud は脅威を積極的に監視でき、セキュリティ アラートによって潜在的な脅威が公開されます。 関連性のある脅威は、セキュリティ インシデントと呼ばれる 1 つのビューに集約されます。

Defender for Cloud は、Azure Monitor ログにデータを格納します。 Azure Monitor ログには、アプリケーションとリソースの操作に関する分析情報を提供するクエリ言語と分析エンジンが用意されています。 Azure Monitor、管理ソリューション、およびクラウドまたはオンプレミスのvirtual machinesにインストールされているエージェントからもデータが収集されます。 この共有機能は、環境の全体像を把握するうえで役に立ちます。

VM に強力なセキュリティを適用しない場合、承認されていないユーザーがセキュリティ制御を回避しようとする可能性を知らないままです。

VM パフォーマンスの監視

VM のプロセスが必要以上に多くのリソースを消費しているときは、リソースの酷使が問題になる可能性があります。 VM のパフォーマンスの問題はサービス中断に発展する場合があり、そうなれば可用性というセキュリティの原則を損ないます。 この問題は、IIS やその他の Web サーバーをホストしている VM にとって特に重要です。CPU またはメモリの使用率が高い場合は、サービス拒否 (DoS) 攻撃を示している可能性があるためです。 問題が発生している間に VM accessを事後対応的に監視するだけでなく、通常の操作中に測定されたベースライン パフォーマンスに対しても積極的に監視することが不可欠です。

Azure Monitor を使用して、リソースの正常性を把握します。 Azure モニターの機能:

VM のパフォーマンスを監視しない場合、パフォーマンス パターンの特定の変更が正常か異常かを判断できません。 通常よりも多くのリソースを消費する VM は、外部リソースからの攻撃または VM で実行されている侵害されたプロセスを示している可能性があります。

仮想ハード ディスク ファイルを暗号化する

仮想ハード ディスク (VHD) を暗号化して、storageで保存されているブート ボリュームとデータ ボリュームを暗号化キーとシークレットと共に保護します。

Important

Azure Disk Encryptionは、2028 年 15 月 15 日 に提供終了する予定です。 その日まで、中断することなくAzure Disk Encryptionを引き続き使用できます。 2028 年 9 月 15 日に、ADE 対応ワークロードは引き続き実行されますが、暗号化されたディスクは VM の再起動後にロック解除に失敗し、サービスが中断されます。

新しい VM のホストで暗号化を使用します。 サービスの中断を回避するために、すべての ADE 対応 VM (バックアップを含む) を提供終了日より前にホストで暗号化に移行する必要があります。 詳細については、「Azure Disk Encryptionをホストでの暗号化に移行する」を参照してください。

ホストでの暗号化は、VM データのエンド ツー エンド暗号化を既定で提供し、一時ディスク、OS およびデータ ディスク キャッシュ、およびデータ フローをAzure Storageに暗号化します。 既定では、ホストでの暗号化ではプラットフォームマネージド キーが使用され、追加の構成は必要ありません。 必要に応じて、独自のディスク暗号化キーを制御および管理する必要がある場合に、Azure Key Vault または Azure Key Vault Managed HSM に格納されているカスタマー マネージド キーを使用するようにソリューションを構成できます。 このソリューションにより、仮想マシン ディスク上のすべてのデータが、Azure Storageで保存時に暗号化されます。

次のベスト プラクティスは、ホストでの暗号化の使用に役立ちます。

ベスト プラクティス: 既定では、VM 上のホストで暗号化を有効にします。
詳細: ホストでの暗号化は、新しい VM に対して既定で有効になっており、追加の構成を必要とせずにプラットフォームマネージド キーを使用して透過的な暗号化を提供します。 カスタマー マネージド キーを使用する場合は、Azure Key Vaultまたは Azure Key Vault Managed HSM に格納します。 アクセスには Microsoft Entra 認証が必要です。 認証には、クライアント シークレット ベースの認証か、クライアント証明書ベースの Microsoft Entra 認証を使用できます。

ベスト プラクティス: カスタマー マネージド キーを使用する場合は、キー暗号化キー (KEK) を使用して、暗号化キーのセキュリティ層を強化します。
Detail: カスタマー マネージド キーを使用する場合は、Add-AzKeyVaultKey コマンドレットを使用して、Azure Key Vault または Managed HSM にキー暗号化キーを作成します。 オンプレミスのハードウェア セキュリティ モジュール (HSM) から KEK をインポートすることもできます。 詳細については、Key Vault ドキュメントを参照してください。 キー暗号化キーを指定すると、ホストでの暗号化では、そのキーを使用して暗号化シークレットがラップされます。 このキーのエスクロー コピーをオンプレミスのキー管理 HSM に保持すると、キーが誤って削除されるのを防ぐことができます。

最良の方法: 暗号化構成を変更する前に、スナップショットを取得し、またはバックアップを作成します。 バックアップには、予期しないエラーが発生した場合の復旧オプションが用意されています。
Detail: managed disksを使用して VM を定期的にバックアップします。 暗号化された VM をバックアップおよび復元する方法の詳細については、Azure Backupに関する記事を参照してください。

ベスト プラクティス: カスタマー マネージド キーを使用する場合は、キー管理サービスと VM を同じリージョン内に配置することで、暗号化シークレットがリージョンの境界を越えないようにします。
Detail: カスタマー マネージド キーを使用する場合は、暗号化する VM と同じリージョンにあるkey vaultまたはマネージド HSM を作成して使用します。

ホストで暗号化を適用すると、次のビジネス ニーズを満たすことができます。

  • 業界標準の暗号化テクノロジによってIaaS VMを静止状態でセキュリティ保護し、組織のセキュリティおよびコンプライアンス要件に対応します。
  • IaaS VM は、顧客が制御するキーとポリシーで開始され、キー管理サービスでの使用状況を監査できます。

インターネットへの直接接続を制限する

VM からインターネットへの直接接続を監視して制限します。 攻撃者は常にパブリック クラウドの IP 範囲をスキャンして、開いている管理ポートを探し、一般的なパスワードやパッチが適用されていない既知の脆弱性などの "簡単な" 攻撃を試みます。 次の表に、こうした攻撃から保護するためのベスト プラクティスを示します。

ベスト プラクティス: ネットワーク ルーティングとセキュリティへの不注意な露出を防ぎます。
Detail: Azure RBAC を使用して、中央ネットワーク グループのみがネットワーク リソースに対するアクセス許可を持っていることを確認します。

ベストプラクティス: あらゆるソースIPアドレスからのアクセスを許可する公開されたVMを特定し、修正します。
Detail: Microsoft Defender for Cloudを使用します。 Defender for Cloud では、いずれかのネットワーク セキュリティ グループに、"any" ソース IP アドレスからのaccessを許可する受信規則が 1 つ以上ある場合は、インターネットに接続するエンドポイントを介してaccessを制限することをお勧めします。 Defender for Cloud では、これらの受信規則を編集して、本当にアクセスが必要なソース IP アドレスへのアクセスを制限することをお勧めします。

ベスト プラクティス: 管理ポート (RDP、SSH) を制限する。
Detail: just-in-time (JIT) VM access を使用して、Azure VM への受信トラフィックをロックダウンします。 必要に応じて VM に簡単に接続できるaccessを提供しながら、攻撃にさらされるリスクを軽減します。 JIT を有効にすると、Defender for Cloud は、ネットワーク セキュリティ グループ規則を作成して、Azure VM への受信トラフィックをロックダウンします。 受信トラフィックがロックダウンされている VM 上のポートを選択します。 JIT ソリューションはこれらのポートを制御します。

次のステップ

Azureを使用してクラウド ソリューションを設計、デプロイ、管理する際に使用するセキュリティのベスト プラクティスについては、「Azure セキュリティのベスト プラクティスとパターンを参照してください。

次のリソースは、Azureセキュリティおよび関連する Microsoft サービスに関する一般的な情報を提供します。