CNDO 2021、KubernetesのセキュリティをHPEのアーキテクトが解説

CNDO 2021から、Kubernetesのセキュリティのセッションを紹介する。

松下 康之 - Yasuyuki Matsushita

2021年6月16日 7:35

CloudNative Days ONLINE 2021から、今回はコンテナとKubernetesのセキュリティに関する初歩の解説を実施したセッションを紹介する。セッションを担当したのは日本ヒューレット・パッカード株式会社のアーキテクトである磯貝哲也氏だ。

セキュリティは商用、オープンソースを含めて多くのソリューションが開発されている領域であり、CNCFのランドスケープでも多くのソフトウェアがリストアップされている。

CNCFのランドスケープにリストアップされているセキュリティ関連ソフトウェア:CNCF Cloud Native Interactive Landscape

磯貝氏は「ここからはじめるKubernetes Security」と題して、セキュリティの基礎的な考え方からコンテナにおけるセキュリティの考え方、Kubernetesのクラスターに対するセキュリティの方法、各種ツールの紹介などを行った。

プレゼンテーションを行う磯貝氏

プレゼンテーションを行う磯貝氏

領域としては非常に広いセキュリティをすべてカバーするのではなく、まずは原則として防御の基礎を理解して欲しいとして挙げたのがこのスライドだ。

セキュリティの原則を解説

セキュリティの原則を解説

ここでは複数の防御層を用意すること、ユーザー、プロセスなどに必要最小限の権限を与えること、そして攻撃される対象やポイントを削減することの3つが重要であると説明した。最後の「攻撃対象領域の削減」は「Reduce Blast Radius=爆発半径を削減する」という言い方で解説されることもあり、たとえ攻撃をされたとしても被害を最小限に抑えるという意味合いも含まれていると考えるべきだろう。

「侵入」を例に攻撃の方法を説明

「侵入」を例に攻撃の方法を説明

この例では、攻撃者がシステムに侵入し、最終的に特権を獲得することでデータの盗難、システムの破壊などが行われることを解説した。ここでは徐々に侵入を企て、最終的にシステムを自由に操る特権を奪うやり方を説明し、攻撃者が洗練された手法を使っているということを紹介した。

クラウドネイティブセキュリティの基本の4つのC

クラウドネイティブセキュリティの基本の4つのC

このスライドではKubernetesの公式ドキュメントから引用して、ソースコード、コンテナ、コンテナを実行するサーバー群であるクラスター、そしてクラウドインフラストラクチャーの4つのレイヤーにおいて、セキュリティを意識する必要があることを解説した。

この図の引用元である公式ドキュメントは以下から参照されたい。

公式ドキュメント:Overview of Cloud Native Security

続いては、アメリカの非営利団体MITREが公開しているマトリックスを使って、攻撃者がシステムのどの部分にどのような攻撃を仕掛けてくるのか? を理解することが必要だと説明した。このマトリックスについては、NTTデータ先端技術株式会社がコラムとして詳しく解説しているので、そちらも参照して欲しい。

MITREのマトリックスを使って攻撃手法の分類を紹介

MITREのマトリックスを使って攻撃手法の分類を紹介

参照:セキュリティコラム「MITRE ATT&CK その1 ~概要~」

次にコンテナやアプリケーションが実行されるレイヤーを比較しながら、ハードウェア、OS、システムコールインターフェース、ライブラリーなどとともに、いかにコンテナが分離されているのかを解説した。

アプリケーションとコンテナを比較して解説

アプリケーションとコンテナを比較して解説

通常のアプリケーションにおいてPermissionが果たしている役割を、コンテナにおいてはランタイムのレイヤーが果たしていることを説明した。その上でnamespace、capability、cgroupについて簡単に説明を行った。

capabilityについて解説

capabilityについて解説

ここからはコンテナをオーケストレーションするKubernetesのセキュリティについての解説に移った。

Kubernetesのコンポーネントにどのようなリスクが有るのかを解説

Kubernetesのコンポーネントにどのようなリスクが有るのかを解説

Kubernetesは複数のノード(サーバー)によって構成されたクラスターが基本構成となるが、ノードとコントロールプレーンとなるコンポーネント(API Server、Kubelet、etcdなど)にどのようなリスクが有り得るのかを、代表的な攻撃例を示しながら解説した。

ノードのセキュリティを上げるための設定を解説

ノードのセキュリティを上げるための設定を解説

そのためにPodレベルのセキュリティ、ノードレベルのセキュリティ設定がそれぞれ必要であるとして、ここではホストOSの強化や、コンテナ実行を制御するKubeletの設定としてAnonymous-authをFalseに設定する例などを示して解説を行った。

コントロールプレーンのセキュリティ強化の例

コントロールプレーンのセキュリティ強化の例

このスライドで最初に挙げられているポイントが「Kubernetesのバージョンを常に最新にアップデートする」という内容であるのは重要だ。活発に開発が行われるオープンソースソフトウェアの場合、「リリースが多過ぎて実装が追いつかない」「アップデートの工数が取れない」「アップデート後の確認の手順が決まっていない」などの理由で、同じバージョンを使い続けるいわゆる塩漬け状態のプロジェクトを持っているIT部門には耳が痛い内容だろう。またKubernetesのデータストアであるetcdの暗号化なども要チェックポイントだと説明した。

KubernetesのRBACを解説

KubernetesのRBACを解説

このスライドでは、Role Base Access Control(RBAC)について説明を行った。RBACの確認方法、ユーザーごとにアクセス権を確認する方法などを解説した上で、Admission Controllerについても簡単に解説した。

Admission Controllerの解説

Admission Controllerの解説

その後、Kubernetesのセキュリティを実装するツールとしてAqua Securityが開発するKube-BenchとTRIVVY、Sysdigが開発するFALCO、2021年2月にCNCFのグラデュエーションプロジェクトとなったOpen Policy Agentをそれぞれ解説した。

OPA/Gatekeeperを解説

OPA/Gatekeeperを解説

最後にKubernetesのセキュリティに関する知識と実践を深めるために、Certified Kubernetes Security Specialist(CKS)試験についても解説した。ここでは磯貝氏自身が試験を受けた経験を元に説明されているが、より詳細は磯貝氏のブログを参照されたい。

参考:Certified Kubernetes Security Specialist (CKS) 試験のFeedback

Kubernetesとコンテナのセキュリティを網羅的に解説するというよりも、取り掛かりとしてのトピックを紹介したセッションであり、エントリーポイントに適した内容だろう。冒頭で触れたように、クラウドネイティブなセキュリティについては多くのソリューションが存在し、CNCFのプロジェクトとしてもOPA以外にサンドボックスプロジェクトであるKyvernoやCuriefence、InGRAINdなども存在しており、目が離せない境域と言える。

この記事のキーワード :

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30