在甲骨文云免费 VPS 上配置 Fail2ban 能通过监控系统日志自动封禁多次尝试登录的 IP 地址,但操作前需确认甲骨文云控制台的安全列表已放行 SSH 端口,防止防火墙规则冲突导致无法远程连接。
先说结论:Fail2ban 是操作系统层面的防护工具,需配合甲骨文云控制台网络安全策略共同使用。
- 先判断:确认实例操作系统类型及 SSH 端口号,避免修改默认端口后配置失效
- 优先做:在甲骨文云控制台配置安全列表放行 SSH,再部署 Fail2ban 应用层防护
- 再验证:使用 fail2ban-client 状态命令确认拦截规则生效,测试失败登录是否触发封禁
命令速用版
以下命令适用于 Ubuntu/Debian 系统,Oracle Linux 请使用 yum 或 dnf 包管理器。
sudo apt update
sudo apt install fail2ban -y
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo systemctl enable fail2ban
sudo systemctl restart fail2ban为什么会这样
SSH 服务默认暴露在公网,自动化脚本会持续扫描常见端口尝试暴力破解。Fail2ban 读取系统日志文件,匹配失败登录模式,调用防火墙接口封禁源 IP,从而减少日志噪音和系统资源消耗。公开资料中没有看到可靠的量化数据说明具体拦截比例,但这是 Linux 运维中标准的防御手段。
分步处理
按顺序执行以下步骤,每步完成后检查是否有报错。
1. 安装 Fail2ban
使用包管理器安装,确保软件源可用。
sudo apt update
sudo apt install fail2ban -y2. 创建本地配置
不要直接修改 jail.conf,升级时会被覆盖。复制为 jail.local 生效。
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local3. 编辑配置文件
使用 nano 或 vim 编辑,找到 [sshd] 部分,确保 enabled = true。
sudo nano /etc/fail2ban/jail.local修改或确认以下参数(根据实际需求调整):
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
maxretry = 5
bantime = 36004. 重启服务
配置修改后必须重启服务才能加载新规则。
sudo systemctl restart fail2ban怎么验证是否生效
通过状态命令和日志文件确认服务运行正常且规则已加载。
1. 检查服务状态
sudo fail2ban-client status sshd输出应包含 Currently failed 和 Total failed 计数,以及 Banned IP list。
2. 查看运行日志
sudo tail -f /var/log/fail2ban.log尝试多次错误登录 SSH,观察日志是否出现 Ban 动作记录。
3. 检查防火墙规则
sudo iptables -L -n查看是否存在 fail2ban 相关的链和规则。
常见坑
- 甲骨文云控制台安全列表优先:如果控制台安全列表未放行 SSH 端口,操作系统层面的 Fail2ban 无法接收到连接请求,日志不会记录。
- IPv6 兼容性问题:部分配置默认仅监听 IPv4,若 VPS 启用 IPv6,需确认 jail 配置支持 ipv6 或单独配置。
- 误封风险:maxretry 设置过小可能导致正常用户输错密码被封禁,建议初期设置为 5 次以上。
- 配置覆盖:直接修改 jail.conf 而非 jail.local,系统更新后配置会丢失。
常见问题
封禁时间多久?
默认通常为 10 分钟,可在 jail.local 中修改 bantime 参数调整,单位是秒。
被封禁了怎么解锁?
使用 fail2ban-client set sshd unbanip 命令立即解除指定 IP 封禁。
会影响正常登录吗?
只要不连续输错密码,正常登录不受影响,建议先测试再放宽限制。
Oracle Linux 怎么安装?
使用 sudo dnf install fail2ban -y 命令,配置路径与 Ubuntu 基本一致。
参考来源
- Fail2ban Official Documentation, GitHub Repository, https://github.com/fail2ban/fail2ban
- Oracle Cloud Infrastructure Documentation, Security Lists and Security Groups