GNU/Linux >> Linux の 問題 >  >> Linux

パスワードなしのsudoモードでNOPASSWDはどのくらい安全ですか?

NOPASSWD セキュリティに大きな影響はありません。その最も明白な効果は、ユーザーがワークステーションを離れたときに保護を提供することです。ワークステーションに物理的にアクセスできる攻撃者は、データを抽出し、アクションを実行し、ユーザーのアクセス許可でマルウェアを植えることができますが、ルートへのアクセスを昇格させることはできません。攻撃者は、ユーザーが次回 sudo プロンプトまたはスクリーンセーバーにパスワードを入力したときに、そのパスワードを記録するキーロガー タイプのプログラムを仕掛けることができるため、この保護の用途は限られています。

それにもかかわらず、パスワードを要求することは、攻撃者にとってハードルを上げます。多くの場合、巧妙でない攻撃者に対する保護は役立ちます。特に、攻撃が機会の 1 つであることが多く、攻撃者が目立たないマルウェアをすぐに見つけて構成する方法を知らない可能性がある無人のワークステーション シナリオでは特に有効です。さらに、ルート権限がない場合、マルウェアを隠すのは難しくなります — ルート権限がない場合、ルートから隠すことはできません.

パスワードがなくても巧妙な攻撃者から保護できる現実的なシナリオがいくつかあります。たとえば、盗まれたラップトップ:ユーザーのラップトップが盗まれ、秘密 SSH キーが完備されています。泥棒が鍵ファイルのパスワードを (おそらく力ずくで) 推測するか、鍵エージェントのメモリ ダンプからパスワードにアクセスするかのいずれかです。盗難が検出された場合、これはそのユーザーのアカウントでの最近のアクティビティを調査するためのシグナルであり、これは植え付けられたマルウェアを検出する必要があることを意味します。攻撃者がユーザー レベルのアクセス権しか持っていない場合、攻撃者が行ったことはすべてログに痕跡を残します。攻撃者がユーザーのパスワードを入手して sudo を実行すると、すべてのログが危険にさらされます。

NOPASSWD のマイナス面かどうかはわかりません ユースケースの利点のバランスを取ります。状況の他のすべての要因に対してそれをバランスさせる必要があります。たとえば、異なるパスワードを使用することを許可しているようですが、強制していないようです。代わりに、一元化されたアカウント データベースを使用できますか?システム間にどの程度の封じ込めが必要ですか?異なる sudo パスワードをサポートする Ansible の代替案を検討していますか?他の認証メカニズムを検討しましたか?


パスワードなしの sudo を必要としない特定のケースが 2 つあります。

<オール>
  • これは、管理者アカウントにアクセスする悪意のあるユーザーに対する防御メカニズムです。これは、悪用によるものか、管理者がセッションをロックせずにワークステーションから離れたことが原因である可能性があります。
  • sudo を使用するときにパスワードを再発行する必要があるため、衝動的なユーザーは、実際にアクションを実行する前によく考える時間ができます。
  • 自動化について:

    これをパスワードなしで実行できることに同意しますが、sudoパスワードを要求しないことで、実際には自動化ツールへのすべてのアクセスを許可しています.では、ツールが実際に何をする必要があるか考えてみてください。これらすべてのアクセスが本当に必要ですか?おそらく違います。

    Sudo には、 NOPASSWD を使用して特定のコマンドを構成できる便利な機能が付属しています sudoers ファイル内のフラグ:

    username myhost = (root) NOPASSWD: /sbin/shutdown
    username myhost = (root) NOPASSWD: /sbin/reboot
    

    なんらかの理由で誰も指摘していないように見えることの 1 つは (私が間違っていたら訂正してください)、実行するプログラムを知らないうちにルート アクセスに昇格できるようにすることです。通常、悪意のあるプログラムまたはスクリプトを sudo を使用せずに root 以外のユーザーとして誤って実行した場合、依然として多くの損害を与える可能性がありますが、(別の悪用を除けば) root 権限はありません。したがって、少なくともルートキットなどについて心配する必要はありません。しかし、NOPASSWD モードでは、その保護はありません。ユーザーの下で実行されるすべてのプログラムは、sudo を使用して再起動することにより、root にエスカレートできます。マルウェアは、これを実行するために特別にプログラムする必要があり、それ以外の場合は root アクセスできませんが、それを行う悪意のあるコードはどうなるでしょうか?


    Linux
    1. パスワードプロンプトなしでルートとして特定のプログラムを実行する方法は?

    2. sudoの内部はどのように機能しますか?

    3. スクリプトをルートとして遡及的に実行する方法は?

    1. 所有者をルートに戻す方法は??

    2. CSF ファイアウォールで Ubuntu サーバーを保護する方法

    3. Linuxでパスワードなしの「sudo」をセットアップするには?

    1. LinuxでユーザーのSudo権限を設定する方法

    2. ターミナルをルートとして実行する方法は?

    3. 特定のユーザーにパスワードなしのSudoを設定する方法