You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求适配OpenVPN Access Server的Fail2Ban正则配置方案

配置Fail2Ban防护OpenVPN Access Server认证暴力破解

刚好你已经通过开启DEBUG_LOGDB=1搞定了认证失败日志的记录,接下来我帮你完成Fail2Ban的完整配置,同时也提供几个不依赖Fail2Ban的限制方案:

一、Fail2Ban完整配置步骤

1. 创建自定义Filter规则文件

在Fail2Ban的filter目录下新建一个针对OpenVPN Access Server的规则文件/etc/fail2ban/filter.d/openvpnas.conf,内容如下:

[Definition]
# 匹配包含认证失败标记、真实IP字段的日志行
failregex = ^.*LOG ERR.*"real_ip": "<HOST>".*"auth": 0,.*
# 忽略不需要匹配的日志行(留空即可)
ignoreregex =

这个正则的作用是精准抓取**认证失败(auth:0)**的日志,并提取出攻击者的IP地址(<HOST>是Fail2Ban内置的IP占位符)。

2. 添加Jail封禁规则

编辑/etc/fail2ban/jail.local(推荐用local文件避免系统升级覆盖配置),在文件末尾添加如下规则:

[openvpnas]
enabled = true
# 覆盖OpenVPN Access Server的常用端口:Web管理943、VPN服务1194、HTTPS访问443
port = 443,943,1194
protocol = tcp,udp
# 关联刚才创建的filter规则
filter = openvpnas
# 指定日志文件路径
logpath = /var/log/openvpnas.log
# 允许的最大失败次数
maxretry = 3
# 封禁时长(单位:秒,这里设置为1小时)
bantime = 3600
# 统计失败次数的时间窗口(单位:秒,这里设置为10分钟)
findtime = 600

3. 重启Fail2Ban生效

执行以下命令重启服务,让配置生效:

sudo systemctl restart fail2ban

你可以用下面的命令检查规则是否正常加载:

fail2ban-client status openvpnas

二、不依赖Fail2Ban的替代方案

如果不想部署Fail2Ban,也可以通过OpenVPN Access Server自身的功能来限制暴力破解:

  • Web GUI登录限制:进入Access Server管理界面的Authentication > Settings,部分版本支持设置「登录失败次数阈值」和「锁定时长」,超过次数就暂时锁定用户登录
  • 启用多因素认证(MFA):给所有VPN用户启用TOTP等多因素认证,即使攻击者拿到密码,也无法完成认证,从根源降低风险
  • IP白名单:在Network Settings > Firewall中配置允许访问的IP范围,只开放给你常用的固定IP,拒绝其他未知IP的访问请求
  • 缩短认证超时:调整认证会话的超时时间,减少暴力破解的时间窗口

内容的提问来源于stack exchange,提问作者user3246693

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:53:50