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

Wolfi - Linux un-distro for secure container image

Wolfi - Linux un-distro for secure container image

Tsubasa Nagasawa

April 12, 2023
Tweet

More Decks by Tsubasa Nagasawa

Other Decks in Technology

Transcript

  1. 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)

    View full-size slide

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

    View full-size slide

  3. 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)

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  8. 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

    View full-size slide