コンテンツに移動
Google Cloud

Kubernetes のセキュリティ監査 : GKE と Anthos のユーザーが知っておくべきこと

2019年9月13日
https://storage.googleapis.com/gweb-cloudblog-publish/images/Exploring_container_security.max-2600x2600.png
Google Cloud Japan Team

※この投稿は米国時間 2019 年 8 月 30 日に Google Cloud blog に投稿されたものの抄訳です。


Kubernetes は最近、重要なマイルストーンに到達しました。初めて受けたセキュリティ監査の報告書が公開されたからです。Cloud Native Computing Foundation(CNCF)の支援を受けて実施したこのセキュリティ監査により、私たちにとって以前から明らかだったことが裏づけられました。それは Kubernetes が、企業がインフラストラクチャの基盤として使用できる成熟したオープンソース プロジェクトだということです。


監査では必ず何かが明らかになりますが、この報告書には、対処する必要がある重大な脆弱性は比較的少ししか見つからなかったと記されています。「多くの重要な発見がありましたが、高いセキュリティが要求されるワークロードや基幹ビジネス機能に、Kubernetes の採用をためらわせるようなアーキテクチャ設計上の根本的な欠陥や重大な脆弱性は見当たりませんでした」と、Google Cloud のプロダクト マネージャーで、Kubernetes Security Audit Working Group のメンバーを務める Aaron Small は述べています。なお、Kubernetes では脆弱性の報告や対応、開示のプロセスが確立しており、問題についてトリアージを行い、行動を起こすことができるシニア開発者が配置されています。
https://storage.googleapis.com/gweb-cloudblog-publish/images/GCP_k8_securityaudit.0480025209600258.max-.max-1000x1000.png

このセキュリティ監査の実施にあたっては、CNCF から委託を受けた企業が多大な労力を払いました。CNCF は、Best Practices Badge Program のもとで傘下のプロジェクトのセキュリティを確保する義務を負っています。Kubernetes の初のセキュリティ監査に向け、Kubernetes Steering Committee はワーキング グループを設立し、RFP を作成し、ベンダーと協力し、レビューを行い、最終的に報告書を公開しました。報告書の全文は Kubernetes Security Audit Working Group の GitHub ページで閲覧できるほか、CNCF のブログ記事でも主要部分をご覧になれます。


GKE と Anthos のユーザーにとっての Kubernetes のセキュリティ

241 ページに及ぶ最終報告書の内容は非常に詳細で興味深いものであり、ご一読をお勧めします。とはいえ、Google Cloud のマネージド プラットフォームである Google Kubernetes Engine(GKE)と Anthos にとって、この報告書がどんな意味を持つのかにだけ興味がある方もおられるでしょう。以下では、報告書を全部読まなくても要点がわかるように、Google Cloud のお客様向けにまとめをお届けします。


推奨構成を適用しやすい GKE

報告書にはクラスタ管理者に推奨する一連の対策が挙げられています。その中には、RBAC の使用、ネットワーク ポリシーの適用、機密情報を含む可能性があるログへのアクセス制限などが含まれます。また、報告書では Kubernetes のデフォルト設定も紹介されています。GKE では、ABAC の無効化やデフォルトの基本認証などの設定を、時間の経過とともに積極的に改善しています。その目的は、お客様が作る新しいクラスタをより安全なものにすることです。GKE の推奨構成を適用したり、どの構成がすでに適用されているかを調べたりする場合は、GKE クラスタのセキュリティ強化ガイドをご覧ください。


責任共有モデル

セキュリティ監査においては、脅威モデルに基づき Kubernetes の 8 つの主要コンポーネントのセキュリティ態勢が評価されました。ただし、GKE は責任共有モデルを採用しているので、お客様は評価結果全体を気にかける必要はありません。GKE は、報告書に取り上げられている 8 つのコンポーネントについて最新の脆弱性対策を実施する責任を負います。これに対し、お客様はユーザーとして、ノードをアップグレードし、ワークロードに関連する構成を行う責任を負いますが、ノードの自動アップグレード機能を有効にすれば、ノードを手動でアップグレードする必要はなくなります。


Kubernetes と GKE のセキュリティは向上の一途

共有されているオープンソース技術は、より多くの人の目でチェックされるため、隠れた脆弱性が発見され、修正される可能性が高くなります。Kubernetes コミュニティは、この監査に多大な時間とリソースを投入し、セキュリティが真の優先課題であることを強く打ち出しました。CNCF などによって行われるオープンな監査により、研究者(もしくはチーム)は実際の脅威を理解しやすくなるうえ、調査の深化や、最も複雑な問題の修正に時間をかけやすくなります。


問題が発生すると、最近の脆弱性発生時と同様に、上流の Kubernetes Product Security Committee が先頭に立って迅速に対応し、コミュニティに修正プログラムを提供します。


GKE は正式なディストリビューションであるため、Kubernetes でパッチが公開されると、私たちはそれらをコントロール プレーン、マスター、ノード向けに自動的に配布します。マスターでは自動的にアップグレードやパッチ適用が行われ、ノードの自動アップグレードが有効になっている場合はノードにも自動的にパッチが適用されます。セキュリティ監査報告書で明らかになった脆弱性への対処の進捗については、イシュー ダッシュボードで追跡できます。


もっと掘り下げて理解したい方は、GitHub で公開されている報告書全文をご覧ください。詳細なセキュリティ監査を実施するにあたって、Kubernetes Security Audit Working Group、CNCF、Trail of Bits、Atredis Partners が果たした素晴らしい仕事にあらためて感謝します。Google Cloud におけるコンテナ セキュリティの動向についてもっと知りたい方は、『Exploring Container Security』(コンテナ セキュリティを探る)ブログ シリーズをぜひフォローしてください。


- By Maya Kaczorowski, Product Manager, Container security

投稿先