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
750
Rootless コンテナはいいぞ
Naoki MATSUMOTO
March 10, 2024
Tweet
Share
More Decks by Naoki MATSUMOTO
See All by Naoki MATSUMOTO
Rootless な環境における eBPF の活用
mt2naoki
3
760
Mewz on libkrun
mt2naoki
1
660
詳解 bypass4netns: Rootless Containers Network の仕組みと高速化
mt2naoki
2
730
QUIC の仕組み(Handshake)
mt2naoki
1
390
bypass4netns: Accelerating TCP/IP Communications in Rootless Containers
mt2naoki
0
220
コンテナ技術における最新の研究動向
mt2naoki
15
11k
Zig で TLS1.3 を実装している話
mt2naoki
0
210
Efficient Container Image Updating in Low-bandwidth Networks with Delta Encoding
mt2naoki
0
1.5k
TLS 1.3 で学ぶ暗号技術
mt2naoki
0
460
Featured
See All Featured
Statistics for Hackers
jakevdp
799
220k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Navigating Team Friction
lara
187
15k
GitHub's CSS Performance
jonrohan
1031
460k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
It's Worth the Effort
3n
185
28k
4 Signs Your Business is Dying
shpigford
184
22k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
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