visudoが他の編集者を妨げるのはなぜですか?

visudoが他の編集者を妨げるのはなぜですか?

man visudo説明 visudo は (デフォルトでは)EDITOR環境VISUAL変数を使用しません。

状態

「visudoが使用するエディタがシェルエスケープを許可している場合、ユーザーがrootシェルを取得するのを防ぐ簡単な方法はありません。」

今、セキュリティリスクが正確にどこにあるのか混乱しています。私は信じる

  • ルートのみvisudoを使用して編集できます。/etc/sudoers
  • ルートのみがルートの環境変数を変更できます。
  • ルートにはすでにルートシェルがあります

これがうまくいかないユースケースがあるかもしれませんが、考えることはできません。

ベストアンサー1

厳密に言えば、ランダムエディタを実行すると追加のセキュリティリスクが発生するとは思われませんvisudo。明らかに、これを実行しているユーザーはvisudoすでに編集権限を持っているため、/etc/sudoersシステムで他のコマンドを実行できるようにするルールを追加できます。したがって、実行しているエディタに関係なく、ユーザーはvisudo新しいsudoルールを追加して、必要なものを間接的に実行できます。

EDITOR私の考えでは、環境変数に関するドキュメントのアドバイスは、VISUALsudoの標準ロギングをバイパスしながらルートシェル(または任意のコマンド)を実行することです。デフォルトでは、sudo はすべての成功と失敗の認証をシステムログに記録します。これにより、ユーザーがsudoを介してどのコマンドを実行したかについての監査証跡がシステム管理者に提供されます。ユーザーが変更した場合は、/etc/sudoersチェックサムvisudoまたはファイルビューで確認できます。ただし、ユーザーがルートシェルを取得できる場合は、監査証跡なしでvisudo任意のコマンドを実行できます。

したがって、セキュリティリスクは実行権限を付与するのと同じですsudo bash。つまり、この権限を持つユーザーは、コマンドの実行を制限または記録することなく、ルートシェルを取得して任意のコードを実行できます。

おすすめ記事