WordPress网站防火墙配置与安全加固实践指南

WordPress网站遭遇攻击时,防火墙扮演着至关重要的角色。我们以主流的Cloudflare防火墙为例,展示如何通过规则配置实现精准拦截恶意请求。以下为可复制的配置指令:

page Rules:
  "wp-json/wp/v2/posts": "return 403"
  "wp-json/wp/v2/users": "return 403"
  "xmlrpc.php": "return 403"
  "rest.php": "return 403"
  "wp-admin": "return 403"
  "feed": "return 403"
  "cron.php": "return 403"
  "xmlrpc.php": "return 403"
  "wp-json/wp/v2/media": "return 403"
  "wp-json/wp/v2/comments": "return 403"
  "wp-json/wp/v2/search": "return 403"

上述规则通过Cloudflare的Page Rules功能生效,关键点在于:

  • 采用精确匹配路径,避免泛匹配导致误拦截
  • 对XML-RPC和REST API端点进行拦截,需在网站后台临时关闭测试
  • 建议保留403状态码而非301重定向,便于日志追踪

对于需要验证的API接口,可改用Cloudflare Access实现更细粒度的权限控制。以下为API密钥配置示例:

{
  "access": {
    "authorizedUsers": ["user@example.com"],
    "authorizedGroups": ["api-team"],
    "universal": false
  }
}

当防火墙误拦截正常访问时,可通过以下命令恢复:

curl -X DELETE https://.cloudflare.com/api/v4/security/rules/{rule-id}

结合Cdn面板的防火墙功能,可同步开启以下防护策略:

防护策略 配置参数 生效时间
CC攻击防护 Bot Challenge: Moderate 5分钟
爬虫管理 Scrapers: Block 立即生效
暴力破解拦截 Brute Force: 5 attempts 10分钟

对于已部署WAF模块的WordPress,需注意:

  • Cloudflare防火墙优先级高于WAF规则
  • 自定义规则建议设置最低TTL值(300秒)
  • 定期检查防火墙日志中的403/404比例

当防火墙规则失效时,可通过以下步骤进行排查:


<?xml version="1.0"?>
<request>
  <url>https://yourdomain.com/.well-known/ai-plugin-config</url>
  <method>GET</method>
  <headers>
    <header name="CF-Connecting-IP" value="192.0.2.1"/>
  </headers>
</request>

建议在防火墙拦截前设置监控,通过以下代码段实现:

function firewall_check() {
    $cf_ip = $_SERVER['HTTP_CF_CONNECTING_IP'] ?? 'direct';
    if ($cf_ip !== 'direct') {
        return true;
    }
    return false;
}

最后,对于高安全要求的网站,可考虑以下组合方案:

组件 配置要点 适用场景
Cloudflare DDoS防护+防火墙+Access 全站防护
Wordfence 规则库+自定义拦截 敏感数据保护
Fail2ban 实时监控+自动封禁 资源型网站
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。