Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rootless コンテナはいいぞ
Search
Naoki MATSUMOTO
March 10, 2024
2
660
Rootless コンテナはいいぞ
Naoki MATSUMOTO
March 10, 2024
Tweet
Share
More Decks by Naoki MATSUMOTO
See All by Naoki MATSUMOTO
詳解 bypass4netns: Rootless Containers Network の仕組みと高速化
mt2naoki
2
560
QUIC の仕組み(Handshake)
mt2naoki
1
290
bypass4netns: Accelerating TCP/IP Communications in Rootless Containers
mt2naoki
0
190
コンテナ技術における最新の研究動向
mt2naoki
15
11k
Zig で TLS1.3 を実装している話
mt2naoki
0
190
Efficient Container Image Updating in Low-bandwidth Networks with Delta Encoding
mt2naoki
0
1.5k
TLS 1.3 で学ぶ暗号技術
mt2naoki
0
430
Accelerating TCP/IP Communications in Rootless Containers by Socket Switching
mt2naoki
0
1.4k
Capability Based Network Access Control for Smart Home Devices
mt2naoki
0
180
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Six Lessons from altMBA
skipperchong
28
3.7k
A better future with KSS
kneath
239
17k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
Gamification - CAS2011
davidbonilla
81
5.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Transcript
Rootless コンテナはいいぞ 2024/3/10 情報科学若手の会春の陣2024 松本直樹(京都大学 情報学研究科) 1
Rootless コンテナとは コンテナを構成する各種ランタイムが一般ユーザーで動く • runc(低レベルランタイム), containerd(高レベルランタイム) コンテナの隔離が破られても一般ユーザー権限しか持たない → 一般的なコンテナよりは安全! 2
コンテナ runc Rooful なコンテナ 悪意のあるプロセス Root 権限で動く 脆弱性 Root 権限で悪意のある操作が可能 (になるかもしれない) コンテナ runc Rootless なコンテナ 悪意のあるプロセス 一般権限で動く 脆弱性 一般権限で可能な操作に限定される
色々嬉しい Rootless コンテナ ランタイムデーモンがユーザーごとに動く • 管理者権限がない環境でもコンテナが使える • Rootless コンテナ自体は管理者権限なしで使える •
newuidmap, newgidmap コマンドが必要なため事前にインストールする必要あり 改善の PoC は存在(https://github.com/rootless-containers/subuidless) • ユーザーごとにランタイムの環境が閉じている • 他のユーザーの環境に影響を与えない • ユーザーを切り替えればバージョンの切り替えもできる 3
Rootless コンテナの使い方 nerdctl (Rootless コンテナの開発者が開発) • https://github.com/containerd/nerdctl/blob/main/docs/rootless.md の手順に従いインストール Podman •
RHEL 環境なら ‘dnf install podman’ で完了 Docker • https://docs.docker.com/engine/security/rootless/ の手順に従い インストール 4
bypass4netns Seccomp を用いることでアプリケーションに改変無しに高速化 • LD_PRELOAD 無しで動作 • 最近は Usernetes (Kubernetes
の Rootless 版)にも使えないか検討中 5 https://x.gd/SBo9t
bypass4netns 別々のホスト上で動く rootless コンテナ間の通信を高速化 • Usernetes 向けのマルチノード通信高速化機能も持つ • 詳しくは論文にて(https://arxiv.org/abs/2402.00365) bypass4netns:
Accelerating TCP/IP Communications in Rootless Containers 6 https://x.gd/SBo9t