linux服务器安全必备配置
linux尝试登录失败后锁定用户账户的两种方法
一、pam_tally2模块
用于对系统进行失败的ssh登录尝试后锁定用户帐户。此模块保留已尝试访问的计数和过多的失败尝试。
配置
使用/etc/pam.d/system-auth
或etc/pam.d/password-auth
配置文件来配置的登录尝试的访问
12 | auth required pam_tally2.so deny=3 unlock_time=600``account required pam_tally2.so |
---|
注意:
auth要放到第二行,不然会导致用户超过3次后也可登录。
如果对root也适用在auth后添加even_deny_root
.
查看用户登录失败的信息
123 | [root@mysql-master pam.d]``# pam_tally2 -u lt``Login Failures Latest failure From``lt 5 10``/23/18 15:45:58 192.168.160.1 |
---|
解锁用户
[root@mysql-master pam.d]# pam_tally2 -u lt
Login Failures Latest failure From
lt 5 10/23/18 15:45:58 192.168.160.1
二、pam_faillock 模块
在红帽企业版 Linux 6 中,pam_faillock PAM
模块允许系统管理员锁定在指定次数内登录尝试失败的用户账户。限制用户登录尝试的次数主要是作为一个安全措施,旨在防止可能针对获取用户的账户密码的暴力破解
通过 pam_faillock
模块,将登录尝试失败的数据储存在 /var/run/faillock 目录下每位用户的独立文件中
配置
添加以下命令行到 /etc/pam.d/system-auth
文件和/etc/pam.d/password-auth
文件中的对应区段:
1234 | auth required pam_faillock.so preauth silent audit deny=3 unlock_time=600``auth sufficient pam_unix.so nullok try_first_pass``auth [default=die] pam_faillock.so authfail audit deny=3``account required pam_faillock.so |
---|
注意:
auth required pam_faillock.so preauth silent audit deny=3
必须在最前面。
适用于root在pam_faillock
条目里添加 even_deny_root
选项
查看每个用户的尝试失败次数
[root@mysql-master pam.d]# faillock
解锁一个用户的账户
[root@mysql-master pam.d]# faillock --user lt --reset
pam_tally2.so模块参数解读:
onerr=fail #表示连续错误
deny=n #表示连续登录失败次数超过n次后拒绝访问
unlock_time=300 #表示连续登录失败后锁定的时间(秒数)为300秒
no_magic_root #表示连root用户也在限制范围内
even_deny_root #root用户失败登录次数超过deny=n次后拒绝访问
root_unlock_time=300 #与even_deny_root相对应的选项,如果配置该选项,则root用户在登录失败次数超出限制后被锁定指定时间为300秒
注:用户锁定期间,无论在输入正确还是错误的密码,都将视为错误密码,并以最后一次登录为锁定起始时间,若果用户解锁后输入密码的第一次依然为错误密码,则再次重新锁定。
————————————————
mysql
general_log = 1
general_log_file = /mnt/db/generallogfile.log
log_timestamps=SYSTEM