
当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 | 实时监控+自动封禁 | 资源型网站 |
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。