PAMで認証試行を制御する方法は何ですか?

PAMで認証試行を制御する方法は何ですか?

なしで構成したいです。セッションを削除する前にログインするためにパスワードを入力する(認証を試みる)ように求められます。 PAMはこのシナリオをサポートしていますか?それでは、必要な設定を手伝うことができますか?

答え1

PAMには、次のログインカウンタモジュールがあります。pam_tallyログイン試行回数を維持し、特定回数のログイン試行が失敗した場合に追加試行をブロックするために使用できます。

例:

Debianでは、次の行を追加して、/etc/pam.d/common-authアカウントがロックされる前にユーザーに3回のログイン試行を提供できます。

auth required pam_tally.so onerr=fail deny=3 no_magic_root

これにより、no_magic_rootrootユーザーがロックされるのを防ぎます。

〜のようにペテブこのunlock_timeオプションを使用すると、ロックされたアカウントが自動的にロック解除される秒数を指定できます。このオプションを1秒間アカウントをロックするに設定すると、指定された回数だけログインしようとした後、1ログイン試行を中断しながらユーザーが(ほぼ)すぐに再試行できるようになります。

次の行を追加すると、/etc/pam.d/common-accountログイン成功後にログイン回数がリセットされます。

account required pam_tally.so reset no_magic_root

Fedoraでは、両方の行を/etc/pam.d/system-auth

userpam_tally以下のようなユーティリティを使用して、ロックされたアカウントへのアクセスを復元できます。

$ pam_tally --user user --reset=0

答え2

認証に失敗した回数ではなく、メッセージが表示される回数を制御したい場合は、PAMを介して管理するのが難しい場合があります。たとえば、SSHには独自の設定があります。

     NumberOfPasswordPrompts
         Specifies the number of password prompts before giving up.  The
         argument to this keyword must be an integer.  The default is 3.

関連情報