Fail2ban 是一个用来监控登录尝试的 daemon ,可以有效侦测和防止可疑行为的发生。
安装
apt install fail2ban
systemctl enable fail2ban.service
systemctl start fail2ban.service
设置
我主要用来封禁非法的 ssh 登录,因此只配置 ssh。为了升级时不冲突,不要编辑 jail.conf 原始文件,而是:
vim /etc/fail2ban/jail.d/defaults-debian.conf
[sshd]
enabled = true
bantime = 10m
banTime.increment = True
#backend = systemd
第一行:表明这是对ssh生效
第二行:启用
第三行:封禁时间,10分钟
第四行:增量封禁,即第一次10分钟,第二次加倍20分钟,第三次再次加倍40分钟……
第五行:一般不需要这行即可正常运行。如果无法运行,用systemctl status fail2ban.service命令查看,提示:Failed during configuration: Have not found any log file for sshd jail,则表明该系统日志是基于systemd的,就需要添加这一行。
运行
fail2ban-client status sshd # 用命令检查运行状况
# 如有需要,可以手工封禁/解禁个别 IP 地址
fail2ban-client set ssh banip x.x.x.x
fail2ban-client set ssh unbanip x.x.x.x

