Slide 1

Slide 1 text

Copyrights©3-shake Inc. All Rights Reserved. Wolfi Linux un-distro for secure container image 2023/4/12 3-shake SRE Tech Talk #5 コンテナセキュリティ最前線 LT (10 min)

Slide 2

Slide 2 text

Copyrights©3-shake Inc. All Rights Reserved. 2 whoami Tsubasa Nagasawa (@toversus26) 株式会社スリーシェイク Sreake 事業部 スマホ向けゲームの Kubernetes エンジニアを経て、 2023 年 3 月から SRE 見習いをやっています。 Kubernetes やエコシステム周りを観察するのが好きです。 KEP-753 と KEP-2433 の結末が気になります。

Slide 3

Slide 3 text

Copyrights©3-shake Inc. All Rights Reserved. 3 Wolfi ● セキュリティ重視のカーネルを含まない Linux un-distro ● Chainguard の distroless images のベース ○ https://github.com/chainguard-images/images ● 特徴 ○ upstream で脆弱性修正を含んだリリースがまだなら手動パッチ ○ SBOM 標準搭載 ○ 必要な依存関係しか持たない最小イメージ構成 ○ glibc と musl を選択可能 ○ パッケージ形式として APK を採用 ○ 宣言的で再現可能なビルドシステム (melange, apko) ○ ライブラリやツールの変更の自動追従 (wolfictl)

Slide 4

Slide 4 text

Copyrights©3-shake Inc. All Rights Reserved. 4 Chainguard Images ● Chainguard Images をベースイメージとして使うだけ ○ Alpine の APK と一部パッケージ名が異なるので注意

Slide 5

Slide 5 text

Copyrights©3-shake Inc. All Rights Reserved. 5 melange ● APK 形式のパッケージを生成するビルドツール ○ パイプラインを定義してコンテナ内で処理を実行 (Bubblewrap or Docker) ■ 事前定義されたパイプラインの利用 ■ ソースコードからビルド ■ 脆弱性修正のパッチの適用 ■ … ○ マルチアーキテクチャ対応 ○ YAML ファイルで宣言的に管理 ○ パッケージに署名

Slide 6

Slide 6 text

Copyrights©3-shake Inc. All Rights Reserved. 6 apko ● APK パッケージを組み合わせてコンテナイメージの生成とプッシュ ○ ko-build/ko に影響を受けている ○ Docker デーモンも特権も不要でビルド ○ 再現性のあるイメージ生成 ○ 最小構成の distroless イメージを生成 ○ YAML ファイルで宣言的に管理 ○ マルチアーキテクチャ対応 ○ SBOM を自動で同梱 ○ s6 を使った複数プロセス管理

Slide 7

Slide 7 text

Copyrights©3-shake Inc. All Rights Reserved. Demo https://github.com/toVersus/wolfi-demo ※ koki-develop/clive を使ってライブデモしています

Slide 8

Slide 8 text

Copyrights©3-shake Inc. All Rights Reserved. 8 Summary ● Wolfi でソフトウェアの部品を最新に近い状態に ○ Linux distro の脆弱性対応のリリース待ちをやめよう ○ Ephemeral containers の機能があるので Distroless でも良い ● melange / apko / wolfictl でビルドシステムが組める ○ How Google got to rolling Linux releases for Desktops - Google Cloud ● 配布されたコンテナイメージの利用からセルフビルド時代へ? ○ We’re No Longer Sunsetting the Free Team Plan - Docker ● 再現性のあるビルドでソースコードの出所を担保 ○ https://reproducible-builds.org/ ○ [FOSDEM2023] Bit-for-bit reproducible builds with Dockerfile