次の方法で共有


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

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

これらのベスト プラクティスは、集約された意見に基づくものであり、Azure プラットフォームの最新の機能に対応しています。 人の考え方やテクノロジは時間の経過と共に変化する可能性があるため、この記事はそれらの変化に応じて更新されます。

ほとんどの IaaS (サービスとしてのインフラストラクチャ) で、クラウド コンピューティングを使用している組織にとっての主要なワークロードは Azure 仮想マシン (VM) です。 This fact is evident in hybrid scenarios where organizations want to slowly migrate workloads to the cloud. IaaS のセキュリティに関する一般的な考慮事項に従い、セキュリティのベスト プラクティスをすべての VM に適用することになります。

認証とアクセス制御を使用して VM を保護する

VM 保護の第一歩は、承認されたユーザーのみが新しい VM を設定し、VM にアクセスできるようにすることです。

Note

Azure 上の Linux VM のセキュリティを強化するために、Microsoft Entra 認証と統合できます。 Linux VM に Microsoft Entra 認証を使用することで、VM へのアクセスを許可または拒否するポリシーを一元管理および適用します。

Best practice: Control VM access. Detail: Use Azure policies to establish conventions for resources in your organization and create customized policies. Apply these policies to resources, such as resource groups. リソース グループに属する VM は、それらのポリシーを継承します。

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

Best practice: Reduce variability in your setup and deployment of VMs. Detail: Use Azure Resource Manager templates to strengthen your deployment choices and make it easier to understand and inventory the VMs in your environment.

Best practice: Secure privileged access. Detail: Use a least privilege approach and built-in Azure roles to enable users to access and set up VMs:

  • 仮想マシンの共同作業者: VM を管理することはできますが、それが接続されている仮想ネットワークまたはストレージ アカウントを管理することはできません。
  • 従来の仮想マシン共同作成者:クラシック デプロイ モデルを使って作成された VM を管理することはできますが、その VM が接続されている仮想ネットワークまたはストレージ アカウントを管理することはできません。
  • Security Admin: In Defender for Cloud only: Can view security policies, view security states, edit security policies, view alerts and recommendations, dismiss alerts and recommendations.
  • DevTest Labs ユーザー:すべてを表示し、VM を接続、開始、再起動、シャットダウンできます。

サブスクリプション管理者と共同管理者は、この設定を変更して、彼らをサブスクリプション内のすべての VM の管理者にすることができます。 マシンにログインするすべてのサブスクリプション管理者と共同管理者を信頼できることを確認してください。

Note

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

組織は、VM へのアクセスと設定を制御することで、VM の総合的なセキュリティを向上させることができます。

高可用性のための仮想マシン スケール セットの使用

高可用性を必要とする重要なアプリケーションが VM で実行されている場合は、 仮想マシン スケール セットを使用することを強くお勧めします。

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

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

マルウェアを防ぐ

ウイルスやスパイウェアなどの悪意のあるソフトウェアを識別して削除するために、マルウェア対策保護を導入する必要があります。 You can install Microsoft Antimalware or a Microsoft partner's endpoint protection solution (Trend Micro, Broadcom, McAfee, Windows Defender, and System Center Endpoint Protection).

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

デプロイと検出の組み込み (アラートとインシデント) を容易にするために、Microsoft Antimalware とパートナー ソリューションを Microsoft Defender for Cloud と統合できます。

Best practice: Install an antimalware solution to protect against malware.
Detail: Install a Microsoft partner solution or Microsoft Antimalware

Best practice: Integrate your antimalware solution with Defender for Cloud to monitor the status of your protection.
Detail: Manage endpoint protection issues with Defender for Cloud

VM の更新の管理

Azure VM は、他の VM と同じように、ユーザーによって管理されることを意図しています。 Azure では、それらに対して Windows 更新プログラムをプッシュしません。 VM の更新は、お客様が管理する必要があります。

Best practice: Keep your VMs current.
Detail: Use the Update Management solution in Azure Automation to manage operating system updates for your Windows and Linux computers that are deployed in Azure, in on-premises environments, or in other cloud providers. すべてのエージェント コンピューターで利用可能な更新プログラムの状態をすばやく評価し、サーバーに必要な更新プログラムをインストールするプロセスを管理できます。

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

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

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

Best practice: Ensure at deployment that images you built include the most recent round of Windows updates.
Detail: Check for and install all Windows updates as a first step of every deployment. 独自にイメージをデプロイするときや、独自のライブラリからイメージをデプロイするときは、このことが特に重要となります。 ただし、Azure Marketplace のイメージは既定で自動的に更新されますが、公開リリース後は遅れが発生する可能性があります (最大数週間)。

Best practice: Periodically redeploy your VMs to force a fresh version of the OS.
Detail: Define your VM with an Azure Resource Manager template so you can easily redeploy it. テンプレートを使用すると、必要なときに、修正プログラムが適用されセキュリティで保護された VM を設定できます。

Best practice: Rapidly apply security updates to VMs.
Detail: Enable Microsoft Defender for Cloud (Free tier or Standard tier) to identify missing security updates and apply them.

Best practice: Install the latest security updates.
Detail: Some of the first workloads that customers move to Azure are labs and external-facing systems. インターネットへのアクセスが必要なアプリケーションまたはサービスを Azure VM でホストしている場合は、修正プログラムの適用を忘れずに実行してください。 これは、オペレーティング システムへの修正プログラムの適用だけではありません。 サード パーティ アプリケーションでも、修正プログラムの未適用による脆弱性が原因で問題が発生する可能性があります。このような問題は、適切な修正プログラム管理が行われていれば回避できます。

Best practice: Deploy and test a backup solution.
Detail: A backup needs to be handled the same way that you handle any other operation. これは、クラウドに拡張する運用環境に含まれるシステムに該当します。

テスト用システムと開発用システムは、ユーザーがオンプレミス環境の経験で使い慣れているのと同様の復元機能を提供できるバックアップ戦略に沿う必要があります。 Azure に移動する運用ワークロードは、可能な限り、既存のバックアップ ソリューションと統合するのが適切です。 Or, you can use Azure Backup to help address your backup requirements.

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

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

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

サイバー攻撃の脅威は進化しています。 VM を保護するには、脅威をすばやく検出し、リソースへの不正アクセスを防止し、アラートをトリガーし、偽陽性を減らすことができる、より高性能の監視機能が必要です。

To monitor the security posture of your Windows and Linux VMs, use Microsoft Defender for Cloud. Defender for Cloud では、次の機能を利用して VM を保護します。

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

Defender for Cloud は脅威を積極的に監視でき、脅威のリスクはセキュリティ通知で公開されます。 関連性のある脅威は、セキュリティ インシデントと呼ばれる 1 つのビューに集約されます。

Defender for Cloud では、データを Azure Monitor ログに格納します。 Azure Monitor ログには、アプリケーションとリソースの操作に関する分析情報を提供するクエリ言語と分析エンジンがあります。 Data is also collected from Azure Monitor, management solutions, and agents installed on virtual machines in the cloud or on-premises. この共有機能は、環境の全体像を把握するうえで役に立ちます。

許可のないユーザーがセキュリティ制御を回避しようとする試みは、VM を強固なセキュリティで保護していなければ認識できません。

VM パフォーマンスの監視

VM のプロセスが必要以上に多くのリソースを消費しているときは、リソースの酷使が問題になる可能性があります。 VM のパフォーマンスの問題はサービス中断に発展する場合があり、そうなれば可用性というセキュリティの原則を損ないます。 CPU またはメモリの使用率の高さはサービス拒否 (DoS) 攻撃を示唆していることがあるため、IIS や他の Web サーバーをホストしている VM にとって、これは特に重要です。 VM のアクセスを監視することは、問題発生時の対処としてのみならず、通常運用時に測定された基準パフォーマンスと照らして能動的に行うことが不可欠となります。

We recommend that you use Azure Monitor to gain visibility into your resource’s health. Azure Monitor には次の特長があります。

VM のパフォーマンスを監視していない組織は、パフォーマンス パターンにおけるある変化が正常であるか異常であるかを判断できません。 消費しているリソースが通常よりも多い VM は、外部リソースからの攻撃を受けているか、その VM で実行されているプロセスが侵害されていることを示唆している可能性があります。

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

ブート ボリュームとストレージに保存されているデータ ボリュームに加え、暗号化キーとシークレットを保護できるように、仮想 ハード ディスク (VHD) を暗号化することをお勧めします。

Linux VM に対する Azure Disk EncryptionWindows VM 用の Azure Disk Encryption は、Linux と Windows の IaaS 仮想マシン ディスクの暗号化に役立ちます。 Azure Disk Encryption uses the industry-standard DM-Crypt feature of Linux and the BitLocker feature of Windows to provide volume encryption for the OS and the data disks. このソリューションは Azure Key Vault と統合されており、ディスクの暗号化キーとシークレットは Key Vault サブスクリプションで制御および管理できます。 また、このソリューションでは、仮想マシン ディスク上のすべてのデータが、Azure Storage での保存時に暗号化されます。

Azure Disk Encryption 使用時のベスト プラクティスを次に示します。

Best practice: Enable encryption on VMs.
Detail: Azure Disk Encryption generates and writes the encryption keys to your key vault. キー コンテナー内の暗号化キーを管理するには、Microsoft Entra 認証が必要です。 この用途向けの Microsoft Entra アプリケーションを作成してください。 認証には、クライアント シークレット ベースの認証か、クライアント証明書ベースの Microsoft Entra 認証を使用できます。

Best practice: Use a key encryption key (KEK) for an additional layer of security for encryption keys. キー コンテナーに KEK を追加します。
Detail: Use the Add-AzKeyVaultKey cmdlet to create a key encryption key in the key vault. キー管理用のオンプレミスのハードウェア セキュリティ モジュール (HSM) から KEK をインポートすることもできます。 詳細については、Key Vault のドキュメントを参照してください。 キー暗号化キーが指定されている場合、Azure Disk Encryption では、Key Vault への書き込みの前に、そのキーを使用して暗号化シークレットがラップされます。 このキーのエスクロー コピーをオンプレミスのキー管理 HSM で保持することは、キーを誤って削除した場合の二重の保護を提供します。

Best practice: Take a snapshot and/or backup before disks are encrypted. バックアップは、暗号化中に予期しないエラーが発生した場合の回復オプションを提供します。
Detail: VMs with managed disks require a backup before encryption occurs. After a backup is made, you can use the Set-AzVMDiskEncryptionExtension cmdlet to encrypt managed disks by specifying the -skipVmBackup parameter. For more information about how to back up and restore encrypted VMs, see the Azure Backup article.

Best practice: To make sure the encryption secrets don’t cross regional boundaries, Azure Disk Encryption needs the key vault and the VMs to be located in the same region.
Detail: Create and use a key vault that is in the same region as the VM to be encrypted.

Azure Disk Encryption を適用すると、次のビジネス ニーズに対応できます。

  • 業界標準の暗号化テクノロジを通して保存中の IaaS VM をセキュリティで保護し、組織のセキュリティおよびコンプライアンス要件に対処します。
  • IaaS VM はお客様が管理するキーとポリシーに従って起動します。さらに、キー コンテナー内のそれらの使用状況を監査できます。

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

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

Best practice: Prevent inadvertent exposure to network routing and security.
Detail: Use Azure RBAC to ensure that only the central networking group has permission to networking resources.

Best practice: Identify and remediate exposed VMs that allow access from “any” source IP address.
Detail: Use Microsoft Defender for Cloud. Defender for Cloud では、ネットワーク セキュリティ グループのいずれかに、"あらゆる" 発信元 IP アドレスからのアクセスを許可する 1 つ以上の受信規則が含まれている場合に、インターネットに接続するエンドポイント経由のアクセスを制限するよう推奨します。 Defender for Cloud will recommend that you edit these inbound rules to restrict access to source IP addresses that actually need access.

Best practice: Restrict management ports (RDP, SSH).
Detail: Just-in-time (JIT) VM access can be used to lock down inbound traffic to your Azure VMs, reducing exposure to attacks while providing easy access to connect to VMs when needed. JIT が有効になっている場合、Defender for Cloud ではネットワーク セキュリティ グループの規則の作成により、Azure VM への受信トラフィックがロックダウンされます。 ユーザーは VM 上の受信トラフィックがロックダウンされるポートを選択します。 これらのポートは、JIT ソリューションによって制御されます。

Next steps

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

Azure のセキュリティとそれに関連する Microsoft サービスの一般情報については、以下のリソースを参照してください。