WordPress占了全球网站的四成以上,所以也是被攻击最多的系统。但被攻击不等于会被黑:绝大多数入侵并不是针对你这个网站,而是机器人在批量扫描「有漏洞的插件」和「弱密码的后台」。把这两件事堵住,就挡掉了绝大部分风险。
本文按优先级排列,前面几项不花钱也不装插件,后面的才需要安全插件。如果网站已经出现跳转广告、陌生管理员这类症状,先看《WordPress网站被黑、中毒了怎么办?》。
WordPress网站是怎么被黑的?
按常见程度大致是:
- 插件或主题有已知漏洞,而网站没有更新。这是最主要的原因;
- 盗版主题和插件,安装包里本身就带后门;
- 管理员密码太简单,被机器人暴力破解,或者在别的网站泄露过同一个密码;
- 同一台服务器上别的网站被黑后感染过来,常见于管理不严的共享主机或自己在一个空间里堆了很多站;
- FTP、主机账号泄露。
注意这里面几乎没有「WordPress核心本身被攻破」,核心的漏洞修得很快,问题出在没更新和第三方代码上。
第一优先级:不用装任何插件就能做的
1. 保持更新,删掉不用的
- WordPress核心的小版本更新默认会自动安装,保持开着;
- 插件和主题有安全更新就更新。自动更新怎么设、什么时候该手动更新,见《安装WordPress后必做的10项设置》的第8项;
- 停用的插件和主题也要删掉。停用不会运行,但文件还在服务器上,漏洞依然可以被直接访问利用;
- 超过一两年不更新的插件,换一个同类的。
2. 管理员账号和密码
- 用户名不要用
admin、webmaster或网站名,机器人最先试的就是这些; - 密码用密码管理器生成,16位以上,每个网站都不一样;
- 给每个人单独建账号,不要几个人共用一个管理员;
- 只有真正需要改网站设置的人才给「管理员」角色,写文章的用「编辑」或「作者」。
已有的admin账号不能直接改名,做法是新建一个管理员账号,登录后把旧的admin删除,WordPress会问你把它的文章转给谁,选新账号即可。
3. 用正版的主题和插件
「免费下载Pro版」「破解版」的包是病毒最常见的来源,没有例外。要付费功能就去官网买,或者换一个免费的替代品。
4. 备份
安全措施再多也不是百分之百,有一份干净的备份,最坏的情况也只是还原。三种备份方式见《WordPress网站怎么备份?》,建议至少保留两周的历史版本,因为被感染的网站可能很久之后才被发现,只保留最近一份的话,备份里也是脏的。
第二优先级:装一个安全插件
安全插件的作用是三件事:防火墙挡掉恶意请求、扫描发现被改过的文件、登录保护防暴力破解。
先看你的主机已经带了什么,不要重复:
| 主机 | 已经带的安全功能 |
|---|---|
| SiteGround | 自带Security Optimizer插件,可以限制登录尝试、修改登录地址、两步验证 |
| Hostinger | 服务器层面的防火墙和恶意软件扫描 |
| Cloudways | 服务器层面的防火墙;可以另外开通付费的恶意软件防护 |
主机自带的是服务器层,对WordPress内部(比如登录保护、哪个文件被改了)并不管,所以再装一个WordPress层的安全插件是合理的,但只装一个,Wordfence、Solid Security、All In One WP Security不要同时开。SiteGround的用户如果已经在用Security Optimizer的登录保护,就不要再让Wordfence也管登录。
用Wordfence免费版配置防火墙、扫描和登录保护
Wordfence是装机量最大的WordPress安全插件,免费版已经包含防火墙、恶意文件扫描、登录保护和两步验证。在后台「插件 → 安装插件」搜索Wordfence Security安装并启用,按提示填一个接收告警的邮箱。注册License时选免费版即可。
免费版和付费版的区别
主要差别是更新速度:付费版实时拿到新的防火墙规则和恶意软件特征码,免费版晚30天。登录保护和两步验证两边都有。付费版还多了国家屏蔽、实时IP黑名单和专属支持。对小型外贸站,免费版加上及时更新插件,通常够用;如果网站是业务的核心,对安全要求高,再考虑升级。
防火墙:优化并让它先学习
安装后后台顶部会提示「优化防火墙」(Optimize the Firewall)。这一步是让防火墙在WordPress加载之前就运行,Wordfence称为Extended Protection(扩展保护),它会修改.htaccess、.user.ini或php.ini,修改前会让你先下载这些文件的备份,照做即可。
刚装好的防火墙处于学习模式,持续大约一周。期间本来会被拦截的请求会被加进白名单,避免误伤你自己的正常操作。学习一周后再切成「启用并保护」(Enabled and Protecting)。如果网站刚清理过病毒或正在被攻击,不用等,直接切到保护模式。
两个注意点:
- 换主机迁移之后,路径变了,Wordfence的扩展保护可能指向旧路径,导致网站报500错误。迁移前先在Wordfence里移除扩展保护,迁移完再重新优化;
- 如果网站突然报500,检查根目录的
wordfence-waf.php有没有被删,以及.htaccess、.user.ini里引用它的路径对不对。
扫描:每周自动扫
Wordfence会对比核心文件、插件、主题与官方版本,检查是否有被改动的文件、已知恶意代码特征和有漏洞的插件。扫描结果会列出问题文件,你可以逐项选择:
- 修复(Repair):对核心、官方插件文件,可以用官方版本替换;
- 删除:确认是陌生的恶意文件才删;
- 忽略:确认是自己改过的文件,或者是误报。
不要看到红色就全删,自己改过的主题文件和一些商业插件的文件会被报告为差异。拿不准的先备份,再处理。共享主机上扫描比较占资源,如果后台明显变慢,可以把扫描设为每周一次,放在凌晨。
登录保护:两步验证和限制尝试
在Wordfence菜单的「Login Security」里:
- 两步验证(2FA):用Google Authenticator、Microsoft Authenticator这类验证器App扫码绑定,之后登录除了密码还要输入6位动态码。至少给所有管理员账号开启,并把恢复码保存好;
- 验证码:可以开启reCAPTCHA,防止机器人批量尝试。使用前要去Google申请密钥;
- XML-RPC:这是WordPress的一个老接口,常被拿来批量猜密码。如果你不用手机App或Jetpack远程管理,可以在登录安全设置里禁用它的认证;
- 限制登录尝试:在防火墙的暴力破解防护里,设置错几次就锁定IP,锁定时长可以设长一点。
如果你不想装Wordfence,也可以只用轻量的方案:Cloudflare的免费计划放在网站前面,加上一个专门的两步验证插件,同样能挡住大部分机器人,Cloudflare怎么用见《什么是CDN?怎么加速外贸网站?免费方案》。
修改登录地址
WordPress的后台默认就在/wp-login.php和/wp-admin/,所有机器人都知道。把登录地址改成别的,可以让绝大部分自动化的暴力破解直接找不到入口,日志里也会干净很多。
做法是装WPS Hide Login这类轻量插件,在「设置 → WPS Hide Login」里把登录地址改成一个自己记得住的,比如/my-login/。要点:
- 一定要把新地址收藏起来,忘了的话需要通过FTP或文件管理器停用插件才能找回;
- 改完之后原来的
/wp-login.php和/wp-admin/会返回404; - 它只是减少噪音,不能替代强密码和两步验证,别人还是可能通过其他方式知道你的登录地址;
- SiteGround的Security Optimizer已经自带这个功能,不用再装插件;
- 密码忘了怎么找回,见《WordPress登录后台的账号密码是多少?如何找回账号》。
wp-config.php和文件层面的加固
这部分对WordPress熟悉的人再做,改wp-config.php之前先备份。
禁用后台的文件编辑器。后台「外观 → 主题文件编辑器」和「插件文件编辑器」可以直接改PHP代码,一旦有人拿到后台,就可以直接植入后门。在wp-config.php里加一行:
define( 'DISALLOW_FILE_EDIT', true );
WordPress官方说明这不能阻止攻击者上传恶意文件,但能挡住一部分攻击,而且你本来就不应该在后台直接改代码。
文件权限。WordPress官方的建议是目录755、文件644,wp-config.php设成400或440,只让你自己和网站进程能读。不要图省事把文件夹设成777,这等于对所有人开放写入。
不要在后台以外的地方保存敏感文件。网站根目录里的.sql备份、.zip网站压缩包、error_log、phpinfo.php测试文件,都可能被直接下载或访问,用完就删。
装好之后怎么确认有没有生效
- 退出登录,尝试用旧地址
/wp-login.php访问,确认返回404(如果改了登录地址); - 用新地址登录一次,确认两步验证会要求验证码;
- 在Wordfence的Firewall页面确认状态是「Enabled and Protecting」,而不是Learning Mode或Basic;
- 跑一次Wordfence扫描,确认没有未处理的高危项;
- 打开前台首页和表单提交一次,确认防火墙没有误拦截正常功能;
- 在备份工具里确认最近一次备份是成功的。
常见问题
装了Wordfence网站变慢了怎么办?
便宜的共享主机上,Wordfence的实时扫描和流量日志会占资源。可以把扫描频率降到每周一次,关掉不需要的实时日志;如果仍然慢,换成更轻的方案:主机自带的防护加Cloudflare,配合登录保护插件。
我被锁在后台外面了?
先看是不是自己输错了多次被Wordfence锁了IP,Wordfence会给管理员邮箱发解锁邮件。如果是改了登录地址忘了,或者两步验证手机丢了,通过FTP或主机文件管理器进入wp-content/plugins/,把对应插件文件夹改名,插件就会被停用,然后用默认的/wp-login.php登录。
没有安全插件,只靠更新和强密码够吗?
对访问量不大的企业站,做好更新、删掉无用插件、强密码加备份,已经比大多数网站安全。安全插件主要是多一层防火墙和扫描,能更早发现问题,不是必须的,但对询盘就是生意的外贸站,值得装一个。
免费版晚30天的规则,会不会不安全?
这个延迟意味着新发现的漏洞,免费版的防火墙晚一个月才有对应规则。所以免费版用户更要及时更新插件,不要指望防火墙替你兜底。
网站被黑了,只靠安全插件能清理干净吗?
不能保证。扫描能发现大部分被改的文件,但后门可能藏在数据库、陌生管理员账号或其他位置。最稳妥的做法是还原到被感染之前的备份,或者重装核心文件再逐项检查,清理完所有密码都要改。
总结
WordPress安全的优先级:
- 更新核心、主题、插件,删掉不用的,不用盗版;
- 管理员不用admin,用密码管理器生成长密码,每个人单独账号;
- 保持备份,保留至少两周;
- 装一个安全插件(Wordfence免费版),优化防火墙、每周扫描、管理员开两步验证;
- 需要的话修改登录地址,但别当成唯一防线;
wp-config.php里禁用后台文件编辑,文件权限按官方建议设置。
选哪个主机安全底子更好、各家自带哪些防护,见《WordPress主机推荐》。外贸站还要装哪些插件,见《外贸网站必装的WordPress插件清单》。



