web-dev-qa-db-ja.com

このPAMコードがDebianシステムへのすべてのログインを妨げるのはなぜですか?

この行を/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システムへのallログインを防止しますか?他のすべてのpam構成ファイル(logincommon-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
Michael A

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行スキップして続行してください。それ以外の場合は、次の手順に進んでください。」

  1. 成功:1行(success=1)、つまりpam_tally2をスキップし、pam_denyを押してログインを拒否します
  2. 失敗:pam_tally2を押してからpam_denyを押すと、ログインが拒否されます

解決策は、スタックの一番上のリストにpam_tally2を配置することです。 (success=2を変更するとうまくいくと思うかもしれませんが、認証を成功させるにはpam_tally2をスキップするため、タイムアウトの期限が切れた後の失敗からのみリセットできます。)これはかなりVanillaDebianシステムの私のものです。 :

auth    required                        pam_tally2.so deny=4 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構成への変更を元に戻すことができるように、ターゲットマシンで追加のルートシェルが開いていることを確認してください!

tail -F /var/log/auth.logwatch pam_tally2 --user {user}で何が起こっているかを確認できます。

2
roaima