有没有办法可以限制用户尝试 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.