Linux 服务器上的 Fail2Ban 设置和暴力保护
使用自动 IP 禁止系统保护 SSH、面板和服务入口的指南。
每个向互联网开放的 Linux 服务器都会被自动机器人不断扫描。这些僵尸程序特别尝试通过试错方法登录SSH服务。这种类型的攻击 暴力攻击 它被称为。
Fail2Ban 从日志文件中跟踪不成功的登录尝试。它会自动禁止错误输入超过指定数量的 IP 地址。这样,攻击者就无法通过同一IP重复尝试密码。
简单解释: Fail2Ban就像一个守在门口的保安。它会注意到不断尝试错误密码的人并将他们带离门口。
1. Fail2Ban 有什么作用?
- SSH 减少了暴力攻击。
- 它会禁止输入大量错误条目的 IP 地址。
- 它通过监视服务器日志来自动采取行动。
- 它与防火墙一起阻止攻击流量。
- 它还可用于游戏服务器面板、Web 面板登录和邮件服务。
2.Fail2Ban安装
在基于 Ubuntu 和 Debian 的系统上:
apt update apt install fail2ban -y
在 CentOS、AlmaLinux 或 Rocky Linux 系统上:
yum install epel-release -y yum install fail2ban -y
要启动该服务并使其在启动时自动运行:
systemctl enable fail2ban systemctl start fail2ban systemctl status fail2ban
3. 复制默认设置文件
直接进行Fail2Ban设置 监狱配置文件 不应在文件中对其进行编辑。因为这个文件可能会在更新时改变。相反 本地监狱 文件已创建。
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
然后编辑文件:
nano /etc/fail2ban/jail.local
4.启用SSH保护
在文件中 [sshd] 找到该部分并进行如下编辑:
[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 5 findtime = 10m bantime = 1h
这个设置的意思是:
- 最大重试次数 = 5: 5 次错误输入后采取行动。
- 查找时间=10m: 尝试次数在 10 分钟内进行计数。
- 休息时间 = 1 小时: 该IP地址被封禁1小时。
注意: 为了防止您自己的IP地址被意外禁止,您可以将您信任的IP地址添加到ignoreip字段中。
5. 将您自己的 IP 地址列入安全名单
如果您使用固定IP,您可以将自己的IP地址排除在禁止系统之外。
ignoreip = 127.0.0.1/8 192.168.1.1 SUNUCUYA_BAGLANDIGINIZ_IP
这里 您连接到服务器的 IP 您必须在字段中写下您的真实 IP 地址。
6. 重启Fail2Ban服务
systemctl restart fail2ban
要检查状态:
fail2ban-client status
查看 SSH 监狱状态:
fail2ban-client status sshd
7.查看被禁止的IP地址
fail2ban-client status sshd
输出时 禁止IP列表 禁止的 IP 地址出现在该字段中。
8.打开不小心被禁止的IP地址
如果您自己的IP地址或可信用户的IP地址被错误地禁止,您可以使用以下命令将其删除:
fail2ban-client set sshd unbanip IP_ADRESI
常见错误
- 直接编辑jail.conf文件
- 不将自己的IP地址添加到ignoreip字段中
- 即使 SSH 端口已更改,也不更改 Fail2Ban 端口设置
- 错误输入日志文件路径
- 认为 Fail2Ban 处于活动状态并且不检查服务状态
常见问题解答
仅 Fail2Ban 是否可以提供足够的安全性?
不可以。Fail2Ban 是一个重要的保护层,但它应该与强密码、最新的系统、防火墙和正确的服务配置结合使用。
Fail2Ban 可以保护游戏服务器吗?
它不直接分析游戏流量。但是,它可以通过 SSH、面板、Web 服务和一些登录日志来提供保护。
我可以延长禁令期限吗?
是的。您可以将 bantime 值设置为更长的时间段,例如 24 小时、7 天,而不是 1 小时。
安全建议
- 关闭 root 登录。
- 使用强而独特的密码。
- 如果可能,请使用 SSH 密钥登录。
- 定期检查 Fail2Ban 日志。
- 不要向互联网开放不必要的服务。
本文是专门为PvPServer准备的。