已编辑 1 一周前 通过 ExtremeHow 编辑团队
安全Fail2Ban暴力破解保护配置安装系统管理员监控SSHIP 禁止自动化
翻译更新 1 一周前
Fail2Ban是一款流行的开源软件,可以帮助保护您的Linux服务器免受暴力攻击。它通过监控日志文件并暂时禁止表现出可疑行为的IP地址来实现这一点。正确设置Fail2Ban可以通过自动响应未经授权的访问尝试来提高服务器的安全性。
Fail2Ban通过识别用户或脚本试图未经授权访问服务器的实例来工作。它扫描特定的日志文件以查找预定义的模式,然后暂时禁止任何与这些模式匹配的IP地址。此操作有助于防止攻击者反复猜测密码或操纵系统中的漏洞。
在我们开始设置Fail2Ban之前,了解其基本组件是很重要的:
在设置Fail2Ban之前,请确保您拥有Linux服务器的管理访问权限。这使您能够安装新软件并修改系统配置。此外,您还应该对Linux命令行操作有基本的了解。还需要正确配置防火墙,因为Fail2Ban将与其交互,以便阻止和解除阻止IP地址。
大多数Linux发行版在其软件包存储库中都包含Fail2Ban,这使得安装变得简单。让我们看看不同发行版的安装步骤:
sudo apt-get update sudo apt-get install fail2ban
sudo yum install fail2ban
安装后,Fail2Ban服务通常会自动启动。您可以通过以下方式检查其状态:
sudo systemctl status 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
600
秒是十分钟。监狱是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后,启动或重新启动服务以应用更改:
sudo systemctl restart fail2ban
为了确保Fail2Ban服务正常运行而没有任何错误,请检查其状态:
sudo fail2ban-client status
模拟攻击时,请使用目标服务故意失败尝试登录。 监控Fail2Ban以确保IP被禁止:
sudo fail2ban-client status sshd
此命令将显示SSH监狱的状态,包括当前阻止的IP。
有时,您可能需要取消对错误禁止的IP的禁止。 要取消对IP的封禁,请使用以下命令:
sudo fail2ban-client set <jail> unbanip <IP-Address>
Fail2Ban主要使用iptables来管理禁令。 但是,如果您使用firewalld
或UFW(简化防火墙)
等防火墙管理工具,请确保它们与Fail2Ban顺利集成。 您可能需要自定义配置中的banaction
以使用这些工具。
定期检查Fail2Ban日志以获取任何异常活动。 日志通常位于此处:
/var/log/fail2ban.log
查看这些日志有助于理解攻击模式并更有效地定制安全策略。
Fail2Ban是一种用于保护Linux服务器免受未经授权的访问尝试的多功能和必不可少的工具。 通过正确配置它,您可以显著减少服务成功暴力攻击的次数。 调整配置以适合您的服务器环境,并不断监控日志以保持强大的安全姿态。
随着技术的发展,攻击方法也在不断发展。 定期更新Fail2Ban及其配置可确保您最大限度地减少与新威胁相关的风险。 请记住,虽然Fail2Ban可以增强安全性,但它应作为整体安全策略的一部分,与其他最佳实践一起使用,例如使用强密码、保持系统更新和限制开放端口。
如果你发现文章内容有误, 您可以