信頼できない WSGI アプリを内部に含む python プロジェクトがたくさんあります。それらを同時に安全に実行する必要があります。そのため、ディレクトリ アクセスの制限、Python モジュールの使用、CPU とメモリの制限が必要です。
私は2つのアプローチを考えています:
定義されたファイルから imp-module WSGI-object を介してインポートし、pysandbox で実行します。今
SandboxError: Read only object
、私はやっている:self.config = SandboxConfig('stdout') self.sandbox = Sandbox(self.config) self.s = imp.get_suffixes() wsgi_obj = imp.load_module("run", open(path+"/run.py", "r"), path, self.s[2]).app … return self.sandbox.call(wsgi_obj, environ, start_response)
Python インタープリターを変更し、潜在的に危険なモジュールを除外し、並列プロセスで実行し、ZMQ/Unix ソケット経由で通信します。ここからどこから始めればよいかさえわかりません。
何をお勧めしますか?