被挂马的站,九成不是被高深技术攻破,而是弱口令、不更新、上传目录可执行这三件事凑齐了。这八项做完大概一小时,是外贸站上线前最划算的一小时。
一、账号与密码
- 后台用户名不要用 admin。先新建一个管理员账号,确认能登录后再删掉 admin;改用户名不要直接改数据库主键,很多关联是靠它存的。
- 密码用密码管理器生成,16 位以上,一人一号。五个人共用一个 admin 的站,出事后连查日志都无从下手。
- 开启双因子验证。WordPress 后台自带「双重验证」标签(基于 TOTP),或者用安全插件里的 2FA。
二、强制 HTTPS
证书本身免费(主机面板一键签发,或 Cloudflare 免费证书)。要做的是三件事:把站点地址与主页地址都改成 https、后台「常规设置」里核对一致、强制后台使用 SSL。数据库里还残留 http 链接的,用搜索替换处理一次,注意序列化数据要用专用工具,不能直接改 SQL。
三、换掉盐值密钥
wp-config.php 里有一组 SALT_KEY 与 SALT,用来给登录状态签名。安装时如果没自动写入,它们会是空值,等于任何人拿到你的 cookie 就能长期保持登录。去 WordPress 官方的密钥生成接口取一组新的替换,替换后所有已登录会话会被登出,属正常现象。
四、关闭后台文件编辑
在 wp-config.php 加一行:
define( 'DISALLOW_FILE_EDIT', true );
后台的「主题文件编辑器」被关掉后,即使有人拿到一个编辑权限的账号,也没法直接写 PHP。改代码走 FTP 或 Git,反而是更可控的路。
五、文件权限
| 对象 | 建议权限 |
|---|---|
| 目录 | 755 |
| 文件 | 644 |
| wp-config.php | 440 或 400 |
| uploads 目录 | 禁止执行 PHP |
uploads 是攻击者最爱:表单上传、图片上传都落在这里。在该目录放一个 .htaccess,内容是否定 PHP 执行:
<FilesMatch "\.ph(p[3-9]?|tml)$">
Require all denied
</FilesMatch>
注意别把权限改成 777 图省事,很多挂马就是「本来只有一条恶意文件,777 之后整站都写进去了」。
六、限制登录尝试
默认 WordPress 允许无限次密码错误尝试,暴力破解只是时间问题。装一个限制登录次数的插件(例如 Limit Login Attempts Reloaded),或者在安全插件里开启同等功能:连续失败五次锁二十分钟,同时把锁定时长与次数写清,防止自己把自己关在外面。
另外,能改后台入口的站建议改掉。宝塔面板有「后台屏蔽 xmlrpc」类开关,WordPress 层面也可以禁用 xmlrpc.php,它是被 pingback 攻击和暴力破解的主要目标。
七、少暴露信息
- 删掉「示例页面」「示例文章」和未使用的主题、插件,不用的插件直接删除而不是停用。
- 关掉目录浏览:在 .htaccess 加 Options -Indexes,否则别人能列出你上传目录里的所有备份文件。
- 调试日志生产环境要关。WP_DEBUG 开着会把敏感信息写进 debug.log,而这个文件常被目录浏览直接读到。
八、备份与更新策略
把备份当成第一道保险,而不是最后一根稻草:每周至少一次整站加数据库备份,备份存在另一台机器或对象存储上,并且定期做一次「恢复演练」,确认文件真的能解开。
更新分三层:
- WordPress 小版本(安全修补):自动更新可以开着
- 大版本与关键插件:先在测试环境或本地站点升级,看后台和表单是否正常
- 构建器(Bricks、Elementor):升级前必查是否改了模板结构,且务必先备份
顺序不能反:先加固、后引流。一个没设防的站被挂马,谷歌会把整站标为危险站点,恢复之后还要重新积累信任,损失远大于做这八件事的一小时。
安全做完了再谈速度,见 网站打开慢的排查顺序。