Azure Arc で有効になっている AKS のコンテナー セキュリティ
適用対象: AKS on Azure Stack HCI 22H2、AKS on Windows Server
この記事では、アプリケーションのパッケージ化とデプロイに使用されるコンテナーをセキュリティで保護し、Azure Arc によって有効になっている AKS にセキュリティの脆弱性が発生しないようにするためのさまざまな方法について説明します。
コンテナーは、アプリケーションとサービスが環境内で分離されるため、運用上およびセキュリティ上の利点を提供します。 コンテナーは、抽象化によってシステム全体の障害の影響の低減にも寄与します。これにより、アップタイムが確保され、アプリケーションやサービスが侵害される可能性のある攻撃を防ぎます。 コンテナーは通常、ホスト オペレーティング システム上の抽象レイヤー上で実行され、抽象化により、分離のいくつかの障壁と、レイヤー化された防御モデルを適用する機会が提供されます。
また、コンテナー パイプライン、アプリケーション、コンテナー デプロイ環境をセキュリティ保護することで、継続的なコンテナー セキュリティを設定できます。 次のセクションでは、コンテナー セキュリティを実装するための推奨されるプラクティスについて説明します。
イメージをセキュリティで保護する
不正アクセスを防ぐには、セキュリティで保護された信頼できるレジストリでイメージをホストします。 イメージには信頼されたルート CA を持つ TLS 証明書が必要です。レジストリでは、強力な認証でロールベースのアクセス制御 (RBAC) を使用する必要があります。 コンテナーのビルドと配信用に CI/CD を設計する場合は、イメージ スキャン ソリューションを含める必要があります。 イメージ スキャン ソリューションは、一般的な脆弱性と露出 (CVE) を特定し、悪用可能なイメージが修復なしでデプロイされないようにするのに役立ちます。
ホスト環境を強化する
コンテナー セキュリティの重要な側面は、コンテナーが実行されているシステムと、実行時の動作について、セキュリティを強化する必要がある点です。 コンテナーのセキュリティは、ホストとデーモンを含め、スタック全体に重点を置く必要があります。 非クリティカルなサービスはホストから削除する必要があります。また、非準拠のコンテナーを環境にデプロイすべきではありません。 これにより、ホストへのアクセスはコンテナー経由でのみ行われ、制御はコンテナー デーモンに一元化され、攻撃対象領域からホストが削除されます。 これらの手順は、プロキシ サーバーを使用してコンテナーにアクセスする場合に特に役立ちます。これにより、コンテナーのセキュリティ制御が誤ってバイパスされる可能性があります。
コンテナー リソースの制限
コンテナーが侵害されると、攻撃者は基になるホスト リソースを使用して悪意のあるアクティビティを実行しようとする可能性があります。 侵害の影響を最小限に抑えるために、メモリと CPU の使用率の制限を設定することをお勧めします。
シークレットの適切なセキュリティ保護
シークレットは、ホストとコンテナーの間で渡す必要がある機密情報を含むオブジェクトです。たとえば、パスワード、SSL/TLS 証明書、SSH 秘密キー、トークン、接続文字列、プレーン テキストで送信したり暗号化せずに保存したりしてはならないその他のデータなどです。 すべてのシークレットをイメージから除外し、コンテナー オーケストレーション エンジンまたは外部シークレット マネージャーを使用してマウントする必要があります。
分離を実践する
分離を使用し、特権ユーザーまたはルート ユーザーを使用してコンテナーでアプリケーションを実行しないでください。 コンテナーが侵害された場合に攻撃者が特権を簡単にエスカレートできるため、特権モードでコンテナーを実行しないようにします。 コンテナー内のルート ユーザーの UID (一意の識別コード) と GID (グループ識別コード) を知ることにより、攻撃者はホスト コンピューター上のルートによって書き込まれたファイルにアクセスして変更することができます。 また、アプリケーションは、自身が必要とするシークレットにのみアクセスできる、という最小特権の原則を使用する必要があります。 アプリケーション プロセスを実行するアプリケーション ユーザーを作成できます。
ランタイム セキュリティ監視をデプロイする
インフラストラクチャへの攻撃に対する予防措置を講じた後も侵害される可能性は依然としてあるため、悪意のあるアクティビティを防止して検出するよう、アプリケーションの動作を継続的に監視してログに記録することが重要です。 Prometheus などのツールは、インフラストラクチャを監視するための効果的な手段を提供します。