脚本小子越来越多,安全威胁越来越大,SSH是远程维护服务器的一扇门,门被攻破了那里面的财物(数据)就唾手可得了。
这里以CentOS为例,先安装fail2ban:
yum install fail2ban fail2ban-selinux -y
如果使用的是iptables防火墙千万记得禁用firewalld防火墙, 安装fail2ban会默认自启动firewalld防火墙!!! 如果意外重启会被关在外面!!
systemctl disable firewalld
systemctl stop firewalld
装好了fail2ban后创建一个配置文件:
vi /etc/fail2ban/jail.local
按i键插入,复制以下内容:
[DEFAULT]
bantime = 86400
maxretry = 5
findtime = 600
banaction = firewallcmd-allports
[sshd]
enabled = true
filter = sshd
logpath = /var/log/secure
maxretry = 3
上面的配置文件里, bantime 意思是封禁的时间,单位为秒; maxretry 意思是尝试的最大次数; findtime 意思是在规定的时间内匹配maxretry,单位为秒; banaction 意思是封禁时采取的操作,这里以防火墙操作为主。
配置好了之后就可以启动fail2ban啦:
systemctl start fail2ban
配置开机自启动:
systemctl enable fail2ban
如果要解封被封的IP地址,可以执行:
fail2ban-client unban IP地址
查看被封的IP:
fail2ban-client get sshd banip