Dockerを試してみると、セキュリティを向上させるためにコンテナでブラウザを実行できることに気づきました。きちんと始めました。ドッカーフェドラ、ここでパッケージをインストールしましたopenssh-daemon
。そこから新しい画像を作成しますfirefox
。
結局、次のコマンドラインを使用してホストからグラフィカルFirefoxを起動できました。
ssh -p2222 localhost -X firefox
これまでは大丈夫でしたが、ここでは非常に関連する2つの奇妙なことが起こっています。
私が私のものから始めたとき本物その後、コンテナから起動すると、物理コンピュータと同じ設定で2番目のウィンドウが表示されます。
正反対です。つまり、コンテナで Firefox を起動し、実際のシステムで別の Firefox を起動すると、コンテナの 2 番目のウィンドウが表示されます。
いくら言っても驚きました。コンテナはプロセスを完全に分離する必要はありませんか?
編集する:見つけたと思います。関連質問。この--no-remote
オプションで問題を解決しました。私はまだこのようなことが起こったことを理解していません。 2つのインスタンス間に他の接続が見えないので、これはXWindowプロトコルに関連していると思います。
答え1
X で実行されるすべてのプログラムは、X で実行されている他のプログラムとは分離されません。
X11プロトコルを使用すると、Xサーバーで実行されているプログラムは開いている他のウィンドウを確認できます。
X11にはいくつかの異なるセキュリティ問題があります。 sshdを設定するときは、X経由でアクセスをオフにして絶対にオンにしないようにすることをお勧めします。 Waylandはこの点で改善されなければなりません。
dockerはプロセスの分離に関するものですが、セキュリティ以外の理由についてです。基本速度、優れた分離、およびコンテナで実行されているタスクの制御を得ることができますが、適切なサンドボックス化(またはDockerコンテナ内でSELinuxなどを実行)とは異なり、プロセスが100%含まれるという保証はありません。
dockerが敗北したと言うのはドアを蹴るのと似ています。