コンテキスト
私の「追求」からRaspbianでLXCを実行する強制的にロードを無効にできます。セキュリティコンピューティングコンテナの起動時にコメントを付けて設定します/usr/share/lxc/config/debian.common.conf
。
# Blacklist some syscalls which are not safe in privileged
# containers
# lxc.seccomp = /usr/share/lxc/config/common.seccomp
(atm)でのみ比較するコンテナが起動します(そうしないとエラーが発生します)。
いくつかの点では、コンテナ化/サンドボックス化に密接に関連するデフォルトのセキュリティ設定をオフにすることは、LXCの目的を無効にすることです。セキュリティ/安定性の観点から、LXCコンテナを実行するときにほとんどのシステムコールをブラックリストに追加したいと思います(LXCのデフォルトに表示されます/usr/share/lxc/config/common.seccomp
)。
2
blacklist
[all]
kexec_load errno 1
open_by_handle_at errno 1
init_module errno 1
finit_module errno 1
delete_module errno 1
質問
「LXC コンテナーの seccomp ルールをロード」しないと、次のようになります。
- 重要*セキュリティの質問?
- 他の人人為的な(アプリケーションまたは安定性)問題がありますか?
*私が「母」システムとそのLXCコンテナを使用している唯一の人だとします。 (そうでなければはっきりします。)
答え1
seccomp ルールは、コンテナがホストカーネルを変更するのを防ぎます。それらがなければ、コンテナのUID 0はkexecを使用して(Raspbianでも動作するかどうかはわかりません)、新しいカーネルをロードし(明らかに起動しない)、モジュールや他のシステムコールをロード/アンロードできますinsmod
。rmmod
ユーザー名を適切なスペースとして考慮しないでください。
これが重要なセキュリティ問題であるかどうかはあなた次第です。これで、コンテナ内のUID 0がコンテナ外のUID 0になる可能性があることを覚えておいてください。つまり、ルートは、たとえば作成されたモジュールをロードしてコンテナから出ることができます。