Pam_tally2 成功后不重置失败

Pam_tally2 not resetting failures on success

我将 OpenVPN 与 PAM 结合使用,通过 username/password 进行用户身份验证。我创建了一个自定义的 PAM 文件,如下所示:

auth required pam_unix.so shadow nodelay
auth requisite pam_succeed_if.so user ingroup vpn
auth required pam_tally2.so deny=5 lock_time=5 unlock_time=1800 even_deny_root
account required pam_unix.so

PAM 模块正确识别用户并对其进行身份验证,只允许 VPN 用户连接到虚拟网络。问题是,即使用户设法成功连接到 VPN,计数计数器也会继续上升而不是重置为 0(在 pam_tally2 命令的帮助下发现)。

auth.log 没有记录任何可疑的内容:

pam_succeed_if(openvpn:auth): requirement "user ingroup vpn" was met by user "test_user"
pam_succeed_if(openvpn:auth): requirement "user ingroup vpn" was met by user "test_user"
pam_succeed_if(openvpn:auth): requirement "user ingroup vpn" was met by user "test_user"
pam_succeed_if(openvpn:auth): requirement "user ingroup vpn" was met by user "test_user"

正在使用 Debian GNU/Linux 7(喘不过气来)。

我错过了什么吗?有没有办法强制重置计数计数器?

看来我需要添加以下行:

account required pam_tally2.so

附带说明:没有解释的反对票是最糟糕的。很明显我的配置写错了,没有必要为此给我投反对票,除非有人好心指出我的错误。

Ubuntu 16.04

预期行为 - 连续三次登录失败将导致系统锁定 ID。 30秒后ID自动解锁

编辑/etc/pam.d/common-account 文件。 添加以下行作为第一个可执行行。

account required pam_tally2.so

编辑/etc/pam.d/common-auth 文件。 添加以下行(不带)作为第一个可执行行。

auth required pam_tally2.so deny=3 unlock_time=30

编辑/etc/ssh/sshd_config 文件。 相应地确保以下 name-value 对是 uncommented/set。

UsePAM yes
ChallengeResponseAuthentication yes

请注意,这些行的顺序非常重要。尝试如下;

auth required pam_tally2.so deny=5 lock_time=5 unlock_time=1800 even_deny_root
auth required pam_unix.so shadow nodelay
auth requisite pam_succeed_if.so user ingroup vpn
account required pam_unix.so