限制 su 尝试次数

限制 su 尝试次数

有没有办法可以限制用户尝试 su 的次数?

例如,恶意用户以具有 su 访问权限的用户登录。反复运行 su 以尝试获得超级用户访问权限。

这个例子很少见,但增加保护措施似乎仍然是一个好主意。

尝试故障锁定:

我在 /etc/pam.d/su 中添加了以下几行来测试它:

auth        required       pam_faillock.so preauth silent audit deny=1 unlock_time=120
auth        sufficient     pam_unix.so nullok try_first_pass
auth        [default=die]  pam_faillock.so authfail audit deny=1 unlock_time=120
account     required       pam_faillock.so

但是,它不会锁定任何人。我通过故障锁定进行监控,然后看到:

# faillock
user:
When                Type  Source                                           Valid
root:
When                Type  Source                                           Valid
2015-01-30 20:55:05 TTY   pts/1                                                V
2015-01-30 20:55:20 TTY   pts/1                                                V

但是,这个条目是在 root 下(所以它会锁定每个人的 root 用户吗?)并且这个条目对 su 没有影响。

答案1

通过谷歌搜索,您可以找到以下链接本文档

Task: Set Maximum Number of Login Failures

    The -m option is allows you to set maximum number of login failures after 
    the account is disabled to specific number called MAX. Selecting MAX value 
    of 0 has the effect of not placing a limit on the number of failed logins.
    The maximum failure count should always be 0 for root to prevent a denial of
    services attack against the system:
    # faillog -M MAX -u username
    # faillog -M 10 -u vivek

本文档

faillog    
faillog -u <user> -r
faillog -u oracle -m 0
/var/log/faillog
faillog -u <user> -m -1

但是在 CentOS7 上执行faillog。根据此问答 pam_tally2替换faillog命令。

deny=n
    Deny access if tally for this user exceeds n.

相关内容