適用対象: ✔️ Linux VM ✔️ Windows VM ✔️ フレキシブル スケール セット ✔️ ユニフォーム スケール セット
実行するアプリケーションの仮想マシン (VM) をセキュリティで保護しておくことが重要です。 VM のセキュリティ保護には、VM への安全なアクセスとデータのセキュリティで保護されたストレージをカバーする 1 つ以上の Azure サービスと機能が含まれる場合があります。 この記事では、VM とアプリケーションをセキュリティで保護するための情報を提供します。
マルウェア対策
クラウド環境の最新の脅威の状況は動的であり、コンプライアンスとセキュリティの要件を満たすために効果的な保護を維持する圧力が高まっています。 Microsoft Antimalware for Azure は、ウイルス、スパイウェア、その他の悪意のあるソフトウェアを特定して削除するのに役立つ無料のリアルタイム保護機能です。 既知の悪意のあるソフトウェアや不要なソフトウェアが VM にインストールまたは実行しようとした場合に通知するようにアラートを構成できます。 Linux または Windows Server 2008 を実行している VM ではサポートされていません。
Microsoft Defender for Cloud
Microsoft Defender for Cloud は、VM に対する脅威の防止、検出、対応に役立ちます。 Defender for Cloud は、Azure サブスクリプション全体で統合されたセキュリティ監視とポリシー管理を提供し、気付かない可能性のある脅威を検出し、セキュリティ ソリューションの広範なエコシステムと連携するのに役立ちます。
Defender for Cloud の Just-In-Time アクセスは、VM デプロイ全体に適用して、Azure VM への受信トラフィックをロックダウンし、攻撃にさらされるのを減らしながら、必要に応じて VM に簡単に接続できます。 Just-In-Time が有効になっていて、ユーザーが VM へのアクセスを要求すると、Defender for Cloud は、ユーザーが VM に対して持っているアクセス許可を確認します。 適切なアクセス許可がある場合、要求は承認され、Defender for Cloud は、選択したポートへの受信トラフィックを一定期間許可するようにネットワーク セキュリティ グループ (NSG) を自動的に構成します。 時間が経過すると、Defender for Cloud は NSG を以前の状態に復元します。
暗号化
マネージド ディスクには、2 つの暗号化方法が用意されています。 OS レベルでの暗号化 (Azure Disk Encryption) とプラットフォーム レベルでの暗号化 (サーバー側の暗号化)。
サーバーサイド暗号化
Azure マネージド ディスクは、クラウドに永続化するときに、既定でデータを自動的に暗号化します。 サーバー側暗号化はデータを保護し、組織のセキュリティとコンプライアンスのコミットメントを満たすのに役立ちます。 Azure マネージド ディスク内のデータは、利用できる最も強力なブロック暗号の 1 つである 256 ビット AES 暗号化を使って透過的に暗号化され、FIPS 140-2 に準拠しています。
暗号化はマネージド ディスクのパフォーマンスに影響しません。 暗号化の追加コストは発生しません。
プラットフォーム マネージド キーを利用してお使いのマネージド ディスクを暗号化することも、お使いの独自のキーを使用して暗号化を管理することもできます。 独自のキーを使用して暗号化を管理する場合は、マネージド ディスク内のすべてのデータの暗号化と暗号化解除に使用するカスタマー マネージド キーを指定できます。
サーバー側の暗号化の詳細については、 Windows または Linux の記事を参照してください。
Azure Disk Encryption
Windows VM と Linux VM のセキュリティとコンプライアンスを強化するために、Azure の仮想ディスクを暗号化できます。 Windows VM 上の仮想ディスクは、BitLocker を使用して保存時に暗号化されます。 Linux VM 上の仮想ディスクは、dm-crypt を使用して保存時に暗号化されます。
Azure での仮想ディスクの暗号化には料金はかかりません。 暗号化キーは、ソフトウェア保護を使用して Azure Key Vault に格納されるか、 FIPS 140 検証 済み標準に認定されたハードウェア セキュリティ モジュール (HSM) でキーをインポートまたは生成できます。 これらの暗号化キーは、VM に接続されている仮想ディスクの暗号化と暗号化解除に使用されます。 これらの暗号化キーの制御を保持し、その使用を監査できます。 Microsoft Entra サービス プリンシパルは、VM の電源のオンとオフを切り替えて、これらの暗号化キーを発行するためのセキュリティで保護されたメカニズムを提供します。
Key Vault と SSH キー
シークレットと証明書は、リソースとしてモデル化し、 Key Vault によって提供できます。 Azure PowerShell を使用して 、Windows VM 用 のキー コンテナーと Linux VM 用の Azure CLI を作成できます。 暗号化用のキーを作成することもできます。
Key Vault アクセス ポリシーは、キー、シークレット、証明書に対するアクセス許可を個別に付与します。 たとえば、ユーザーにキーのみにアクセス権を付与できますが、シークレットに対するアクセス許可は付与できません。 ただし、キーまたはシークレットまたは証明書にアクセスするためのアクセス許可は、ボールトレベルです。 つまり、 キー コンテナー アクセス ポリシー はオブジェクト レベルのアクセス許可をサポートしていません。
VM に接続するときは、公開キー暗号化を使用して、より安全な方法で VM にサインインする必要があります。 このプロセスには、ユーザー名とパスワードではなく、セキュリティで保護されたシェル (SSH) コマンドを使用して自分を認証する公開キーと秘密キーの交換が含まれます。 パスワードは、特に Web サーバーなどのインターネットに接続する VM では、ブルート フォース攻撃に対して脆弱です。 Secure Shell (SSH) キー ペアを使用すると、認証に SSH キーを使用する Linux VM を 作成できるため、サインインするためのパスワードが不要になります。 SSH キーを使用して 、Windows VM から Linux VM に接続することもできます。
Azure リソースのマネージド ID
クラウド アプリケーションを構築する際の一般的な課題は、クラウド サービスに対する認証のためにコード内の資格情報を管理する方法です。 資格情報をセキュリティで保護することは重要なタスクです。 理想的には、資格情報は開発者ワークステーションに表示されず、ソース管理にチェックインされません。 Azure Key Vault には、資格情報、シークレット、およびその他のキーを安全に格納する方法が用意されていますが、取得するには、コードで Key Vault に対して認証を行う必要があります。
この問題は、Microsoft Entra の Azure リソースのマネージド ID 機能によって解決されます。 この機能では、Microsoft Entra ID で自動的に管理される ID が Azure サービスに提供されます。 この ID を使用して、コードに資格情報を含めずに、Key Vault を含む Microsoft Entra 認証をサポートするすべてのサービスに対して認証を行うことができます。 VM で実行されているコードは、VM 内からのみアクセスできる 2 つのエンドポイントからトークンを要求できます。 このサービスの詳細については、 Azure リソースのマネージド ID の 概要ページを参照してください。
ポリシー
Azure ポリシーを 使用して、組織の VM に必要な動作を定義できます。 ポリシーを使用することで、組織は企業全体でさまざまな規則と規則を適用できます。 目的の動作を適用すると、組織の成功に貢献しながらリスクを軽減できます。
Azure ロールベースのアクセス制御
Azure ロールベースのアクセス制御 (Azure RBAC) を使用すると、チーム内で職務を分離し、ジョブを実行するために必要な VM 上のユーザーへのアクセスの量のみを付与できます。 すべてのユーザーに VM に無制限のアクセス許可を付与する代わりに、特定のアクションのみを許可できます。 Azure CLI またはAzure PowerShell を使用して、Azure portal で VM のアクセス制御を構成できます。