1、修改配置文件
vi /etc/pam.d/sshd
末尾增加以下内容
auth required pam_tally2.so deny=3 unlock_time=60 even_deny_root root_unlock_time=60
参数说明
even_deny_root 也限制root用户;
deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户
unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;
解除锁定方法
在服务器端以root用户登录
执行命令:
pam_tally2 -u root -r
或者
pam_tally2 --user 用户名 --reset
清空指定用户的错误登录次数
Centos7和Centos8 设置ssh端口、登入次数
修改SSH的端口号
vi /etc/ssh/sshd_config
Port 22 修改为 5795 // 就是把端口22改为5795,去掉前面的#号
限制登入次数
vi /etc/ssh/sshd_config
MaxAuthTries=6 修改为 MaxAuthTries=3 // 就是把登入6次改为登入3次就断开 ,去掉前面的#号
防火墙拉黑攻击IP地址
查看登入成功的用户日志:last -f /var/run/utmp 或者 last
查看登入失败的用户日志:last -f /var/log/btmp 或者 lastb
IP 封禁 (这个是我们平时用得最多的)
# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='222.222.222.222' reject" 单个IP
# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='222.222.222.0/24' reject" IP段
# firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=192.168.1.2 port port=80 protocol=tcp accept" 单个IP的某个端口
这个是我们用得最多的。封一个IP,和一个端口 reject 拒绝 accept 允许
重新载入以生效
firewall-cmd --reload
查看封禁IP
firewall-cmd --list-rich-rules
使用 last -f /var/log/btmp 查看登入失败的IP 拦截效果。
查到这些IP后使用IP封禁命令进行封禁