Red Hat Enterprise 5Linuxボックスを使用しています。ユーザーが/ etc/sudoersファイルにあるかどうかを確認し、ユーザーがSudoでコマンドを実行すると、ユーザーはroot権限でこのコマンドを実行します(rootパスワードを知らなくても、ユーザーはSudoを実行するだけでユーザー自身のパスワードを入力する必要があります) Sudoでコマンドを実行するため)。それは正しい理解ですか?
よろしくお願いします、ジョージ
これはセキュリティホールではなく、少なくともsu
以下です。
Sudo
は、管理者がルートシェルを使用せずにルートにすばやくアクセスするための方法です(これは危険な場合があります)。
Sudo
は、ユーザーが自分のパスワードを入力することを要求するだけで、実際にルートアクセスを許可します($ Sudo whoami
を試してください)。ただし、全員が/etc/sudoers
ファイルに含まれている必要はありません。
Sudo
のマンページを見ると、Sudo
をいくつかの簡単なコマンドに制限する方法がわかります。
たとえば、ユーザーbob
に$ Sudo poweroff
の実行を許可せずに、$ Sudo cat /etc/shadow
の実行のみを許可することができます。
したがって、正しく構成して使用すれば、セキュリティホールではありません。ユーザーにルートシェルを持たせたくない場合は、$ Sudo su
のようなコマンドを禁止することを検討してください。
それがセキュリティホールだったとしたら、Sudoはすでに取り除かれていただろう。これは意図的なものであり、ユーザーのパスワード、rootのパスワード、またはパスワードをまったく要求しないように構成できます。
とにかくルートだけがそれを設定できるので、セキュリティホールはありません。ルートは、アクセスできるユーザー、ユーザーごと、グループごとに、誰がどのパスワードを入力する必要があるかを構成します。
また、最後の部分について:「root以外のユーザーはroot権限で実行できるため」:これがSudoプログラムの要点です。
Sudoは安全です-一部のディストリビューション(Ubuntu)が使用し、デフォルトで推奨するのに十分な安全性があります。
とは言うものの、ユーザーに包括的なSudo権限を与えると、そのアカウントとrootアカウントの間の分離が大幅になくなります。たとえば、ユーザーtimmyに包括的なSudo権限を付与すると、timmyアカウントはrootアカウントと同じ特権になります。 timmyのアカウントに侵入した人は誰でも、rootとして何でもできます(ほとんどの場合、timmyのパスワードが必要です)。
Pro-Sudo引数
反Sudo引数
本質的に、それらは2つの異なる考え方であり、どちらも独自のアプローチを支持するディストリビューション全体を持つのに十分有効です。
私は、Sudo以外のアプローチの方が快適です。これは、Debianユーザーとして私がより慣れているからです。須藤の柔軟性よりもrootアカウントを持つことの単純さが私にとって勝ちだと思います。私はrootログインをリモートで(つまりSSH経由で)許可していません。他の誰も許可しないことをお勧めします。
Sudoは次の理由で安全です。
rootユーザー、または別のSudo対応ユーザー(「visudo」または「$ EDITOR/etc/sudoers」を実行できるユーザー)は、/ etc/sudoersを変更して特権を付与する必要があります。
Root権限で実行できるものを正確に制限および指定できます。これにより、サーバー上にさまざまなレベルの管理者ユーザーを配置できます。
特権ユーザーとして、既存の/ etc/sudoersファイルを表示して、どのユーザーが権限を持っているかを確認できます。
管理者のチーム間でrootパスワードを共有する必要はありません。
明確な監査証跡を提供して、Sudoコマンドで行われたことの完全な説明があります
Rootとしてログインするのは便利ではないので、rootとしてログインするよりもセキュリティに優れていると思います。セキュリティの一部である説明責任にとっては確かに優れています。
だれがそれを使用するかを制限する必要があります。通常、ルートパスワードを知っている人に限定しますが、より巧妙になり、特定の人ができることを制限することもできます。
気になるセキュリティの問題は、すべてのSudoコマンドに自分のパスワードを入力する必要がないことです。同じ端末からもう少し時間をかけずに入力すると、パスワードなしでSudoを受け入れます。これはおそらく、パスワードを継続的に入力させないようにするためですが、悪意のあるユーザーランドソフトウェアがそれを悪用する可能性があると考えられます。個人的にリスクを評価するのに十分な知識がありません。
sudoersはrootとして自動的にアクセスできません。構成されたユーザーとしてアクセスできます。他の非ルートユーザーとして実行ツールへのアクセスをユーザーに提供することは可能であり、正しいことです。
シェルまたはシェルアクセスを許可できるコマンドを実行するためのアクセス権を持つすべてのユーザーは、rootパスワードで信頼できるユーザーである必要があります。 Sudoを使用すると、rootパスワードなしでシステムを実行できます。 Sudoのすべての使用がログに記録されますが、rootとして実行されるコマンドの場合はそうではありません。
前述のように、特定のコマンドへのアクセスを制限することが可能です。 sudoersの例には、root権限を必要とするタスクを実行する必要がある特定のユーザーに付与したいコマンドセットがいくつかあります。 Sudoを使用することにより、rootパスワードを与えずにこれを許可できます。
Root権限でスクリプトまたはコマンドを実行できるユーザーは、変更できるため、実質的にrootアクセスが付与されています。あなたはこれらの人々を信頼する必要があります、さもなければ彼らにアクセスを与えないでください。
Rootアクセスを必要とする多くのタスクがあります。 Sudoを使用すると、これらのタスクをバックアップオペレーター、ウェブマスターなどに安全に委任できます。
須藤は他の選択肢よりもはるかに安全です。設定を誤ると、または信頼できないユーザーに不正なアクセスが与えられると、セキュリティリスク(ホール)になります。
Sudo
コマンドを使用すると、あるユーザーが別のユーザーの権限でコマンドを実行できます。他のユーザーはroot
にすることも、他のユーザーにすることもできますが、デフォルトはroot
です。これはこの目的のために設計されており、さまざまな方法で物事をロックするのに役立つ多くの構成オプションがあり、多くの人々によって長年にわたって精査されてきました。すべてのセキュリティ問題に適しているわけではありませんが、適切に使用すると、非常に便利なツールになります。ただし、適切に使用しないと、解決するよりも多くの問題が発生する可能性があります。