Kubernetesがセキュリティ監査をオープンソース化。そこから何を学べるか?
Hayley Denbraver
2019年8月8日
0 分で読めます今週8月6日、Cloud Native Computing Foundation(CNCF)は、最近実施したKubernetesのセキュリティ監査について詳しく説明するブログ記事を公開しました。昨年、CNCFはCoreDNS、Envoy、Prometheusの3つのプロジェクトを対象に、セキュリティ監査プログラムを開始しました。この試験プログラムが成功したことを受け、CNCFはエコシステム内のほかのプロジェクトにも展開しています。
Kubernetesは、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化するオープンソースのコンテナオーケストレーションエンジンであり、CNCFエコシステム最大のプロジェクトです。CNCFが主力プロジェクトのセキュリティを優先しているのは素晴らしいことです。
主なポイント
レポートの調査結果すべてを取り上げるのはこの記事の範囲を超えるため、ここでは概要をお伝えします。レポートの推奨事項の多くは、コードベースの整理、テストやドキュメントの追加、デフォルト設定のセキュリティ強化に関するものでした。こうした基本的な改善により、問題が見つかった際にパッチを適用し、解決しやすくなります。注目すべき点として、「高深刻度」に分類された調査結果が5件あり、アクセス制御、認証、タイミング、データ検証に関する問題が含まれていました。概要は以下のとおりです。
PodSecurityPolicyのアクセス制御を回避できる問題
K8sでは証明書を失効できない
HTTPS接続が認証されない
PIDの移動に関するチェック時と使用時の不整合
kubectl cpにおけるディレクトリトラバーサルの修正不備
このレポートは一読の価値があります。こちらからご覧いただけます。
セキュリティの広さと深さ
監査では、潜在的な問題を調べる対象として、ネットワーク、暗号化、認証と認可、シークレット管理、マルチテナント分離の5つの管理領域が設定されました。Kubernetesは大規模なプロジェクトであり、このレポートではセキュリティ問題を深く掘り下げるよりも、幅広く調査することが重視されています。つまり、プロジェクトのセキュリティ状況を俯瞰した監査です。
コードベースには、より詳細なレビューが有益な領域もありますが、まず幅広く調査するこのアプローチは非常に適切だったと思います。たとえば、医師の診察で血液検査を1、2項目だけ受ければ、健康状態について何かが分かるかもしれませんが、全体像を把握するのは難しいでしょう。一方、健康状態を総合的に捉えれば、全体像をよりよく把握でき、医師もさらに詳しく調べるべき問題を見つけやすくなります。
このレポートの目的は、問題を1、2件特定すること(実際にいくつかの問題は報告されています)だけではありません。Kubernetes全体の健全性を把握し、プロジェクト全体のセキュリティと持続可能性に役立つ優先事項や目標を定めることにあります。5つの管理領域それぞれについて短期・長期の目標が提案されており、Kubernetesの将来像を垣間見ることができます。
メンテナーとコミュニティにもたらすメリット
これほど重要で広く使われているプロジェクトがセキュリティ監査を受けたことは、とても素晴らしいことです。Kubernetesと同規模のほかのプロジェクトにとって良い手本となり、プロジェクトのメンテナーとコミュニティ全体の双方にメリットをもたらします。
CNCFとKubernetesのメンテナーは、セキュリティ監査に意義ある投資を行いました。セキュリティ監査を実施することで、メンテナーは悪意ある攻撃者より一歩先んじ、事後対応に終始するのではなく、先を見越したセキュリティ対策を講じられる可能性があります。ほかの人に見つかる前に、自分たちで脆弱性を発見するに越したことはありません。また、予期しない不都合なタイミングで問題に直面するのではなく、あらかじめ計画したレポートで見つかった問題に対処できることにも大きな利点があります。修正に優先順位を付けて慎重に対応でき、ほかの経路で脆弱性が公表された場合のように時間に追われることもありません。監査を実施し、調査結果をオープンソース化することで、CNCFとKubernetesのメンテナーはこの分野の模範となり、ほかのプロジェクトがセキュリティ監査を実施・公開するよう促すでしょう。
さらに、調査結果をオープンソース化することで、コミュニティのメンバーは短期・長期の目標達成によるメリットだけでなく、すぐに得られるメリットも享受できます。そのメリットは複数あります。まず、CNCFとプロジェクトのメンテナーがセキュリティを重視していると分かっているため、ユーザーは安心してKubernetesを選べます。次に、ユーザーは調査結果を確認し、自分たちのプロジェクトに合わせて、より多くの情報に基づいた判断ができます。そして、監査に含まれるホワイトペーパーや脅威モデルなど、Kubernetesやセキュリティのスキルを高めたい人にとって興味深い資料も活用できます。
まとめ
このようなセキュリティ監査の進め方を知りたい方や、今後の監査に参加したい方は、セキュリティを担当するCNCFの特別関心グループ(SIG)に参加できます。詳しくはこちらをご覧ください:https://github.com/cncf/sig-security。
このような重要な取り組みを実施したCNCFに、心からお祝いと敬意を表します。監査から多くの成果が得られることを願っています。セキュリティ監査とそのプロセスをオープンソース化することで、CNCFがほかのプロジェクトにも同様の取り組みを促すことを、私たちも願っています。
開発者ファーストのコンテナセキュリティ
Snykは、コンテナイメージとKubernetesワークロードの脆弱性を検出し、自動的に修正します。


