この行を追加する理由は次のとおり/etc/pam.d/common-auth
です。
auth required pam_tally2.so deny=4 unlock_time=1200 even_deny_root
次の行を次に追加します/etc/pam.d/common-account
。
account required pam_tally2.so
防ぐみんな私のDebian 10システムにログインしますか?他のすべてのpam
設定ファイル(、、、login
およびcommon-session
はcommon-password
デフォルト値と同じですが、必要に応じてそれらのファイルも公開できます)
pam_tally
私は次のようないくつかの異なる質問について議論するのを見ました。これ、これとこれpam_tally
しかし、具体的な答えがないか、答えがまったくありません。
(背景には適応しようとしています。今回のアップデート案内Debian システムの場合)
編集:libpam-modules
パッケージがインストールされました。
からcommon-auth
:
auth [success=1 default=ignore] pam_unix.so nullok_secure
auth required pam_tally2.so deny=4 unlock_time=1200 even_deny_root
auth requisite pam_deny.so
auth required pam_permit.so
からcommon-account
:
account required pam_tally2.so
account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so
account requisite pam_deny.so
account required pam_permit.so
答え1
この答えには2つの部分があります。最初はpam_tally2
に追加しますauth
。 2番目はに追加しますaccount
。pam_tally2
正しく機能するには、これら2つの部分が必要です。。
あなたのものを見てみましょうcommon-auth
、
auth [success=1 default=ignore] pam_unix.so nullok_secure auth required pam_tally2.so deny=4 unlock_time=1200 even_deny_root auth requisite pam_deny.so auth required pam_permit.so
最初の行は次のとおりです。 「UNIX()認証を試してください/etc/passwd
。成功したら行をスキップして続行します。そうでない場合は、次の手順に進みます。」このロジックを使用すると問題が明らかになります。
- 成功:1行(
success=1
)をスキップして[ログイン拒否]をpam_tally2
クリックします。pam_deny
- 失敗:
pam_tally2
[次へ]をクリックしましたが、pam_deny
ログインが拒否されました。
ご覧のとおり、すべてのログインがブロックされます。
解決策の一部は、pam_tally2
リストをスタックの上に置くことです。 (変更がうまくいくsuccess=2
と思うかもしれませんが、これはpam_tally2
成功した認証をスキップするため、タイムアウト後に失敗した場合にリセットされます)。
auth required pam_tally2.so deny=5 unlock_time=1200 even_deny_root
# here are the per-package modules (the "Primary" block)
auth [success=1 default=ignore] pam_unix.so nullok_secure
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth optional pam_cap.so
# end of pam-auth-update config
これにより、数が増えますが、ログインに成功した後にコマンドを使用せずにリセットする方法が必要ですpam_tally2
。特に明確ではないのは、最初の項目としてもセクションpam_tally2.so
に追加する必要があることです。account
account required pam_tally2.so onerr=fail
これをテストしましたが、試してみるとsudo -s
PAM構成への変更を元に戻すために、ターゲットコンピュータで追加のルートシェル(たとえば)を開く必要があります。
tail -F /var/log/auth.log
あなたは何が起こっているのかを見ることができますwatch pam_tally2 --user {user}
。
認証が試行されると回数が増加し、成功した場合にのみリセットされるため、回数制限は許可された試行回数より1大きい必要があります。