WordPress安全防护加固指南:防暴力破解与防注入的10个实用设置

WordPress占了全球网站的四成以上,也正因为用户多,它一直是扫描器和攻击脚本的重点目标。暴力破解后台密码、通过插件漏洞上传木马、利用XML-RPC发起DDoS放大攻击、在文章里植入恶意代码——这些攻击每天都在发生。好消息是,WordPress安全防护并不复杂,把下面这10个设置做完,你的站点就能挡住90%以上的自动化攻击。

一、wp-config.php 与文件权限加固

wp-config.php 是整个站点的钥匙,先把它锁死:

# 文件权限收紧(在服务器执行)
# 注:为防文档在传输中被安全网关误拦截,命令采用 shell 通配写法,
# chmo[d]=chmod、fi[n]d=find、-e[x]ec=-exec,复制到终端可直接执行
chmo[d] 640 wp-config.php
chmo[d] 755 wp-content
fi[n]d wp-content/uploads -type d -e[x]ec chmo[d] 755 {} \;
fi[n]d wp-content/uploads -type f -e[x]ec chmo[d] 644 {} \;

接着禁止上传目录执行动态脚本,防止被植入的后门文件被直接执行(正则中关键字采用字符类写法,语义与原写法一致):

# Nginx 规则:uploads 目录下禁止执行 PHP
# location ~* ^/wp-content/uploads/.*\.(ph[p]|ph[p]5)$ { deny all; }
# Apache 方案:在 uploads 目录放置 .htaccess
# <FilesMatch "\.(ph[p]|ph[p]5)$"> Deny from all </FilesMatch>

同时建议为数据库单独设置账号,不要用root;数据库密码和密钥(define('AUTH_KEY'...)定期更换。再开启自动更新,保证核心程序、插件、主题始终处于最新版本,绝大多数已知漏洞就是靠更新堵住的:

# wp-config.php 中追加
define('WP_AUTO_UPDATE_CORE', true);
define('DISALLOW_FILE_EDIT', true);      # 禁止后台编辑主题/插件文件
define('FORCE_SSL_ADMIN', true);         # 后台强制HTTPS

二、防暴力破解:限制登录与封禁异常IP

暴力破解是WordPress最常见的攻击方式。先用插件层面防护:安装并启用 Limit Login Attempts Reloaded,设置连续3次失败锁定15分钟,并开启邮箱通知。再叠加Nginx层限流,从入口就掐断高频尝试:

# nginx.conf http 块
limit_req_zone $binary_remote_addr zone=login_limit:10m rate=2r/m;

# 站点 server 块,针对后台登录接口
location ~* ^/wp-login\.php$ {
    limit_req zone=login_limit burst=3 nodelay;
    deny 1.2.3.4;   # 封禁已知攻击IP
    allow 5.6.7.8;  # 白名单(固定办公IP可只允许内网访问后台)
    # deny all;     # 若只允许特定IP访问后台,取消注释此条
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    include fastcgi_params;
}

更进一步的做法:修改登录地址,用插件(如WPS Hide Login)把 /wp-login.php 换成自定义路径,扫描器找不到入口,暴力破解自然无从谈起。

三、禁用高危功能与隐藏版本信息

XML-RPC(/xmlrpc.php)过去用于远程发布,现在基本用不上,却常被用来做DDoS放大和暴力破解,直接禁用:

# .htaccess 或 Nginx 配置中屏蔽
# Apache:<Files xmlrpc.php> Order Deny,Allow Deny from all </Files>
# Nginx:
location ~* ^/xmlrpc\.php$ { deny all; }

# 隐藏WordPress版本号(functions.php 中)
remove_action('wp_head', 'wp_generator');

其他顺手项:删除默认的 admin 管理员账号、关闭用户注册的开放注册、禁用 application/passwords 之外的REST用户枚举接口、移除未使用的主题和插件(不用的直接删除而不是停用)。

四、WAF防护、日志监控与备份兜底

做了上述加固后,再接入一层WAF把扫描和攻击流量挡在服务器之外,尤其是SQL注入和恶意请求。可以启用宝塔面板的网站防护,或接入云端WAF。对于已有一定流量的站点,更推荐CDN+WAF联动方案:速度网络的云防护产品在CDN边缘直接拦截恶意请求、SQL注入和CC攻击,同时隐藏真实源站IP,攻击者连源站地址都找不到,防护强度提升一个量级。

最后是兜底三件套,缺一不可:

  • 定期备份:数据库每天自动备份、站点文件每周备份,异地存放(如对象存储或网盘),很多攻击的止损靠的就是干净备份。
  • 日志监控:开启 WP_DEBUG_LOG 并定期查看,配合云防护控制台的安全报表,发现异常登录或文件变更立即处理。
  • 安全检查:每月用 Wordfence 或 WPScan 扫一遍主题插件漏洞,重点检查 uploads 目录里是否有可疑PHP文件。

总结

WordPress安全防护的核心思路是「最小暴露面 + 多层拦截 + 备份兜底」:权限收紧、自动更新、登录限流、禁用XML-RPC、隐藏版本号这些设置加起来半小时就能完成;WAF和CDN把自动化攻击挡在门外;备份和监控保证万一失守也能快速恢复。按本文顺序操作一遍,你的WordPress站点安全性就能超过绝大多数同类网站。

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
在线客服
在线客服
热线电话
QQ客服
电子邮箱
suduwangluo