関連サイト
本書の関連ページが用意されています。
内容紹介
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でアプリケーションを認証する方法を紹介します。
書誌情報
- 著者: 須田 瑛大, 五十嵐 綾, 宇佐美 友也
- 発行日: 2020-02-27 (紙書籍版発行日: 2020-02-27)
- 最終更新日: 2020-02-27
- バージョン: 1.0.0
- ページ数: 352ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
須田 瑛大
日本電信電話株式会社ソフトウェアイノベーションセンタ所属。入社以来、オープンソースソフトウェア(OSS)に関する活動に従事。Moby(dockerd)、BuildKit、containerd などのOSS のメンテナ(開発委員)を務めている。とくにRootless コンテナ技術に貢献。また、Docker Meetup Tokyo を共同運営している。
五十嵐 綾
OpenStack をベースとしたIaaS/PaaS のクラウドサービス基盤を5 年ほど開発したのち、2017 年よりゼットラボ株式会社でヤフー社向けのKubernetes 管理基盤の研究開発を担当。ほか、Kubernetes 関連のOSS 開発や、Kubernetes Meetup Tokyo を共同運営している。
宇佐美 友也
IDaaS の立ち上げなど認証関連のプロジェクトに従事したのち、2016 年9 月にゼットラボ株式会社に入社。Zero Trust Network やサービス認証の技術を中心にインフラ基盤の研究開発を行っている。社外活動としてSPIFFE/SPIRE プロジェクトへのコントリビューションをはじめ、SPIFFE Meetup Tokyo を共同運営している。
目次
第1章 Docker/Kubernetesのおさらい
- 1.1 Dockerの復習
- 1.2 Kubernetesの復習
第2章 コンテナ運用における脅威の事例
- 2.1 API エンドポイントの設定ミス
- 2.2 ランタイムやカーネルの脆弱性
- 2.3 イメージの脆弱性
第3章 ランタイムのセキュリティTips
- 3.1 Docker APIエンドポイントを保護する
- 3.2 コンテナ実行ユーザを変更する
- 3.3 ケーパビリティやシステムコールを制限する
- 3.4 ファイルアクセスを制御する
- 3.5 リソースを制限する
- 3.6 代替ランタイムを利用する
- 3.7 コンテナを監視する
- 3.8 設定を検証する
第4章 イメージのセキュリティTips
- 4.1 Dockerfile からプライベートなGit やS3 にアクセスする
- 4.2 コンテナ内で安全にイメージをビルドする
- 4.3 イメージの脆弱性を検査する
- 4.4 改竄されたイメージのデプロイを防ぐ
- 4.5 プライベートレジストリを構築する(Harbor)
第5章 Kubernetesクラスタのセキュリティtips
- 5.1 クラスタを最新の状態に保つために
- 5.2 ミスや攻撃から守るAPI のアクセス制御
- 5.3 認証モジュールの選び方と使い方
- 5.4 Service Account によるサービス認証とアカウント管理
- 5.5 認可モジュールの種類と利用方法
- 5.6 Admissionコントローラによる柔軟なアクセス制御
- 5.7 Webhookで独自のAdmission Controlを追加する
- 5.8 システムコンポーネント間通信の保護
- 5.9 スケジューラによる割り当てノードの制御
- 5.10 秘密情報を管理する
- 5.11 GitOps のためのSecret 管理
第6章 アプリケーション間通信を守る
- 6.1 Network Policy を使ってPod の通信を制御する
- 6.2 Istioを使ってPod間の通信を守る
- 6.3 SPIFFE によるアプリケーションの認証
- 6.4 クラスタ外部との通信を守る