sudo
私はパスワードがないことが十分に安全かどうかについての古い議論に戻っています。私は使用するたびにパスワードを入力するのを気にしない人の方ですsudo
。不便であっても、サーバー上で実行されているすべてのスクリプトが私がsudo install-rootkit
知らない間にパスワードを含めることはできないからです。
gsh
また、などのマルチシェルコマンドを使用して、複数のterminator
リモートサーバー(CentOS 5)に同じコマンドを送信するためにも使用しました。
相手の主張は、それが重複し、彼が好きなマルチシェルコマンドを使用するのを妨げるだけだということです。
インターネット検索「sudoのベストプラクティス」について多くの議論が見つかりませんでしたが、人々は通常パスワードなしに同意するようですsudo
。
私は少数派に属していますか?
PCI-DSSコンプライアンスが影響しますか? (まだPCI規格ではありませんが可能です。)
答え1
sudoを使用してコマンドを追跡すると、パスワードを入力するかどうかが記録されます。
それ以外にも、小規模サイトを管理するときにsudoを呼び出すたびにパスワードの入力を求めるのは不便です。大規模なサイトでは拡張できない場合があります。この場合、人々はスクリプトまたはアプリケーションを使用して、sudo操作中にクライアント側にパスワードを一時的に保存します。このスクリプトやアプリケーションを悪用し、このクライアントからスーパーユーザー権限を持つユーザーのログイン資格情報を盗む可能性があります。
他にも大きな問題は、メンテナンスを除いて実際にサーバーにログインする必要がないことです。そうしないと、間違ったコマンドによってダウンタイムが発生する可能性が高くなります。日常的な活動を確認し、必要に応じて自動化してログインし、スーパーユーザーコマンドを実行する必要性を減らすことができます(これにより、毎回パスワードを入力する必要があることに対する不満を減らす副作用があります)。
答え2
NOPASSWDを許可する唯一の時間は、特定のプログラムについてです。プロセスを自動化するには、NOPASSWDが必要な場合があります。
NOPASSWD フラグを使用する場合は、乱用への公開アクセスを許可しないでください。たとえば、コメントをロックせずにエディタにアクセスすることはできません(NOEXEC)。
答え3
sudoを使用してNOPASSWDを許可する場合は、SSHキーでのみSSHを許可し、ユーザーがそのキーを使用してパスワードを入力していることを確認してください。
答え4
パスワードのないSudoは、パスワードのあるSudoより安全性が低くなります。
人生の他のすべてと同様に、パスワードなしでsudoを使用すると、利便性のためにセキュリティが犠牲になります。
これらのトレードオフが特定のシステムに許可されるかどうかを判断するのはユーザーの役割です。