書籍概要

Software Design plus

基礎から学ぶコンテナセキュリティ
――Dockerを通して理解するコンテナの攻撃例と対策

著者
発売日
更新日

概要

Dockerの普及に伴い,コンテナ技術はすっかり一般化しました。開発環境の構築から,本格的なコンテナアプリケーションの運用まで,利用方法はさまざまです。Dockerおよびコンテナ技術は今や開発者にとって必須の技術・ソフトウェアと言えるでしょう。

その一方で忘れてはならないのがセキュリティです。コンテナはサンドボックス技術の1つであり,それを使った開発や運用は安全だと思う人もいるでしょう。しかし,適切に対策しなければ非常に危険です。隔離されているはずのホストOS本体を攻撃されてしまう可能性もあります。

本書は,コンテナ利用時のセキュリティ上のトラブルを防ぎ,コンテナを安全に活用する方法を基礎から解説します。

こんな方におすすめ

  • コンテナユーザー,Dockerユーザー
  • セキュリティエンジニア
  • SRE
  • コンテナを安全に運用したい人

目次

第1章 コンテナ型仮想化とは

  • 1.1 コンテナ型仮想化の概要
  • 1.2 Dockerの使い方
  • 1.3 コンテナの標準仕様と実装

第2章 コンテナの仕組みと要素技術

  • 2.1 DockerクライアントとDockerデーモン
  • 2.2 コンテナイメージのレイヤ構造
  • 2.3 コンテナとLinuxカーネルの機能
  • 2.4 シェルスクリプトで学ぶコンテナの実装

第3章 コンテナへの主要な攻撃ルート

  • 3.1 コンテナ運用時のアタックサーフェス
  • 3.2 コンテナランタイムへの攻撃
  • 3.3 コンテナの設定不備を利用した攻撃
  • 3.4 Linuxカーネルへの攻撃
  • 3.5 コンテナイメージやソフトウェアの脆弱性を利用した攻撃

第4章 堅牢なコンテナイメージを作る

  • 4.1 コンテナイメージのセキュリティ
  • 4.2 コンテナイメージのセキュリティチェック
  • 4.3 セキュアなコンテナイメージを作る

第5章 コンテナランタイムをセキュアに運用する

  • 5.1 ケーパビリティの制限
  • 5.2 システムコールの制限
  • 5.3 ファイルアクセスの制限
  • 5.4 リソースの制限
  • 5.5 コンテナ実行ユーザーの変更と権限昇格の防止
  • 5.6 セキュアなコンテナランタイムの使用
  • 5.7 セキュアに運用するためのガイドライン

第6章 セキュアなコンテナ環境の構築

  • 6.1 コンテナのセキュリティ監視
  • 6.2 コンテナの操作ログの記録
  • 6.3 Sysdig / Falcoによるコンテナの挙動の監視
  • 6.4 ホストのファイル整合性監視
  • 6.5 その他のセキュリティモニタリング
  • 6.6 コンテナへの攻撃や設定ミスを防ぐ

サポート

補足情報

本書のソースコード

(2023年6月30日更新)

本書で利用するソースコードは,以下GitHubリポジトリで配布します。

https://github.com/container-sec/support-container-security-book

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2023年10月19日最終更新)

「はじめに」P.v 表1

本書で利用するソフトウェアの一覧から,Open Policy Agent(OPA)が漏れておりました。表の最後に以下の1行を追記してお読みください。

Open Policy Agent v0.57.0 https://www.openpolicyagent.org/docs/latest/#running-opa

(以下2023年9月12日更新)

P.73 図3-15 下から6,7行目

root@8d01f2f23ae1:/# gcc -o /tmp/pwn /tmp/pwd.c
root@8d01f2f23ae1:/# /tmp/pwd
root@8d01f2f23ae1:/# gcc -o /tmp/pwn /tmp/pwn.c
root@8d01f2f23ae1:/# /tmp/pwn

商品一覧