KSPMとは?CSPMとどう違う?ツール活用のポイントを解説
クラウドにおけるセキュリティとコンプライアンスの問題を自動化によって検出し、修復する機能として、CSPM(クラウドセキュリティポスチャ管理)が知られています。
現在では多くのワークロードがKubernetes上にデプロイされるようになりました。そこで注目されているのが、Kubernetes環境においてCSPMを補完することができるKSPM(Kubernetesセキュリティポスチャ管理)です。
ここでは、KSPMの概要、KSPMツールでできることや一般的な活用の流れを解説したうえで、使いこなすポイントをわかりやすく解説します。
関 連 記 事
Kubernetesとは? | Kubernetesセキュリティ の基礎 | Kubernetesアーキテクチャの 設計方法 |
AWSのEKS (Elastic Kubernetes Service) | Kubernetesの クラスターとは? | Kubernetes のノードとは? |
KubernetesのPodとは? | KubernetesのHelmとは? | クラウドセキュリティと ランタイムインサイト |
KSPMとは?
KSPMとは、「Kubernetes Security Posture Management」の略で、Kubernetesクラスタのセキュリティ状況を管理・監視することです。Kubernetesセキュリティポスチャ管理とも呼ばれるほか、管理ツールの総称として使われることもあります。
一般的にはセキュリティ自動化ツールを使い、Kubernetesのあらゆるコンポーネント内のセキュリティとコンプライアンスの問題を発見し、その修正をおこなう形です。
例えば、KSPMは、KubernetesのRBAC Role定義において、管理者でないユーザーに、本来持つべきでない権限(新しいPodの作成権限など)を与える設定ミスを検出可能。他にも異なるネームスペースにあるポッド間の通信を許可する安全でないKubernetesネットワーク設定を警告することができます。
KSPMとCSPMの違い
KSPMとCSPMは、管理における対象範囲や機能が違います。
CSPMツールは、一般的なクラウドネイティブ環境のリスク管理に役立つ機能がそろっています。対してKSPMツールは、Kubernetes特有のセキュリティとコンプライアンスのリスクに対処することを想定しています。クラウド環境でKubernetesを使用する場合なら、KSPM特有の機能を活用できる専用ツールが活躍しやすくなるでしょう。
なお、そもそもKubernetes環境はクラウドで実行されることが多いため、KSPMはCSPMのひとつのコンポーネントであると考えられます。この場合、CSPMとKSPMを組み合わせるのが有効となるケースが少なくありません。
ただし、全てのKubernetesがクラウドで実行されるわけではなく、オンプレミスでデプロイされる可能性もあります。Kubernetes RBACポリシーのようにKSPMが検証するリソースと構成のタイプは、クラウドIAMポリシーやクラウドネットワーキング構成といったCSPMが保護できるリソースとは異なります。この場合、KSPMを別のドメインとみなすこともできるかもしれません。
KSPMツールでできること
KSPMツールを活用することにより、Kubernetes環境のセキュリティ戦略に関わる様々な問題を解決することができます。ここでは一般的なツールでできることを紹介しましょう。
ヒューマンエラーと見落としをキャッチ
エンジニアが作成した設定や構成がどんなに優れていたとしても、安全性を保ち続けるのは難しいでしょう。人為的なミスや見落としが原因で、セキュリティ上の脆弱性やリスクが生まれる可能性があります。
こういったミスをKSPMで検知し、対応すれば、セキュアな状態を保ちやすくなるはずです。
クラスタの進化に伴うセキュリティの管理
Kubernetesは現在も急速に進化しているテクノロジーであり、あるバージョンのKubernetesではセキュアであった構成も、新しいバージョンにアップグレードするとセキュアでなくなる可能性があります。
例えば、Kubernetesは2021年に、かつてポッドに対して特定の種類のアクセス制御を強制するための重要なリソースであったポッドセキュリティポリシーが廃止されることを発表しました。これは、かつてポッドに対して特定の種類のアクセス制御を強制するための重要なリソースであったことから、環境に影響を与えやすい変更だと考えられます。
Kubernetesの現在のバージョンはまだポッドセキュリティポリシーを強制していますが、サポートはバージョン1.25で終了します。
もし、バージョン1.25へのアップグレード時にまだポッドセキュリティポリシーを使用している場合、KSPMツールを適切に導入していれば、「Kubernetesがポリシーを無視している」とのお知らせを受け取る事が可能です。これにより、Kubernetesセキュリティコンテキストやカスタムアドミッションコントローラーのようなツールで置き換えるなどの対策を必要なタイミングでおこなるでしょう。
サードパーティの設定の検証
KSPMでは、必要に応じてサードパーティツールの検証もおこなうことが可能です。
Kubernetesはエコシステムであり、チームは日常的に上流からリソースを借りたりインポートしたりしています。例えば、公開されているDocker Hubレジストリからコンテナイメージを取り込んだり、GitHubで見つけたデプロイファイルを適用したりすることがあるでしょう。
このようなリソースを作成するサードパーティが、必ずしもあなたの環境と同じセキュリティポリシーに従っているとは限りません。確認せずにそのまま導入した場合、重大なリスクが発生する可能性があります。
KSPM は、サードパーティのリソースをスキャンして、セキュリティ上の問題の有無をチェックします。関連するセキュリティリスクを管理しながら、より安全にKubernetesコミュニティが提供する豊富なリソースを活用しやすくなるでしょう。
Kubernetes コンプライアンスの実施
特定のコンプライアンス要件を満たす必要があるシナリオに適しています。
例えば、Kubernetesによって管理またはアクセスされるデータが、HIPAAやGDPRなどのフレームワークに準拠した方法で保存されることを保証するポリシーを記述することができます。これにより企業はKubernetesクラスタ内のコンプライアンス管理を自動化できるでしょう。
KSPMツール活用の流れ
KSPMツールは一般的に以下の流れで活用することができます。ただしツールによって、実装機能が多少異なる点には注意が必要です。
関連ページ:Kubernetesセキュリティポスチャーの改善方法
セキュリティルールの定義
通常、KSPM ツールは、セキュリティとコンプライアンスのリスクを定義するポリシーによって動きます。一般的にはデフォルトでポリシーが組み込まれているほか、管理者が独自に定義することもできます。
設定をスキャン
KSPMツールは、セキュリティとコンプライアンスのルールを使用して、Kubernetes環境を自動的にスキャンします。評価する各リソースについて、事前に定義されたルールに違反する設定を探します。
一般的にはスキャンを継続的におこなう設定が理想です。新しい設定が導入されたり、既存の設定が更新されたりするたびに、リスクをリアルタイムで特定できるようにします。
検知、評価、アラート
ポリシー違反が検出された場合、KSPM ツールは通常、対応優先度を算出します。
すぐに対応すべき事項が見つかった場合は、アラートでお知らせするのが通常です。対応優先度が低めの軽微な問題なら、ログへの記録にとどめ、後で対応する形での設定もツールによって可能です。
修復
セキュリティやコンプライアンス・ポリシー違反の通知を受けたら、管理者は問題を調査して修復します。
場合によっては、さらに高度な KSPM ツールを使うのがおすすめです。「問題のある RBAC ファイルを自動修正してセキュリティを強化する」など、自動的に修正対応できることもあります。
KSPMツールを使いこなすポイント
KSPMツールの効果を最大限に発揮するには、適切に設定したうえで運用する必要があります。ここでは使いこなすためのポイントを紹介します。
継続的にスキャンする
KSPMツールでは、設定のスキャンは継続的に行う必要があります。Kubernetes 環境は、コンテナの再デプロイ、ネームスペースの追加や変更、ユーザーやサービスアカウントの作成と削除などによって、絶えず変化する傾向です。
継続的にスキャンを実行することで、セキュリティ上の問題が発生した直後、リアルタイムで確実に発見することができます。定期的にスキャンするだけよりも、安全性を高めやすくなるはずです。
ルールは常に最新の状態に
Kubernetesのセキュリティとコンプライアンスのリスクは常に進化しているため、運用ルールにも適宜反映していかなくてはなりません。
もしKSPMツールが旧バージョンのKubernetes向けに設計されたルールや、単に古いルールに依存している場合、最新のタイプのリスクを検出できない可能性があります。
Kubernetesの脅威状況の変化に合わせて更新される最新のポリシールールを採用することで、問題を回避しやすくなるでしょう。
リスクを分類して対応する
Kubernetesにおけるセキュリティリスクとコンプライアンスリスクの対応優先度は、全て同じというわけではありません。
例えば、「特権モードでの実行を許可されたコンテナ」は、「ポッドのリスト権限を誤って与えられたユーザー」よりもリスクが深刻であることが多いです。
すぐに修正すべきリスクを特定し、適切に対応できるようにするには、リスクを検出するだけでなく、対応優先度ごとに分類できるKSPMツールとポリシーを使用します。
KSPMと他のツールを組み合わせる
KSPMはKubernetesセキュリティ戦略の1つの要素ですが、それだけではありません。
KSPMは、アクティブな脅威を検出するランタイム・セキュリティの代わりにはなりません。また、KSPMはコンテナ内のマルウェアのようなリスクに対処するものでもなく、これはコンテナ・イメージ・スキャンが対処できる脅威です。
この場合、KSPMとあわせて、Kubernetes用に幅広いセキュリティツールも使うのがおすすめです。適切なツールを併用することにより、セキュリティ状況を検証し、重大なリスクを招きやすいミスを検知・修正しやすくなります。
まとめ
KSPMでは、Kubernetes環境のセキュリティとコンプライアンスの問題を発見し、修正を目指します。
継続的な自動スキャンを実行することで、管理者は最も一般的な攻撃ベクトルの1つであるヒューマンエラーを軽減。複雑なKubernetesクラスタであっても、コンプライアンスを適切に自動化することで対応できるでしょう。