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

Linux カーネル 最近のコンテナ関連新機能 / TechFeed Experts Night#7

tenforward
November 02, 2022

Linux カーネル 最近のコンテナ関連新機能 / TechFeed Experts Night#7

「TechFeed Experts Night#7 〜 コンテナ技術を語る」の講演資料です。
参考となる情報にはPDF中からリンクをしていますが、資料中のリンクは Speaker Deck 上ではクリックできないので PDF をダウンロードしてご覧ください。

tenforward

November 02, 2022
Tweet

More Decks by tenforward

Other Decks in Technology

Transcript

  1. 自己紹介(1)   加藤泰文(かとうやすふみ) • Twitter: @ten_forward • LXC で学ぶコンテナ入門 -軽量仮想化環境を実現

    する技術 (gihyo.jp, 2014 年〜) • 「Linux Container Book (1) Namespace / Network 編」執筆(同人本) • 趣味でコンテナやってます。コンテナの主にカーネ ル周辺の実装に興味があります • Kubernetes 知りません。コンテナといえば LXC/LXD です 2/12
  2. seccomp notify • 非特権コンテナ内の root(ホストでは一般ユーザー)に許可される・許可されない処理 はカーネル内で指定されている(初期の User Namespace 内で権限があるか確認) •

    一般的に危険とされ、許可されない処理でも、コンテナランタイム、コンテナホスト管 理者は「このコンテナにはこの処理を許可しても大丈夫」とわかっている場合がある そこで   5.0 カーネル(2019 年)で seccomp notify 導入(〜5.5 にかけて機能が充実) 6/12
  3. seccomp notify 1. seccomp がシステムコールの実 行を検知 2. 検知したことをユーザー空間のプ ログラム(コンテナランタイム) に通知

    3. 通知を受けたプログラムがシステ ムコール実行の可否を判断し、 カーネルに結果を通知 4. seccomp がその結果に従って処 理を行う(システムコールを実行 or 拒否) 固定的なポリシーで許可・禁止を決めるのではなく、柔軟に実行の可否が設定できるように なった。 (例)ファイルシステムのマウント、デバイスファイルの作成 7/12
  4. seccomp notify をもっと知るには • 第 14 回 コンテナ技術の情報交換会@オンライン(seccomp 回) •

    Introduction to Seccomp(@ mrtc0 さん) • seccomp notify による安全なコンテナ実行環境(@ten_forward) • LXC で学ぶコンテナ入門「第 47 回 非特権コンテナの可能性を広げる seccomp notify 機能」 (gihyo.jp) • Seccomp Notify(brauner’s blog) 8/12
  5. ID mapped mount • これまで • chown • 永久に所有権が変わる •

    chown 前にファイルの所有権を確認す る必要がある • コスト高 • ID mapped mount • 5.12 カーネル(2021 年) (ただしファイ ルシステム側のサポートが必要) • 所有権を変更せずに、User Namespace で使うマッピングに従って、コンテナの ファイルシステムのマウントを行う 10/12