前言
遇到站点被挂马、后台被爆破、数据被删,才想起做安全?那成本就高了。这篇 WordPress 安全加固教程? 其实是一份实战清单,每一步我都踩过坑,直接抄作业就行。如果你刚接触外贸网站,建议先读《WordPress 外贸网站安全与维护指南》,那套体系更系统,本文是其中核心操作的浓缩版。
为什么你必须做安全加固
WordPress 生态开放,但也意味着攻击者手段多。弱密码、过时插件、开放目录权限是最常见的突破口。我见过客户因为没关 XML-RPC,被暴力破解跑了三天,CPU 100%。别等出事再后悔,WordPress 安全加固教程 的核心就是挡住99%的扫描和漏洞利用。
第一步:账户与权限基础加固
1.1 删除默认 admin 用户
安装时用了 admin 账户?马上建一个新管理员账号(复杂用户名),然后删掉 admin。攻击者第一步就是猜 admin。
1.2 启用二步验证(2FA)
装一个靠谱的 2FA 插件,比如 WP 2FA 或者 Google Authenticator。强制所有管理员开启,这能挡住密码泄露导致的登录。
1.3 限制登录尝试次数
默认 WordPress 允许无限次尝试登录。安装 Limit Login Attempts Reloaded,设置5次失败后封锁IP 15分钟。
第二步:文件与目录权限收紧
2.1 设置正确的文件权限
wp-config.php 设为 600,wp-content 目录 755,uploads 目录 755。不要给任何人写权限,除非明确需要。
2.2 禁止 PHP 文件在 uploads 目录执行
通过 .htaccess 或 Nginx 配置阻止 uploads 下直接运行 PHP。放一段规则:
<Files *.php>
Order Deny,Allow
Deny from all
</Files>
很多后门就藏在图片上传的目录里。
第三步:插件与主题安全策略
3.1 只保留必要的插件
卸载所有不用的插件和主题。每个插件都是潜在攻击面。我见过一个网站装了40个插件,一半是古董级。
3.2 自动更新与手动检查
打开插件自动更新(小版本),大版本先测试再更新。定期查看 https://wpscan.com 确认插件公开漏洞。
3.3 禁用文件编辑
在 wp-config.php 添加 define('DISALLOW_FILE_EDIT', true);,防止攻击者通过后台编辑器直接改主题文件挂马。
第四步:数据库与配置加固
4.1 更改数据库表前缀
安装时把默认的 wp_ 改成随机前缀,比如 q3x7_。这能防 SQL 注入中针对 wp_ 表名的批量攻击。
4.2 安全密钥组合
在 wp-config.php 中使用长随机密钥(AUTH_KEY、SECURE_AUTH_KEY 等)。WordPress 自带生成器:https://api.wordpress.org/secret-key/1.1/salt/。
4.3 关闭 XML-RPC
如果不需要远程发布或 Jetpack,在 .htaccess 或用插件禁用 xmlrpc.php。很多爆破工具通过它大量尝试密码。
第五步:CDN 与 Web 应用防火墙
5.1 免费方案:Cloudflare
把域名 DNS 托管到 Cloudflare(免费版),开启 WAF 规则,自动拦截常见攻击。记得开启“Under Attack”模式应对突发流量。
5.2 付费方案:Sucuri 或 Wordfence
Wordfence 免费版包含实时流量监控、防火墙、恶意扫描。付费版能自动封禁恶意 IP。但注意避免与 Cloudflare 冲突,设置白名单。
第六步:定期备份与监控
6.1 自动化备份方案
用 UpdraftPlus 每周自动备份到远程存储(Dropbox、Google Drive)。保留最近30天版本。备份中包含数据库和全站文件。
6.2 监控文件变化
安装 Wordfence 扫描,或者用 aide(Linux 工具)监控关键文件改动。一旦 wp-config.php 或 index.php 被改,立刻报警。
常见问题 FAQ
Q:改完权限后网站打不开? 检查 wp-content 下的缓存目录是否可写,通常需要 755 且属主正确。
Q:2FA 插件会影响用户体验吗? 只对管理员启用,前台用户不受影响。
Q:教程里提到的步骤顺序重要吗? 重要,先改权限和账户,再改配置,最后上监控。
行动建议
花半天时间对照本文操作一遍,然后每周检查一次安全状态。如果你运营的是外贸网站,强烈推荐阅读《WordPress 外贸网站安全与维护指南》,里面有完整的安全运维体系和故障处理流程。