Linux fail2ban 的使用详解

9 min read

Fail2ban是一种防止黑客攻击或恶意访问的开源软件。它可以监控系统日志,并阻止来自恶意IP地址的攻击。本文介绍如何在Linux系统上使用Fail2ban。

安装Fail2ban

在Linux上安装Fail2ban,可以使用以下命令:

对于Debian/Ubuntu系统:
sudo apt-get install fail2ban

对于CentOS/Fedora系统:
sudo yum install fail2ban

配置Fail2ban

1.编辑Fail2ban配置文件

默认的Fail2ban配置文件位于/etc/fail2ban/jail.conf。可以使用以下命令创建一个副本,以便进行更改:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

2.修改配置文件

  • 配置邮件通知:Fail2ban支持发送警报通知,可以通过邮件通知管理员。
    在[DEFAULT]标签下添加以下内容:

destemail = [email protected] #填写管理员邮箱
sendername = Fail2ban #发送邮件的发送者名字
mta = sendmail #邮件协议

  • 配置禁止IP的时间:当有IP被禁止访问时,可以指定禁止的时间。在[DEFAULT]标签下添加如下内容:

bantime = 3600 #单位为秒,此处设置的是一个小时

  • 配置允许访问的IP列表:[DEFAULT]标签下的ignoreip可以用于添加一些允许访问的IP地址,例如你的公司团队的IP地址。

ignoreip = 127.0.0.1/8 your_ip_address

  • 配置规则

Fail2ban的规则通常存储在/etc/fail2ban目录下的.conf文件中。可以通过编辑这些文件来设置规则。

例如,对于SSH攻击规则,可以打开/etc/fail2ban/jail.conf文件,并将[ssh]标签中的如下内容的bantime改为3600:

[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
bantime = 3600

以上内容表示,当有IP地址在6尝试登录SSH账户失败时,就会被阻止访问1小时。

3.测试配置

完成以上操作后,可以使用如下命令来加载配置文件:

sudo service fail2ban restart

如果没有错误,则Fail2ban将自动开始工作,对日志进行监控,并阻止任何恶意访问。

4.检查日志

Fail2ban将在/var/log/fail2ban.log中记录它的操作。可以使用以下命令查看最近的日志:

sudo tail /var/log/fail2ban.log

总结

Fail2ban是一种非常有用的工具,它可以帮助管理员防御黑客进攻。在实际应用中,针对服务器的实际需要进行配置,以提高服务器的安全性。