クラウドネイティブが主流となった今、コンテナアプリケーションのセキュリティ対策は最優先課題です。Google Kubernetes Engine(GKE)はコンテナworkloadsのデプロイと運用に堅牢な基盤を提供しますが、セキュリティはあくまで責任共有モデルに基づくものです。本記事では、GKEクラスターのセキュリティ態勢をプロアクティブに管理するためのツール群「GKE Security Posture」について解説します。
なぜGKE Security Postureが重要なのか
従来型のセキュリティ対策では、コンテナ環境ならではの動的かつ分散的な性質に追従しきれないケースが少なくありません。GKE Security Postureは、GKEクラスター内に潜む脆弱性を一元的に可視化することで、このギャップを埋めます。重大な事象に発展する前に、セキュリティ上の懸念を発見・対処できるのが大きな利点です
セキュリティポスチャーダッシュボードでは、複数クラスターにまたがるworkloadsのセキュリティ状態をランタイムで確認できます。
GKE Security Postureの主要機能
Workloadのセキュリティチェック
本機能は、複数クラスターで稼働中のworkloadsの構成を自動的に監査し、セキュリティ態勢を改善するための具体的な推奨事項を重要度スコアとともに提示します。対象となるデプロイ済みworkloadごとに、GKEは仕様を継続的にスキャンし、各フィールドと値をセキュリティポリシーで定義された制御項目と照合します。
アラート対象となる設定の例は次のとおりです。
- ホスト名前空間を共有するPod。プロセスがホストプロセスと通信し、ホスト情報を取得できるため、コンテナエスケープにつながる恐れがあります。例:
spec.hostNetwork、spec.hostPID - ホストと名前空間を共有し、cgroup、seccomp、AppArmor、Capabilityの制限が欠けている特権コンテナ。例:
spec.containers[*].securityContext.privileged runAsUserでコンテナをrootとして実行することを許可している、またはイメージのUSERディレクティブでrootユーザーが指定されているケース。例:spec.securityContext.runAsNonRoot
本機能がチェックする全フィールドはこちらでご確認いただけます。
セキュリティポスチャーダッシュボードでは、検出された懸念事項が重要度順に並びます。各検出結果について、緩和方法の詳細も確認できます。

GKE Security Postureダッシュボード — Workload構成

GKE Security Postureダッシュボード — 検出された懸念事項
脆弱性スキャン
GKE Security Postureでは、BasicとAdvancedの2種類の脆弱性スキャンを利用できます。

GKE Security Postureダッシュボード — 脆弱性スキャンの種類
Basic脆弱性スキャン — コンテナOS脆弱性スキャン:
追加コストなしで利用できる基本モードです。GKEは登録済みのGKEクラスター上で稼働するコンテナイメージを継続的にスキャンします。
GKEはNISTなどの公開CVEデータベースの脆弱性データを利用します。イメージの取得元は任意のイメージレジストリで構いません。
OSバージョンはスキャン対応のものに限られます。サポート対象OSの一覧はサポート対象Linuxバージョンをご覧ください。
Advanced脆弱性スキャン — 言語パッケージスキャン:
Advancedモードでは、OS脆弱性スキャンに加えて、一部の言語パッケージにおける既知の脆弱性についてもコンテナを継続的にスキャンします。脆弱性データはGitHub Advisory Databaseなどの公開ソースから取得されます。
スキャナーはArtifact Analysisスキャナーで、Artifact Registryリポジトリの保護のために単独で導入することもできます。セキュリティポスチャーダッシュボードでは、workloads実行中にイメージをスキャンするため、コンテナイメージの取得元レジストリは問いません。コンテナイメージへの変更がワークフローからプッシュされたタイミングで、GKEが言語パッケージを継続的にスキャンします。
継続的スキャンにより、修正が公開された時点で新たな脆弱性の通知を受け取れるため、発見から是正までの時間を短縮できます。GKEがスキャンする言語パッケージはGo、Maven、JavaScript、Pythonです。
バージョン1.27以降のAutopilotクラスターを新規作成すると、スキャンは自動的に有効化されます。Standardクラスターでは、ユーザー側で有効化する必要があります。
セキュリティポスチャーダッシュボードに表示されるのは、CVE番号が紐付いた脆弱性のみです。Advancedスキャンは有償サービスで、クラスター単位・時間単位で課金されます。
詳細はこちらをご覧ください。
セキュリティ情報の表示
GKEで脆弱性が発見されると、Googleはパッチを適用し、セキュリティ情報を公開します。識別、パッチ適用、タイムラインに関する情報はGKEセキュリティパッチをご参照ください。
本機能はAutopilotまたはStandardクラスター作成時に自動的に有効化されますが、現時点(2024年6月)ではプレビュー段階です。

GKE Security Postureダッシュボード — セキュリティ情報
サプライチェーン — Binary Authorization
セキュリティポスチャーダッシュボードでは、プロジェクト内で稼働している他のGoogle Cloudセキュリティ機能のインサイトも確認できます。その一例がBinary Authorizationです。
セキュリティポスチャーダッシュボード自体に追加料金はかかりませんが、Binary Authorizationの強制適用などの機能はダッシュボードの機能とは別であり、Binary Authorization for GKEの料金が適用されます。
Binary Authorizationは、稼働中のコンテナイメージについて以下の問題をチェックします。
- 暗黙的または明示的に
latestタグを使用しているイメージ - Artifact RegistryまたはContainer Registry(非推奨)に30日以上前にアップロードされた、ダイジェストでデプロイされたイメージ
Binary Authorizationの詳細はこちらのリンクをご覧ください。
GKE脅威検出
GKE脅威検出は、GKE Enterpriseユーザーが追加料金なしで利用できる高度な機能です。本機能は2024年6月時点でプレビュー段階となっています。
GKEクラスターをフリートに登録すると、GKE脅威検出はCloud Logging内のGKE監査ログを、クラスターおよびworkloadsの脅威に関する事前定義済みルールセットと照合して評価します。脅威が検出されると、その内容、想定される影響、緩和策の推奨事項とともに、GKEセキュリティポスチャーダッシュボードに検出結果が表示されます。
フリート内の登録済みGKEクラスターはすべて、アクティブな脅威について継続的にスキャンされます。検出された脅威はMITRE ATT&CK®戦術に基づいて分類されます。
GKE脅威検出はSecurity Command CenterのEvent Threat Detectionサービスを基盤としています。GKEセキュリティポスチャーダッシュボードでは、GKEに該当するルールのサブセットのみが評価対象となります。
Security Command Centerとの統合
お問い合わせ
DoiT Internationalをまだご存じない方は、ぜひ一度サイトをご覧ください。私たちのチームは、お客様のクラウドエンジニアリング課題について喜んでお話を伺います。シニアクラスのEngineersのみで構成された当社は、高度なクラウドコンサルティング、アーキテクチャ設計、デバッグ支援を専門としています。お気軽にお問い合わせください。
GKE Security Postureを活用することで、クラスターのセキュリティ状態を一元的に把握でき、プロアクティブな脅威検出と緩和が可能になります。この包括的なツール群により、コンテナアプリケーションを保護し、健全なクラウドネイティブ環境を維持できます。
本記事がお役に立てば幸いです。ご質問は下記コメント欄までお気軽にお寄せください。
参考資料:
https://cloud.google.com/security-command-center/docs/concepts-security-sources#gke-security-posture-dashboard\ d https://cloud.google.com/kubernetes-engine/docs/concepts/about-configuration-scanning#what-checks
https://cloud.google.com/artifact-analysis/docs/scan-os-automatically#linux-versions
https://nvd.nist.gov/vuln/search
https://cloud.google.com/artifact-analysis/pricing#avi
https://cloud.google.com/kubernetes-engine/docs/resources/security-patching
https://cloud.google.com/binary-authorization/pricing#for_pricing
https://attack.mitre.org/tactics/enterprise/
https://cloud.google.com/security-command-center/docs/concepts-event-threat-detection-overview