视窗苹果电脑软件设置安全生产力Linux安卓性能配置苹果自定义设备管理iPhone设置 全部

如何在Linux上设置Fail2Ban

已编辑 1 一周前 通过 ExtremeHow 编辑团队

安全Fail2Ban暴力破解保护配置安装系统管理员监控SSHIP 禁止自动化

如何在Linux上设置Fail2Ban

翻译更新 1 一周前

Fail2Ban是一款流行的开源软件,可以帮助保护您的Linux服务器免受暴力攻击。它通过监控日志文件并暂时禁止表现出可疑行为的IP地址来实现这一点。正确设置Fail2Ban可以通过自动响应未经授权的访问尝试来提高服务器的安全性。

了解Fail2Ban

Fail2Ban通过识别用户或脚本试图未经授权访问服务器的实例来工作。它扫描特定的日志文件以查找预定义的模式,然后暂时禁止任何与这些模式匹配的IP地址。此操作有助于防止攻击者反复猜测密码或操纵系统中的漏洞。

在我们开始设置Fail2Ban之前,了解其基本组件是很重要的:

先决条件

在设置Fail2Ban之前,请确保您拥有Linux服务器的管理访问权限。这使您能够安装新软件并修改系统配置。此外,您还应该对Linux命令行操作有基本的了解。还需要正确配置防火墙,因为Fail2Ban将与其交互,以便阻止和解除阻止IP地址。

安装Fail2Ban

大多数Linux发行版在其软件包存储库中都包含Fail2Ban,这使得安装变得简单。让我们看看不同发行版的安装步骤:

对于基于Debian的系统(例如Ubuntu)

sudo apt-get update sudo apt-get install fail2ban

对于基于Red Hat的系统(例如CentOS)

sudo yum install fail2ban

安装后,Fail2Ban服务通常会自动启动。您可以通过以下方式检查其状态:

sudo systemctl status fail2ban

配置Fail2Ban

Fail2Ban可以通过其配置文件进行高度配置。以下是如何根据您的安全需求进行自定义设置:

创建本地配置

Fail2Ban的主要配置文件位于/etc/fail2ban/jail.conf,但建议创建本地副本以确保将来的更新不会覆盖您的设置。创建一个名为jail.local的新文件:

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

修改jail.local

编辑jail.local以设置您的特定首选项。以下是需要配置的部分:

默认部分

此部分定义了适用于所有监狱的一般设置,例如禁令时间和是否发送电子邮件警报。在文本编辑器中打开文件:

sudo nano /etc/fail2ban/jail.local

[DEFAULT]部分下,您可以找到以下类型的变量:

[DEFAULT] ignoreip = 127.0.0.1/8 bantime = 600 findtime = 600 maxretry = 3 destemail = your-email@example.com banaction = iptables-multiport mta = sendmail protocol = tcp chain = INPUT

启用监狱

监狱是Fail2Ban的核心,定义要监控的服务以及如何进行操作。在jail.local文件中,您可以为要保护的服务启用监狱:

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

添加自定义过滤器

虽然Fail2Ban带有几个预配置的过滤器,但如果需要,您可以编写自定义过滤器。 在/etc/fail2ban/filter.d/目录中创建一个新文件。 过滤器应由一系列正则表达式组成,以匹配您要识别的可疑活动。

自定义过滤器示例

假设您要创建一个自定义过滤器来检测Web应用程序中的失败登录尝试。 首先,创建一个新的过滤器文件:

sudo nano /etc/fail2ban/filter.d/myapp.conf

添加如下表达:

[Definition] failregex = ^.*Failed login for user.*$ ignoreregex =

测试Fail2Ban

测试Fail2Ban设置以确保它按预期工作是很重要的:

启动Fail2Ban服务

配置Fail2Ban后,启动或重新启动服务以应用更改:

sudo systemctl restart fail2ban

验证Fail2Ban状态

为了确保Fail2Ban服务正常运行而没有任何错误,请检查其状态:

sudo fail2ban-client status

试用限制

模拟攻击时,请使用目标服务故意失败尝试登录。 监控Fail2Ban以确保IP被禁止:

sudo fail2ban-client status sshd

此命令将显示SSH监狱的状态,包括当前阻止的IP。

解除IP禁令

有时,您可能需要取消对错误禁止的IP的禁止。 要取消对IP的封禁,请使用以下命令:

sudo fail2ban-client set <jail> unbanip <IP-Address>

Fail2Ban和防火墙

Fail2Ban主要使用iptables来管理禁令。 但是,如果您使用firewalldUFW(简化防火墙)等防火墙管理工具,请确保它们与Fail2Ban顺利集成。 您可能需要自定义配置中的banaction以使用这些工具。

监控和维护Fail2Ban

定期检查Fail2Ban日志以获取任何异常活动。 日志通常位于此处:

/var/log/fail2ban.log

查看这些日志有助于理解攻击模式并更有效地定制安全策略。

结论

Fail2Ban是一种用于保护Linux服务器免受未经授权的访问尝试的多功能和必不可少的工具。 通过正确配置它,您可以显著减少服务成功暴力攻击的次数。 调整配置以适合您的服务器环境,并不断监控日志以保持强大的安全姿态。

随着技术的发展,攻击方法也在不断发展。 定期更新Fail2Ban及其配置可确保您最大限度地减少与新威胁相关的风险。 请记住,虽然Fail2Ban可以增强安全性,但它应作为整体安全策略的一部分,与其他最佳实践一起使用,例如使用强密码、保持系统更新和限制开放端口。

如果你发现文章内容有误, 您可以


评论