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

如何为Plesk自带的fail2ban添加MySQL过滤规则

为Plesk内置fail2ban添加MySQL防护支持操作步骤
  • 第一步:创建MySQL登录失败匹配过滤器
    进入fail2ban过滤器目录/etc/fail2ban/filter.d/,新建配置文件plesk-mysql.conf,写入以下内容:
[Definition]
failregex = ^.*\[Warning\] Access denied for user '.*'@'<HOST>' (using password: (YES|NO))$
ignoreregex =

其中<HOST>为fail2ban内置变量,可自动提取日志中的攻击者IP地址。

  • 第二步:验证过滤器匹配有效性
    执行以下命令,测试过滤器是否能正确识别MySQL错误日志中的登录失败记录:
    fail2ban-regex /var/log/mysql/error.log /etc/fail2ban/filter.d/plesk-mysql.conf
    若返回结果中存在匹配成功的失败记录,即代表过滤器配置正确。

  • 第三步:在Plesk后台添加防护jail
    登录Plesk管理后台,依次进入「工具与设置」-「安全性」-「Fail2Ban」-「Jails」选项卡,点击「添加Jail」,按以下规则填写配置:

    • 名称填写mysql-auth,勾选「启用」选项
    • 过滤器下拉选择刚才创建的plesk-mysql
    • 操作项默认选择iptables-multiport,端口填写3306,33060(如自定义过MySQL端口需对应替换)
    • 日志路径:Debian/Ubuntu系统填/var/log/mysql/error.log,CentOS/RHEL系统填/var/log/mariadb/mariadb.log
    • 按需设置封禁时间、最大重试次数后保存配置即可
  • 第四步:验证jail运行状态
    配置完成后执行命令fail2ban-client status mysql-auth,能正常返回当前封禁IP列表、累计匹配失败次数即代表配置已生效。

注意:

  1. 如果你的MySQL开启了额外的远程访问限制,或者自定义了错误日志存储路径,需要对应调整上述配置中的日志路径、端口参数,避免过滤器无法正常工作
  2. 自定义过滤器存放在fail2ban系统目录下,Plesk系统更新不会覆盖该配置,无需重复设置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:18:00