National Security Agency(NSA)は、Cyber security and Infrastructure Security Agency(CISA)と協力して、Kubernetes強化ガイダンスを最近公開した。Kubernetes環境のセキュリティ保護にフォーカスしたテクニカルレポートだ。
このレポートは、Kubernetesのセキュリティリスクの一般的な領域(サプライチェーン、悪意のある攻撃者、内部脅威)に関するものだ。その目的は、一般的な設定ミスの問題を回避し、アプリケーションを保護するようにエンジニアを教育することである。
このガイダンスは、サプライチェーンのリスクを軽減することは困難であり、特にクラウド環境でのコンテナ構築サイクルやインフラストラクチャプロビジョニングで顕在化する可能性があることを示している。
安全なコンテナイメージを構築するためのレポートにおける推奨事項は、信頼できるリポジトリの使用、コンテナイメージスキャナーを使用したイメージの脆弱性の検出、最小限の特権でのコンテナとポッドの実行などである。
画像スキャンを統合する上で、レポートで言及されている1つのアプローチは、アドミッションコントローラーを使用することである。オブジェクトの作成前で、認証と承認の後に、Kubernetes APIサーバへのリクエストをインターセプトできるKubernetes機能だ。これで、組織のセキュリティポリシーに準拠していないデプロイがブロックされる。
レポートでは、悪意のある攻撃者が、Kubernetesクラスタを侵害することに注力していることも強調されている。特にパブリッククラウド上に対して顕著であり、その理由はデータや計算能力の盗用や暗号通貨のマイニングなど多くある。
レポートにはリスクを軽減するための多くの推奨事項が記載されている。トランスポート層セキュリティ(TLS)を使用した転送中のデータの暗号化や、シークレットを含めた保持などである。また、侵害の爆発を制限するためのネットワークポリシーとファイアウォールの使用がある。
このレポートでは、非rootコンテナとrootレスコンテナエンジンの実行について言及している。この場合、特定のコンテナを危険にさらす脅威者は、ホストマシンのroot機能で逃げることができなくなる。デフォルトでは、コンテナ内の多くのアプリケーションはrootユーザとして実行される。ベースとなるホストへのアクセスがほとんど必要なかったり、あるいはまったく必要ない場合でもである。
さらに、このガイダンスでは内部脅威のリスクが強調されている。これは、特別なアクセス権限を持つユーザ、管理者、クラウドサービスプロバイダに対するものであり、そのような権限が悪用されKubernetes環境が危険にさらされる可能性がある。
このようなリスクを軽減するために、レポートでは、RBACを利用した強力な認証と承認を使用して、ユーザと管理者のアクセスを制限することなどが推奨されている。また、Kubernetesでデフォルトで有効になっている匿名リクエストを無効にすることで、攻撃対象領域が限定される可能性がある。
このガイダンスでは、管理者がパッチ、更新、およびアップグレードについて最新の状態を維持することを推奨している。さらに、ソフトウェアを保護するためのインターネットセキュリティセンター(CISA)ベンチマークとベストプラクティスを定期的にチェックすることの重要性を強調している。
Kubernetesは、アプリケーションのデプロイ、スケーリング、管理を自動化するオープンソースソフトウェアである。これは、アプリケーションコンテナを大規模に管理するための事実上の標準だ。Googleは2015年にこのテクノロジーをCloud Native Computing Foundation(CNCF)に寄贈した。CNCFは、クラウドネイティブソフトウェア、コミュニティ、エコシステムの進歩を専門とするLinux Foundationの一部である。
59ページのテクニカルレポートはNSAのライブラリの一部である。NSAのライブラリには、ネットワーキング、5Gインフラストラクチャ、クラウドの脆弱性などに関連する多くのサイバーセキュリティアドバイザリがある。