我正在通过用户名/密码将OpenVPN与PAM结合用于用户身份验证。我创建了一个自定义的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(wheezy)。
我错过了什么吗?有没有办法强制重置计数器?
答案 0 :(得分:4)
似乎我需要添加以下行:
account required pam_tally2.so
只是旁注:负面投票没有解释是最糟糕的。显而易见的是,我已经错误地写了我的配置,除非有人能够指出我的错误,否则不需要为此向我投票。
答案 1 :(得分:0)
请注意,这些行的顺序非常重要。尝试如下;
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
答案 2 :(得分:-1)
Ubuntu 16.04
预期行为 - 连续三次登录失败将导致系统锁定ID。 30秒后,ID会自动解锁。
编辑/etc/pam.d/common-account文件。 添加以下行(不带)作为第一个可执行行。 “帐户需要pam_tally2.so”
编辑/etc/pam.d/common-auth文件。 添加以下行(不带)作为第一个可执行行。 “auth required pam_tally2.so deny = 3 unlock_time = 30”
编辑/ etc / ssh / sshd_config文件。 确保相应地设置以下名称 - 值对。 usePAM是的 ChallengeResponseAuthentication yes