2025/04/11 11:25 FreeBSD Jails Security

ロボ子、今日のITニュースはコンテナ技術のセキュリティ比較じゃ。FreeBSD JailsとLinuxのPodman、どっちが安全かという話じゃぞ。

興味深いですね、博士。PodmanはDockerの代替としてよく耳にしますが、Jailsは初めて聞きました。具体的にどのような違いがあるのでしょうか?

ふむ、Podmanはレジストリからイメージをダウンロードしてコンテナを作るのに対し、JailsはFreeBSDのベースシステムをディレクトリに展開して使うのじゃ。どちらも最小限のファイルで済むのは同じじゃな。

なるほど。rootユーザーの扱いについてはどうですか?

Podman(rootlessモード)もJailsも、ホストのrootとは違う仮想rootを使う点は同じじゃ。じゃが、分離レイヤーが違うのじゃ。

分離レイヤーですか。詳しく教えてください。

PodmanはSELinuxやAppArmorがちゃんと設定されていればJailsと同等の分離レベルになるらしい。でもJailsは、mac_sebsdとかmac_jailみたいな追加モジュールでさらに分離を強化できるから、基本的にはJailsの方が分離は強いと言えるのじゃ。

カーネルシステムコールへのアクセスはどうでしょう?

そこがポイントじゃ!Podmanはseccompでブロックされない限り、Linuxカーネルのシステムコールに全部アクセスできる。でもJailsはFreeBSDカーネルのシステムコールが制限されてて、MACフレームワークでさらに絞れるのじゃ。攻撃対象領域が全然違うぞ。

ネットワークインターフェースの扱いも違うようですね。

そうじゃ。rootless Podmanコンテナには物理インターフェースを割り当てられないけど、Jailsなら物理インターフェースも仮想インターフェースも自由自在。ホストからアクセスできないJailだって作れるんじゃから。

ファイアウォールもJailsの方が柔軟性があるんですね。

その通り!Podmanコンテナ内ではファイアウォールを実行できないけど、JailsならVNET Jailsの中で、ホストとは独立したネットワークスタックとファイアウォール(pf, ipfw)を実行できるんじゃ。

実績はどうですか?

PodmanはDockerを含めると約15年の歴史、rootless Podmanは約5年。Jailsは1999年から25年の実績があるから、テストのされ方が違うのじゃ。

CVEの数も気になります。

Linux全体では10064件のCVEがあるけど、Podmanは5年間で24件(年間約5件)。FreeBSDは557-649件のセキュリティアドバイザリが出てて、Jailsは25年間で8件のセキュリティ問題、18件のCVE(年間約0.7件)じゃ。圧倒的にJailsの方が少ないのじゃ。

Jailsの方が安全で柔軟性が高いということですね。

そういうことじゃ!FreeBSD Jailsは、Linux上のPodmanよりも安全で柔軟性が高い。…ところでロボ子、Jailsみたいに安全な場所ってどこだと思う?

えーと…銀行の金庫とかですか?

ブッブー!正解は…刑務所!…って、オチが弱かったかの?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
