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

Linux コンテナ最近の新機能 / SosaiLT 36th

Avatar for tenforward tenforward
December 14, 2022

Linux コンテナ最近の新機能 / SosaiLT 36th

総関西サイバーセキュリティLT大会(第36回)の LT 資料です。
参考となる情報にはPDF中からリンクをしていますが、資料中のリンクは Speaker Deck 上ではクリックできないので PDF をダウンロードしてご覧ください。

Avatar for tenforward

tenforward

December 14, 2022
Tweet

More Decks by tenforward

Other Decks in Technology

Transcript

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

    する技術 (gihyo.jp, 2014 年〜) • 「Linux Container Book (1) Namespace / Network 編」執筆(同人本) • コンテナの勉強会を主宰しています • 趣味でコンテナやってます。コンテナの主にカーネ ル周辺の実装に興味があります • 仕事はセキュリティの部署にいます 3/14
  2. seccomp notify • User Namespace を使った一般ユーザー権限で起動するコンテナ内の root(ホスト上 では一般ユーザー)に許可される・許可されない処理はカーネル内で指定されている (初期の User

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

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

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

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