Skip to main content

実行時にコンテナを保護する6つのKubernetesツール

著者
Compliance FEATURE cropped

2022年6月8日

0 分で読めます

Kubernetesは、コンテナ化されたアプリケーションのデプロイと管理の方法を大きく変えました。コンテナオーケストレーションの堅牢なプラットフォームである一方、アプリケーションとデータを保護するには、追加のセキュリティ対策を講じることが欠かせません。このブログ記事では、Kubernetesクラスターの実行時セキュリティを強化するための重要な戦略をいくつかご紹介します。ネットワークポリシー、ロールベースのアクセス制御、ポリシーアドミッション制御、シークレット管理、監査ログ、エフェメラルコンテナを活用することで、Kubernetes環境のセキュリティ態勢を大幅に強化できます。

Kubernetesには実行時のセキュリティが標準で組み込まれているわけではありませんが、コンテナを本番環境に導入した後のセキュリティに役立つツールが用意されています。

1. ネットワークポリシー

Kubernetesのデフォルト動作では、Podに関わるすべての受信・送信トラフィックが許可されます。デフォルトの動作で受信・送信トラフィックをすべて拒否し、ネットワークポリシーを使ってコンテナ周辺のネットワーク動作を細かく制御しましょう。

2. ロールベースのアクセス制御(RBAC)

Kubernetes RBAC APIを使うと、Pod単位またはクラスター単位で権限を設定できます。クラスターを再起動することなく、認可ポリシーを簡単に微調整できます。

3. ポリシーアドミッション制御

Kubernetesのアドミッションコントローラーを使うと、特定の攻撃経路に対処するルールを適用できます。OPA GatekeeperとKyvernoは、アドミッションコントローラーとして機能する2つのポリシーエンジンです。呼び出しを評価し、ポリシーを適用したり、リクエストを拒否したりできます。

4. シークレット

Secretを使うと、キーやパスワードなどの機密情報を、それを使用するPodから隠すことができます。さらにRBACルールを設定して、Secretの読み取りと書き込み、およびSecretを作成・置換できるユーザーを制御できます。たとえば、認証情報をイメージや設定ファイルに含めてはいけません。代わりに、シークレット管理ツールを使って保管しましょう。

VaultはKubernetes上で直接実行でき、Kubernetes用と外部アプリケーション用の両方のシークレットを保管・管理できます。VaultにはKubernetesとのネイティブインテグレーションが用意されており、ほかのKubernetesツールからもVaultを利用できます。CyberArkも、Kubernetesで広く使われているシークレットプロバイダーです。

5. 監査ログ

Kubernetesには、標準では実行時セキュリティ機能がほとんどありません。ただし、監査ログ用のツールは用意されているため、Falcoのような監査ツールで分析し、脅威を検出できます。

6. エフェメラルコンテナでデバッグする

Kubernetesのエフェメラルデバッグコンテナを使えば、イメージにデバッグユーティリティを追加せずにトラブルシューティングできます。

こうしたセキュリティのベストプラクティスをKubernetesのデプロイに取り入れることで、セキュリティ侵害や不正アクセスのリスクを大幅に低減できます。セキュリティは継続的な取り組みであり、最新の脅威や脆弱性を常に把握することが重要です。Kubernetesの力と堅牢なセキュリティ対策を組み合わせれば、コンテナ化されたアプリケーションを安心してデプロイ・管理できます。

開発者を第一に考えたツールで、アプリケーションを保護

IDE、リポジトリ、コンテナ、パイプライン全体で、効率的かつ実践的なアプリケーションセキュリティのアドバイスを提供します。