信頼できない当事者のためにコードを受け取り、実行するサーバーを作成したいと思います。Ubuntu:root以外のユーザーがユーザーを作成して偽装するのを許可します
これをより安全にするために、このコードを実行するために排他的に作成され、削除されたユーザーとしてコードを実行します。
root以外のユーザーに他のユーザーを作成、偽装、削除する権限を与える方法を教えてください。
信頼できない当事者のためにコードを受け取り、実行するサーバーを作成したいと思います。Ubuntu:root以外のユーザーがユーザーを作成して偽装するのを許可します
これをより安全にするために、このコードを実行するために排他的に作成され、削除されたユーザーとしてコードを実行します。
root以外のユーザーに他のユーザーを作成、偽装、削除する権限を与える方法を教えてください。
これを行うには、setuid root(つまりchown root my-proxy-process; chmod 47nn my-proxy-process)のプロキシプログラムを使用するしかありません。指定されたユーザーに設定するなど
しかし、このセキュリティ上の問題はかなり明確にする必要があります。限定されている可能性のある1つの方法は、名前のないユーザーが名前グループのユーザーで実行されるようにすることです。 root:myprivategroupでthet proxyコマンドをchownし、4710とし、myprivategroupのメンバーであるユーザーだけが実行できるようにしてください。プロキシプロセスが適切かつ安全でロックダウンされていることを確認して、関連するユーザーだけがグループメンバシップを通じて実行できるようにしてください。
ユーザー提供のプロセスに適用できることがわかっている他の制限がある場合、プロキシプログラムはプロセスがそれらのルールを付与することを検証できます。これがストップギャップであるかもしれないが、誰かがテストに合格する「悪い」プログラムを作る技術の領域を超えているわけではないことに注意してください。
セキュリティを強化するため(推奨)、mark4oで説明したようにサンドボックスまたはchroot jailを使用します。
root以外のユーザーにsudoや/ etc/sudoersで権限を与えることはできますが、この方法は安全ではなく線形ではないようです。 私はあなたが必要なものを知っていませんが、いくつかのユーザーを事前に作成してから使用することができます。
sandboxingまたはvirtualizationのようなものを使用します。最低でも少なくともchrootの環境。 Sandboxing in Linuxも参照してください。
これは、ターミナルなしでsu vieスクリプト(おそらくセキュリティ機能)を使用できないため、問題です。私はあなたがこれを通ってあなたの方法をハックすることができると確信していますが、それはたぶん正当な理由で行われました。
"であり、信頼できない当事者" ... "の代わりにコードを実行して、これをより安全にします。どのようにして安全になるのだろうか。信頼できないコマンドを受け取り、実行しています。 = :) –
@サイモン:どうしたの?ファイアウォールされたルート以外の別のアカウントで、自分のコンピュータで他のコードを実行したい場合、どのような損害を被りますか? – flybywire
andy、スパムをたくさん送信するのはどうですか?彼らはそれを直接送ることができないかもしれませんが、もしあなたがそれを持っていれば、彼らはローカルのメールスプールに入れられると思います。 – Joshua