在Debian 10上安装和配置Fail2Ban
source link: https://www.myfreax.com/install-configure-fail2ban-on-debian-10/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
从互联网访问的所有服务器都存在恶意软件攻击的风险。 例如,如果您有可从公共网络访问的应用程序,则攻击者可以使用Brute-Force尝试访问应用程序。
Fail2Ban是一种工具,它可以通过监控用于恶意活动的服务日志来保护您的Linux机器免受Brute-Force和其他自动攻击。 它使用正则表达式来扫描日志文件。 匹配模式的所有条目都被计算,并且当它们的数字达到某个预定义的阈值时,Fail2Ban使用系统防火墙禁止违规IP进行特定的时间。 禁止期到期时,IP地址将从禁止列表中删除。
本文介绍了如何在Debian 10上安装和配置Fail2Ban.
在debian上安装fail2ban
默认Debian 10存储库中包含Fail2Ban包。 要安装它,请用sudo权限作为root或用户运行以下命令:
sudo apt update
sudo apt install fail2ban
完成后,Fail2Ban服务将自动启动。 您可以通过检查服务状态来验证:
sudo systemctl status fail2ban
输出将如下所示:
● fail2ban.service - Fail2Ban Service
Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-03-10 18:57:32 UTC; 47s ago
...
就是这样。 此时,您在Debian Server上运行Fail2Ban。
fail2ban配置
默认Fail2Ban安装配有两个配置文件/etc/fail2ban/jail.conf
和/etc/fail2ban/jail.d/defaults-debian.conf
。 您不应修改这些文件,因为程序包更新时可能会被覆盖。
fail2ban按以下顺序读取配置文件。 每个.local
文件覆盖.conf
文件中的设置:
/etc/fail2ban/jail.conf/etc/fail2ban/jail.d/*.conf/etc/fail2ban/jail.local/etc/fail2ban/jail.d/*.local
配置Fail2Ban的最简单方法是将jail.conf
复制到jail.local
并修改.local
文件。 更高级用户可以从头开始构建.local
配置文件。 .local
文件不必包含相应的.conf
文件的所有设置,只有要覆盖的文件。
通过复制默认值jail.conf
文件来创建.local
配置文件:
sudo cp /etc/fail2ban/jail.{conf,local}
要开始配置Fail2Ban服务器,请使用文本编辑器jail.local
文件:
sudo nano /etc/fail2ban/jail.local
该文件包括描述每个配置选项的注释。 在此示例中,我们将更改基本设置。
白名单IP地址
您要排除禁止的IP地址,IP范围或主机可以添加到ignoreip
指令。 在这里,您应该添加您想要的本地PC IP地址和您想要的所有其他机器。
取消注释与ignoreip
开始的行,并添加由空间分隔的IP地址:
/etc/fail2ban/jail.local
ignoreip = 127.0.0.1/8 ::1 123.123.123.123 192.168.1.0/24
bantime
,findtime
和maxretry
选项设置禁止时间和禁令条件。
bantime
是禁止IP的持续时间。 没有指定后缀时,它默认为秒。 默认情况下,bantime
值设置为10分钟。 大多数用户更喜欢设置更长的禁止时间。 将值更改为您的喜好:
/etc/fail2ban/jail.local
bantime = 1d
要永久禁止IP,请使用负数。
findtime
是设置禁止之前的故障次数之间的持续时间。 例如,如果Fail2Ban被设置为在五次故障后禁止IP(maxretry
,请参见下文),则必须在findtime
持续时间内发生这些故障。
/etc/fail2ban/jail.local
findtime = 10m
maxretry
是禁止IP之前的故障次数。 默认值设置为五个,对于大多数用户来说应该没问题。
/etc/fail2ban/jail.local
maxretry = 5
电子邮件通知
Fail2Ban可以在禁止IP时发送电子邮件警报。 要接收电子邮件,您需要在服务器上安装SMTP并更改默认操作,只会将IP禁止到%(action_mw)s
,如下所示:
/etc/fail2ban/jail.local
action = %(action_mw)s
%(action_mw)s
禁止违规的IP并发送带有WHOIS报告的电子邮件。 如果要在电子邮件中包含相关日志,请将操作设置为%(action_mwl)s
。
您还可以更改发送和接收电子邮件地址:
/etc/fail2ban/jail.local
destemail = [email protected]
sender = [email protected]
Fail2ban Jails
Fail2Ban使用Jails的概念。 监狱描述了一个服务,包括过滤器和动作。 匹配搜索模式的日志条目被计算,并且当满足预定义条件时,执行相应的操作。
Fail2Ban为不同服务提供了许多监狱。 您还可以创建自己的监控配置。 默认情况下,只有SSH监狱已启用。
要启用监狱,您需要在监狱标题后添加enabled = true
。 以下示例显示了如何启用Postfix Jail:
/etc/fail2ban/jail.local
[postfix]
enabled = true
port = smtp,ssmtp
filter = postfix
logpath = /var/log/mail.log
我们在上一节中讨论的设置,可以每次监控设置。 以下是一个例子:
/etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 3
findtime = 1d
bantime = 4w
ignoreip = 127.0.0.1/8 11.22.33.44
过滤器位于/etc/fail2ban/filter.d
目录中,存储在具有与监控相同名称的文件中。 如果您有定制设置和具有正则表达式的体验,则可以进行微调过滤器。
每次修改配置文件时,必须重新启动Fail2Ban服务以进行更改以生效:
sudo systemctl restart fail2ban
fail2ban客户端
Fail2Ban使用命令行工具命名为fail2ban-client
,您可以使用它来与Fail2Ban服务进行交互。
要查看所有可用选项,请使用-h
选项调用命令:
fail2ban-client -h
此工具可用于禁止/扰乱IP地址,更改设置,重新启动服务等。 以下是一些例子:
获取服务器的当前状态:
sudo fail2ban-client status
检查监禁状态:
sudo fail2ban-client status sshd
解释IP:
sudo fail2ban-client set sshd unbanip 11.22.33.44
禁止IP:
sudo fail2ban-client set sshd banip 11.22.33.44
我们向您展示了如何在Debian 10上安装和配置Fail2Ban。
有关此主题的更多信息,请访问 fail2ban文档。
如果您有疑问,请随时留下评论。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK