3

私は、共有プログラミングプラットフォームでのNodeJの使用を評価しているところです。

ユーザーはコードを送信してサーバー上で実行できる必要があります。それらに最高のファンダメンタルズを与えるために、いくつかのNodeJsモジュールを提供する必要があります。

セキュリティ上の理由から、システムリソースへのアクセスを禁止するようにプロセスをchrootする必要があります。

最善のアプローチは、child_processes、特にfork()関数を使用することのようです。

セキュリティを強化するために、追加の子プロセスを起動するなど、一部のNodeJモジュールも無効にする必要があります。

子供のためにこれらのモジュールを無効にするにはどうすればよいですか?デフォルトでいくつかを無効にするコンパイルオプションを見つけることさえできないようです、

4

1 に答える 1

3

基本的に、あなたが探しているのは、信頼できる環境内で信頼できないコードを実行することです。ここで重要なのはサンドボックス化だと思います。

Node.jsでサンドボックスを作成および管理するためのさまざまなソリューションがあります。

  • gf3 / sandbox、これはnode.js用の気の利いたjavascriptサンドボックスです
  • hflw / node-sandboxは、サンドボックスと親プロセス間の通信を可能にする高度なサンドボックスライブラリです。

どちらも実際の経験はありませんが、それはあなたにとって正しい方向への第一歩だと思います。たぶんあなたはここで彼らとあなたの経験を共有したいですか?これは素晴らしいと思います:-)

お役に立てれば。

于 2013-01-05T23:25:27.520 に答える