Linux安装Fail2ban防暴力破解
Fail2ban简介
Fail2ban 是一个用于防御暴力攻击的开源工具。它通过监控系统日志文件,检测恶意行为并自动采取措施来保护 Linux 服务器免受攻击。Fail2ban 可以分析登录失败的日志记录,并根据预定义的规则和策略来禁止攻击者的 IP 地址。
Fail2ban工作原理
Fail2ban 的工作原理可以简单概括为以下几个步骤:
1.监控系统日志:Fail2ban 定期监控系统日志文件,例如 /var/log/auth.log,查找登录失败的记录和其他异常行为。
2.过滤日志:Fail2ban 使用正则表达式和预定义的过滤规则来识别与暴力攻击相关的日志条目。这些规则可以根据您的需求进行自定义和调整。
3.记录匹配:一旦 Fail2ban 找到匹配规则的日志条目,它会记录相关的 IP 地址和时间戳。
4.执行动作:根据配置的策略,Fail2ban 将执行相应的动作来应对攻击。最常见的动作是将攻击者的 IP 地址添加到防火墙规则中禁止其访问。
5.解禁策略:Fail2ban 还提供了解禁策略,以避免误封禁合法用户。根据配置的规则,Fail2ban 会自动解除禁止或在一段时间后自动解禁被封禁的 IP 地址。
安装步骤
1.执行安装命令
# centos
sudo yum install epel-release
sudo yum install fail2ban
# ubuntu
sudo apt install fail2ban
2.设置配置文件
复制fail2ban配置文件
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
说明:jail.conf是主配置文件,但其中配置可以被jail.local本地配置文件覆盖,所以可以复制出一份本地配置,然后修改,不去修改主配置。fail2ban同理
3.编辑jail.local
vim /etc/fail2ban/jail.local
进去编辑模式后,键入”/“可以使用关键字搜索,比如 /sshd ,然后按回车,会搜索关键字sshd,定位到sshd配置后,按 ”i“ 进入插入模式
[sshd]
#启用开关
enabled = true
4.编辑fail2ban.local
vim /etc/fail2ban/fail2ban.local
编辑方法同上,在文件末尾把这些配置都加入,按ESC键,然后输入”:wq!”,退出并保存
[sshd]
#启用开关
enabled = true
#监视ssh防护的端口
port = ssh
#使用内置的sshd过滤器
filter = sshd
#日志存放位置
logpath = /var/log/secure
#最大尝试次数
maxretry = 10
#封禁时间(单位:秒),-1 为永久封禁
bantime = 600
5.启动服务
#启动服务
sudo systemctl start fail2ban
#加入开机自启动
sudo systemctl enable fail2ban
#重启服务
sudo systemctl restart fail2ban
#检查fail2ban状态
sudo fail2ban-client status
#检查详细被封禁ip
sudo fail2ban-client status sshd
# 即时解封指定ip
sudo fail2ban-client set sshd unbanip 192.168.56.1
# 将指定ip从所有jail中释放
sudo fail2ban-client unban 192.168.56.1
请根据实际需求进行配置,编辑配置后需要使用重启命令,配置才会生效