web-dev-qa-db-ja.com

より安全なパスワードなしのsudo?

わかりました、これが私の問題です-不安であると私に怒鳴らないでください! :)これは私のホストマシンにあります。使用しているのは私だけなので、かなり安全ですが、パスワードが非常に複雑で、何度も入力するのが困難です。私はコンソールを使用してファイルを移動したり、任意のコマンドをたくさん実行したり、端末を切り替えたりするので、Sudoはコンソールを覚えているだけでは不十分です(そして、少なくとも1回はひどいパスワードを入力する必要があります!) sudoersでNOPASSWDトリックを使用しましたが、より安全にすることにしました。特定のアプリへのパスワードアクセスを許可しない以外に、何らかの妥協はありますか? (それでも安全ではない可能性があります)Sudo rm -rf/-ingからのマルウェアとリモートログインを停止するものがありますが、私の端末では楽しく入力できますか?おそらく、これを端末ごとに持つことができるので、ランダムなコマンドだけではうまくいきませんか?ターミナルエミュレーションをSudoとして実行しようとしましたが、rootになります。

3
V_H

これをSudoオプションに追加してみてください。

Defaults timestamp_timeout=0, tty_tickets

tty_ticketsオプション(デフォルトでオン)は、その特定のtty(ターミナルエミュレーターptysを含む)で以前に要求されていない場合、Sudoにパスワードを要求させ、timestamp_timeout=0オプションは要求させないセッション全体で再びそれ。

したがって、管理操作を実行する場合は、ターミナルを開いたり、Sudoを開いたり、閉じたりすると、再び安全になります。

8
whitequark

私にとって明らかな解決策は、パスワードの複雑さを軽減することです。長くて複雑なパスワードではなく、パスワードを使わない方がいいと思われるので、この中間点を有効なオプションと見なしてみませんか?

マシンがネットワークに接続されている場合、侵害のリスクがあります。パスワードがないと、日和見的な悪用にさらされる可能性があるため、単純なパスワードでもセキュリティが強化されます。

7
Rory Alsop

noパスワードを使用する最も安全な代替手段は、PAMを介した代替認証方法を使用することです。たとえば、スマートカードリーダーを使用できます。 'Sudo'を使用する前にカードを挿入し、完了したらカードを取り外すだけです。音声認証用のPAMモジュールもあります。気に入ったPAMモジュールが見つからず、Cに慣れていない場合は、Pythonバインディングがあります。

これをチェックしてください PAMモジュールのリスト

4
ewindisch

/etc/sudoersrootpwを設定します。

 Defaults        rootpw

rootに自分よりも簡単なパスワードを与えます。

rootサーバーをインストールした場合は、sshsshを禁止することを忘れないでください。

あなたの恐ろしいパスワードがあなたのファイルを保護することであるならば、それらは暗号化されている場合にのみ本当に保護されます、さもなければこれは単なる「セキュリティシアター」です。これが大きなパスワードを保持したい理由であると仮定すると、安全です。rootのパスワードを破っても、ファイルを復号化するのに十分ではなく、あらゆる種類のマルウェアがパスワードを推測する前にCPUを炒めます。

1
user39559

/etc/sudoersなどへの別のアプローチは、Sudo -iとそのままのrootです。たとえば、GNU screenを使用する場合、1つのウィンドウを通常のユーザーとして使用し、もう1つのウィンドウでSudo -iを発行してrootのままにすることができます。

~/.screenrcが次のようになっている場合、screenを発行すると、それに応じて2つの「タブ」が自動的に開きます。

hardstatus alwayslastline "%w"
screen -t normal
screen -t root Sudo -i
1
Boldewyn

/ etc/sudoers(visudo)に次のような行を追加します。

uberjim ALL =(ALL)NOPASSWD:ALL

次に、ユーザーとして、(安全なパスワードを使用して)ログインすると、次のように入力できます。

Sudo /cmd/you/want/to/run

パスワードは必要ありません:)楽しんでください

1
UberJim