デスクトップシステムでLXCを使用して、過去に特定の種類のエクスプロイトが発生しやすいことが示されているブラウザーやその他のソフトウェアを制限することは可能ですか?だから私が達成したいのは、Firefoxのように投獄し、ウィンドウなどを表示できるようにすることです。それでも、ホストシステムではなく、「バブル内」のすべてに読み取りおよび書き込みアクセス権があることを確認します。
例 lxc-sshd
LXCのコンテナーは、このようなことが可能であることを示唆しています(アプリレベルのコンテナー)が、私はこれを最大でTTYを必要とするプログラムでのみ見ました。
これはKDE、GNOME、Unityでも機能しますか...?
Firejail は、Firefoxまたはその他のGUIソフトウェアをジェイルできるLinux名前空間サンドボックスプログラムです。 Linuxコンピュータで動作するはずです。
実行しているデスクトップマネージャーは関係ありません。重要なのは、コンテナにXwindowsソケット、XAUTHORITY環境変数、およびそれが指すファイルへのアクセスを提供することです。
直接ではありません。 [〜#〜] lxc [〜#〜] や OpenVZ などのテクノロジーでは、その中のアプリケーションは基本的に独自のLinuxボックスです。したがって、リモートデスクトップを表示するには、 X2go や [〜#〜] vnc [〜#〜] などのツールを使用して、「リモートで」実行する必要があります。 Xを使用してそれらの内部で実行されているアプリケーションを表示します。
Debian/Ubuntuを使用してこれを行う方法を説明するこのチュートリアルがありますが、手順の多くは他のディストリビューションにも翻訳可能である必要があります。記事のタイトルは次のとおりです。 Debian仮想化:LXCデスクトップ仮想化 。
Lxcコンテナには独自のディスプレイ/オーディオがないため、何らかの方法でホストのディスプレイ/オーディオを使用する必要があります。典型的なLinuxソリューションは次のいずれかです
これらのソリューションのいずれかの問題は、コンテナ上の何か悪がXを介して制御し、ウィンドウを表示したり、キーストロークをキャプチャしたりする可能性があることです。Xはそのようなセキュリティを考慮して設計されていません。
別の解決策は、マスカレードXサーバーと呼ばれるものを使用することです。これは実際にはXサーバーではありませんが、コンテナー上のクライアントソフトウェアに疑似Xインターフェイスと疑似X画面を表示し、一部のX作業を実際に渡します。その背後にあるXサーバー。疑似X画面は、ホストの実際のXデスクトップに単一のXウィンドウとして表示されます。
そのような仮面舞踏会Xサーバーの1つは、X開発者がデバッグするために実際に開発されたxserver-xephyr
のソフトウェアXephyrです。
Firefox、openvpn、Xephyr、pulseaudioが入ったlxd/lxcコンテナを(Vanilla ubuntu lxcイメージから)作成する簡単なJavaScriptプログラムを作成しました。ターゲットホストもUbuntuです。 VPNは、すべてのIPトラフィックをVPSに転送します。
https://github.com/craigphicks/browser-on-lxc-vpn-xephyr
https://www.npmjs.com/package/browser-on-lxc-vpn-xephyr
最終的に、Spectreet。また、コンテナでさえ保証はありません。理論的に完全な防御を実現するには、別個の物理CPUが必要です。 (実際の脅威の程度については議論の余地があります。1年後に野生のエクスプロイトは報告されていません)。解決策として、コンテナを別のマシンに置くのは簡単です。
それはホストマシンを保護するかもしれません(またはそうでないかもしれません-私は約束をしません)。ただし、通常、ブラウザは、パスワードやOTPなどの多くの機密情報を入力するために使用されます。 SIPそして社会的距離は最高のセキュリティですが、それは素晴らしいライフスタイルではありません。