web-dev-qa-db-ja.com

requirettyを無効にしても大丈夫ですか?

Capistrano を使用してデプロイスクリプトを設定しようとしていますcap deploy:setupスクリプトがサーバーに接続し、ディレクトリを作成するコマンドを実行しようとしています。次に、エラーが表示されます:msudo: sorry, you must have a tty to run Sudo

サーバーでrequirettyを無効にするための推奨される解決策があります。 https://unix.stackexchange.com/a/49078/26271

安全にできるかどうか疑問に思っていますか?

39
dev.e.loper

サーバーでrequirettyを使用することには、非常に限られたセキュリティ上の利点があります。ルート以外のコードが悪用された場合(PHPスクリプトなど))、requirettyオプションは、悪用コードがその権限を直接アップグレードできないことを意味しますSudoを実行しています。

攻撃者がルートを取得する別の方法が存在する可能性があります。もちろん、攻撃者は引き続きサイトを改ざんできますが、攻撃者がルートを取得できないようにすることは、別のユーザーとして実行されている他のサービスが通常どおり実行され、攻撃者が侵入することを意味しますシステムログを消去できる。 Sudoルールのいずれも ディレクトリの作成など危険なもの を実行しない場合、これは問題ではありません。

さらに、そしてrequirettyにはもっとひどいです— ttyを作成するために特権は必要ありません。 expect を使用します。したがって、requirettyをオフにすることもできます。それだけでは、セキュリティ上の利点はありません。これは、ユーザーが実行した場合(ログがSudoを呼び出したユーザーとそれらがどこから来たのかをよりよく理解できるため)には、監査能力がわずかに向上しますが、バックグラウンドジョブから実行した場合はそうではありません。