サンドボックス環境としてのLXCコンテナー


9

安全なサンドボックス環境で、信頼されていないプログラム(学生の割り当て)を評価するプロジェクトを現在開始しています。主なアイデアは、LXCコンテナーを管理するためのlxc-utilsのGlassFishおよびJavaラッパー用のWebアプリを作成することです。待機中のプログラムのキューがあり、JavaラッパーはLXCコンテナーの固定数(プール)を維持し、各プログラムに1つの(未使用)コンテナーを割り当てます。

ホストシステムを保護するには、各コンテナーをSELinuxで保護する必要があります。

私の質問は次のとおりです。サンドボックス環境用にそのようなメカニズムを作成することは良い考えですか、それともこの問題に対するより適切な解決策はありますか?それは軽く、学生の創造性に対して安全でなければなりません。

回答:


6

LXCは最も安全な仮想化ソリューションではないため、なぜLXCを選択したのかについては書かれていません。私はKVM / XENとLXCのヘビーユーザーであり、セキュリティに関して言えば、Linuxコンテナー(LXC / OpenVZ / VServerは関係ありません)は絶対に使用しないという1つのことを言えるでしょう。KVM / XENの方が簡単です(信頼性が高い)。

パフォーマンスやハードウェアの要件に関するものであれば、問題ありません。LXCを試すこともできますが、いくつかのルールがあります。

  • libvirtは、SELinuxを使用するときにコンテナーの厳格な制限を保証します(LXC_driverのおかげです)-それがRHEL / Centos / Fedoraの場合のみかどうかはわかりません(Ubuntu / Debianをあまり使用していません)https://www.redhat.com/archives /libvir-list/2012-January/msg01006.html-SELinuxを使用することをお勧めします(私の意見では、このような状況では「必須」です)
  • ゲストがホストをフリーズさせたり他のコンテナーに影響を与えたりしないように、厳格なcgroupsルールを設定します
  • 私はむしろLVMベースのコンテナーを使いたい-それは常に「セキュリティ」のもう1つのレイヤーです
  • ネットワークソリューションとアーキテクチャについて考えます。それらのコンテナは互いに通信する必要がありますか?

これを読むことから始めます -それはかなり古いですが、それでも-そこには多くの知識があります。そしてまた- ユーザーの名前空間を満たす

そして、すべてのことをもう一度考え直してください-あなたは本当にLXCセキュリティをプレイするのにそんなに多くの時間を持っていますか?KVMはとてもシンプルです...


まず、答えてくれてありがとう。軽いものが必要なのでLXCを選択しました。LXCはKVM内で実行されます。KVM内でKVMを実行することは可能ですか?
eXPi 2013年

1

信頼されていないプログラムを実行するには、Linux名前空間が依然として最善のソリューションです。KVMよりも設定が簡単で、必要なリソースも少なくて済みます。LXCを試すことができますが、LXCは完全なLinuxディストリビューションイメージを実行するためのより一般的なサンドボックスとしてビルドされました。他に2つのLinux名前空間サンドボックスが思い浮かびます:

  • Google Chromeサンドボックス、現在Google Chrome / Chromiumとともに配布
  • Firejailは、Mozilla Firerfoxおよびその他のGUIプログラムを実行するために構築されたセキュリティサンドボックスです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.