Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Docker を安全に始めよう ~Docker Hardened Images (DHI) 入門~

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for suzuki suzuki
April 22, 2026

Docker を安全に始めよう ~Docker Hardened Images (DHI) 入門~

Avatar for suzuki

suzuki

April 22, 2026

More Decks by suzuki

Other Decks in Technology

Transcript

  1. 2 鈴木 敦 Atsushi Suzuki LinkedIn Docker Captain AWS Community

    Builder Kubestronaut 2020/7 ~ エンジニア人生開始 ~ 2026/3 フロント → AI・インフラ 2026/4 ~ 新天地! かっこよすぎるロゴ 最近なりました それ以前は営業 逆求人、宅配、SaaS 新しいことをやっていきたい
  2. 4 今日お話しすること 1. Docker が選ばれる理由 2. はじめから「安全」に使う理由 3. Docker Hardened

    Images(DHI)とは 4. デモ:公式イメージ vs DHI を比較 5. 今日からどう始めるか
  3. 13 DHI の制約 = 安全の秘密 特徴 なぜ安全か 実行環境にシェルがない 侵入されても操作できない パッケージ追加ができない

    不正なソフトを入れられない 管理者権限がデフォルトで OFF 権限を奪われるリスクが減る
  4. 15 デモの全体像 TypeScriptベースの Web サーバーアプリを用意 公式イメージと DHI で同じアプリをビルド FROM 行を変えるだけで何が変わるかを

    4 つの観点で比較 # 比較観点 ① Dockerfile の差分 ② イメージサイズ & 脆弱性の数 ③ 証明書の数 ④ シェルの有無
  5. 16 デモ① Dockerfile 比較 公式イメージ版と DHI 版の Dockerfile を並べます。 #

    公式イメージ版 FROM node:24-trixie-slim AS builder FROM node:24-trixie-slim # DHI 版 FROM dhi.io/node:24-debian13-dev AS builder FROM dhi.io/node:24-debian13 FROM 以外は完全に同じです。
  6. 17 デモ② イメージサイズ & 脆弱性の数 # サイズ比較 docker images --format

    "table {{.Repository}}\t{{.Tag}}\t{{.Size}}" \ | grep demo # 脆弱性の比較 docker scout compare demo-dhi --to demo-official 「小さい」だけではない 余計なものが少ない → 脆弱性(セキュリティの穴)も少ない
  7. 18 デモ③ 証明書の数 # 公式:SBOM とProvenance のみ docker scout attest

    list node:24-trixie-slim # DHI :脆弱性スキャンやマルウェアスキャンも含む docker scout attest list dhi.io/node:24-debian13
  8. 19 デモ④ シェルの有無 # 公式イメージ — シェルに入れる docker run --rm

    -it demo-official /bin/sh # DHI — 失敗する docker run --rm -it demo-dhi /bin/sh DHI の runtime にはシェルがない → 攻撃面が減る build 用と runtime 用を分ける理由がここで腹落ちする
  9. 20 まとめ Docker は便利。だからこそ最初から安全に DHI なら FROM を変えるだけで脆弱性がほぼゼロに 「軽い」だけじゃない —

    「中身を確認できる」のが本質 観点 公式イメージ DHI 脆弱性 多い ほぼゼロ 証明書 2種類 15 種類(署名付き) シェル(本番) あり なし 管理者権限 明示が必要 デフォルトで OFF
  10. 21 今日からどう始めるか 1. Docker Desktop をインストール 2. Dockerfile の FROM

    を DHI に変える FROM dhi.io/node:24-debian13 3. Docker Desktop の Images タブで脆弱性を確認