LXCを使用してインストールされたブラウザのインス​​タンスを刑務所に配置できますか?

LXCを使用してインストールされたブラウザのインス​​タンスを刑務所に配置できますか?

過去に特定の種類の攻撃に対して脆弱であることが判明したブラウザやその他のソフトウェアを制限するために、デスクトップシステムでLXCを使用できますか?だから私が達成したいのは、Firefoxが刑務所にいる間にウィンドウを見ることができますが、ホストシステムではなく、「泡の内部」への読み書きアクセスを持つようにすることです。

LXCのサンプルコンテナは、lxc-sshd同様のことが可能でなければならない(アプリケーションレベルのコンテナ)を提案していますが、私はTTYが最大限必要なプログラムでのみこれを見ました。

KDE、GNOME、Unityでも動作しますか?

答え1

地獄火Firefoxやその他のGUIソフトウェアを刑務所に入れることができるLinuxネームスペースサンドボックスプログラム。すべてのLinuxコンピュータで実行する必要があります。

答え2

間接的。などの助けを借りてLXCまたはオープンVZその中にあるアプリケーションには、デフォルトで独自のLinuxボックスがあります。だからあなたは次のようなものを使うべきですX投稿または仮想ネットワークコントローラリモートデスクトップを表示するか、X Remoteを使用して実行中のアプリケーションを表示します。

このチュートリアルでは、Debian / Ubuntuを使用してこれを行う方法について説明しますが、ほとんどの手順は他のディストリビューションにも変換する必要があります。記事のタイトルは次のとおりです。Debian 仮想化: LXC デスクトップ仮想化

答え3

どのデスクトップマネージャを実行しているかは関係ありません。重要なことは、Xwindowsソケット、XAUTHORITY環境変数、およびそれが指すファイルへのアクセス権をコンテナに提供することです。

答え4

lxcコンテナには独自のディスプレイ/オーディオがないため、何らかの方法でホストディスプレイ/オーディオを使用する必要があります。一般的なLinuxソリューションは次のとおりです。

  1. コンテナの境界を超えてホストXリソースを直接共有する
  2. SSH逆パイプによるX転送の使用

これらのソリューションの問題は、コンテナの悪意のあるコンテンツがXを介して制御され、ウィンドウを表示したり、キーストロークなどをキャプチャしたりする可能性があることです。 Xはこれらの安全を念頭に置いて設計されていません。

もう1つの解決策は、いわゆる偽のXサーバーを使用することですが、これは実際のXサーバーではありませんが、コンテナのクライアントソフトウェアに偽のXインターフェースと偽のX画面を提供しながら、いくつかのX操作を実際のXサーバーに渡すことです。 Xサーバーはその背後にあります。擬似X画面は、ホストの物理Xデスクトップに単一のXウィンドウとして表示されます。

xserver-xephyrこれらの偽装されたXサーバーの1つは、実際にX開発者がデバッグ用に開発したソフトウェアXepyrです。

私は、firefox、openvpn、Xephyr、およびpulseaudioで満たされたlxd / lxcコンテナを(通常の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

最後に、Specter et al.の脆弱性を考えると。など、コンテナでさえ保証を提供することはできません。理論的には、完全な防御のために別々の物理CPUが必要です。 (脅威の実際の範囲は議論の余地があります。1年が経過しても悪意のある攻撃は報告されませんでした。)解決策として、コンテナを他のシステムに簡単に配置できます。

これはホストを保護することができます(またはそうでない可能性があります。保証しません)。ただし、ブラウザはパスワード、OTPなどの機密情報を大量に入力するために使用されることがよくあります。 SIPと社会的距離を置くことは最善の安全対策ですが、良い生活方法ではありません。

関連情報