1

Web アプリケーションでサーバーの OS とやり取りする機能がいくつかあります。私は bash スクリプトを作成し、アプリ内から実行できます。

ただし、スクリプトの一部の機能にはスーパーユーザー権限が必要です。

このスクリプトを安全に実行する最も健全な方法は何ですか? Webフォームから引数が渡されていますが、haxxorしないと信頼している認証済みユーザーのみが呼び出すことができるはずです。

4

2 に答える 2

4

どちらの方法でも、これは非常に危険です。必要な権限を持つローカルデーモンを作成し、このスーパーユーザーを必要とするコンポーネントによって処理されるイベントを生成/消費するメッセージバスの一部を使用できますか?

そうすることで、メッセージの内容を注意深く検証し、悪用される可能性を減らすことができます。

于 2010-06-08T06:51:58.423 に答える
2

このスクリプトを安全に実行する最も健全な方法は何ですか?

セキュリティを本当に重視する場合は、Web クライアントにパスフレーズの提供とssh キーの使用を要求してください。 次に、 の下でスクリプトを実行しssh-agent、重要な部分についてはssh root@localhost command.... 通常の SSH パスフレーズを Web フォームに入力することは私がすることではないため、おそらくこの目的のためだけに ssh キーペアを作成することをお勧めします (とにかく、あなたの Web フォームを誰が信頼しますか?)。

それほど多くのセキュリティを必要とせず、Web フォームがバグなしでユーザーを正しく認証できると本当に信じている場合は、代わりに Web サーバーを信頼して必要なコマンドを実行することを決定できます。(私はしません。) この場合、この/etc/sudoersファイルを使用して、Web サーバーがパスワードを提供せずに目的のコマンドを実行できるようにします。次に、スクリプトはsudoこれらのコマンドを実行するために使用する必要があります。

于 2010-06-08T14:20:03.903 に答える