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

2021年6月16日(水)
松下 康之 - Yasuyuki Matsushita
CNDO 2021から、Kubernetesのセキュリティのセッションを紹介する。

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以外にサンドボックスプロジェクトであるKyvernoCuriefenceInGRAINdなども存在しており、目が離せない境域と言える。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

クラウドイベント
第15回

CNDO2021、CNCFの提供するクラウドネイティブランドスケープを解説するセッションを紹介

2021/8/5
クラウドネイティブランドスケープを中心にCNCFの活動を解説したセッションを紹介する。
設計/手法/テストイベント
第14回

CNDO 2021、技術的負債を現場のエンジニアが対処する方法を解説

2021/8/2
時間の経過とともに溜まってしまう技術的負債に、現場のエンジニアはどう対処するべきかをAWSのエバンジェリストが解説したセッションを紹介する。
クラウドイベント
第13回

CNDO2021、Kubernetesがない世界とある世界の違いをインフラエンジニアが解説

2021/7/29
Kubernetesがある世界とない世界を比較して、クラウドネイティブになるためのヒントを解説するセッションを紹介する。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています