ISBN 9784839970505
Docker/Kubernetes開発・運用のためのセキュリティ実践ガイド
概要
Docker/Kubernetesのセキュリティ設定を体系的に実践する
想定読者
Kubernetes を業務で運用しているエンジニアで、デフォルト設定のセキュリティリスクを具体的に把握し対策を施したい人。CKS(Certified Kubernetes Security Specialist)の学習資料としても活用できる。
こんな人には向いていない
- DockerもKubernetesも触ったことがない初学者。本書は第1章でおさらいを提供するが、主眼はセキュリティ強化であり入門書ではない
- すでに本番クラスタのセキュリティ設計を完了しPodman・OPA・Istioを熟知しているチームには既知の内容が多い
- 英語の一次情報(公式ドキュメント・CNCF仕様)を中心に学習しているエンジニア。英語リソースが充実する中、日本語で体系的に整理された価値を求める人向け
読了後にできるようになること
- Docker APIエンドポイントの保護方法と非rootコンテナ実行の設定手順
- SELinuxによるファイルアクセス制限をコンテナ環境に適用する方法
- Dockerイメージの脆弱性スキャンとプライベートレジストリの構築・運用
- KubernetesのRBACとService Accountを正しく設定し最小権限を実現する方法
- Admission Webhookを開発してポリシーを動的に強制する仕組みの理解
- Network PolicyとIstioを使ったPod間通信の制御とSPIFFEによるアプリケーション認証
本書のキー概念(章解説)
- 第 1 章 Docker/Kubernetesのおさらい — 既存ユーザーは速読可。第2章以降のセキュリティ文脈を理解するための最低限の確認に使う
- 第 2 章 コンテナ運用における脅威の事例 — 過去の脆弱性CVEと設定ミスによる実被害事例を扱う。なぜ対策が必要かの動機付けになる
- 第 3 章 ランタイムのセキュリティTips — Docker APIエンドポイント保護・非root実行・SELinux制限など即時適用できる設定が集中している
- 第 4 章 イメージのセキュリティTips — 脆弱性スキャンとプライベートレジストリ構築。CI/CDパイプラインへの統合観点で読むと実践的
- 第 5 章 KubernetesクラスタのセキュリティTips — RBAC基礎からAdmission Webhook開発まで幅広い。初読時は基礎節→応用節の順に2パスで読む
- 第 6 章 アプリケーション間通信を守る — Network Policy・Istio・SPIFFEを扱う。マイクロサービス間の認証設計に直結
ハイライト
- コンテナセキュリティについてネットで検索すると至る所で目にする有名な書籍ですが、Docker/Kubernetes 開発・運用のためのセキュリティ実践ガイドを参考書として学習を進めました。(CKS合格者が基礎固めの主要教材として位置づけた記述。学習資料としての信頼性を示す)
- DockerとKubernetesのセキュリティ対策方法が記載されている書籍です。セキュリティに対する考え方や対策を俯瞰して把握することができましたね〜(セキュリティ全体像の把握を最初の一歩として評価した実践者の声)
- デフォルトの設定でコンテナを実行していませんか?KubernetesのリソースIに対する権限を正しく設定できていますか?(本書が問いかける具体的な問題意識。自己点検の出発点として購入判断を促す)
外部からの言及
- CKS(Certified Kubernetes Security Specialist)受験者の複数名が学習の初期段階で参照し、試験勉強に先行してコンテナセキュリティの全体像を把握するための基礎教材として活用している(qiita)
- 英語の学習コンテンツが中心となっているコンテナセキュリティ領域において、日本語で体系的に整理された書籍として位置づけられており、英語リソースへの橋渡しとして活用されている(qiita)
- Kubernetes を実務で扱うエンジニア向けの学習リソースリストに、ファンダメンタルズを習得した次のステップとして掲載されている。コンテナ単体にとどまらずシステム全体のセキュリティ対策を扱う点が評価されている(qiita)
編集メモ
Qiita 言及 7件 / 累計 likes 593 / CKS受験者複数名が学習教材として参照。10件・200likes未満のためessential未達だが、コンテナセキュリティ領域で日本語書籍として繰り返し参照されている実績がある
読む前に押さえておきたいこと
- Dockerイメージのビルドとコンテナ起動を自力で行える程度の実操作経験
- KubernetesのPod・Deployment・Serviceなど基本リソースを実際に操作したことがある
- Linuxの基本的なファイルパーミッションとプロセス管理の知識
学習のコツ
- 第1章は既存ユーザーなら速読し、第2章の脅威事例から読み始めると動機付けが強まる
- 第3章と第4章は設定手順が具体的なため、手元のDocker環境で実際にコマンドを実行しながら進めると定着が早い
- 第5章はRBACの基礎節を一読した後、Admission Webhookの応用節を試験・業務の必要度に応じて取捨選択する
- CKS受験目的の場合は第5〜6章を重点的に読み、その後Killer.shなどのシミュレータで演習すると効果的
出版社による内容紹介
DockerやKubernetesを使ってアプリケーションをデプロイすることは、いまや当たり前になりつつあります。しかしながら、DockerやKubernetesのセキュリティを確保することはいまだに簡単ではありません。 デフォルトの設定でコンテナを実行していませんか? Kubernetesのリソースに対する権限を正しく設定できていますか? 本書は、DockerやKubernetesのセキュリティを強化するための設定方法や、便利なツールの使い方について、網羅的かつ詳細に記しています。また、Dockerに代わるコンテナエンジンとして話題のPodmanなど、最新のソフトウェアに関する情報もふんだんに盛り込みました。 第1章 Docker/Kubernetesのおさらい ・DockerやKubernetesの使い方について簡単におさらいします。 第2章 コンテナ運用における脅威の事例 ・DockerやKubernetesを構成するコンポーネントの過去の脆弱性情報や、設定ミスによる攻撃被害事例を紹介します。 第3章 ランタイムのセキュリティTips ・Docker APIエンドポイントを保護する方法、コンテナを非rootユーザで実行する方法や、SELinuxでファイルアクセスを厳しく制限する方法などを紹介します。 第4章 イメージのセキュリティTips ・Dockerイメージの脆弱性を検査する方法や、プライベートイメージレジストリの構築方法などを紹介します。 第5章 KubernetesクラスタのセキュリティTips ・Service AccountやRBACの基本的な設定方法から、独自のAdmission Webhookの開発方法といった応用的なTipsまで幅広く紹介します。 第6章 アプリケーション間通信を守る ・Network PolicyやIstioを使ってPodの通信を制御する方法や、SPIFFEでアプリケーションを認証する方法を紹介します。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。