在虚拟主机安装Wordpress,为了安全,需要设置什么
WordPress 在虚拟主机上的安全设置清单
在虚拟主机上安装 WordPress,安全防护需要从多个层面入手。虚拟主机是共享环境,你无法控制服务器底层,所以重点放在 应用层 + 账户层 + 访问层。
一、安装前:下载源与文件安全
| 项目 | 做法 | 为什么 |
|---|---|---|
| WordPress 安装包 | 只从wordpress官网下载,不要用第三方"一键安装包" | 第三方包可能植入后门 |
| 服务商的一键安装 | 如果主机面板提供"一键安装 WordPress",可以用,但安装后立即改下面所有设置 | 一键安装通常用默认配置,安全性不足 |
| 安装版本 | 选最新稳定版(目前 6.x 系列) | 旧版本有已知漏洞 |
二、数据库安全
1. 安装时让 WordPress 自动创建数据库,或手动在主机面板创建:
- 数据库名、用户名不要用默认的 "wordpress" / "wp",
用随机字符串,如 myx7k2_db
- 数据库密码:至少 16 位,字母+数字+特殊字符
- 数据库前缀:把默认的 wp_ 改成随机前缀,如 xk7m_
(这一步在安装界面就能设,装完再改很麻烦)
为什么改前缀? SQL 注入攻击常假设表名以 wp_ 开头,改了前缀能挡掉大量自动化攻击脚本。
三、管理员账户安全(最关键)
这是 WordPress 被黑的第一入口,务必重视:
| 项目 | 做法 |
|---|---|
| 管理员用户名 | ❌ 绝不要用 admin / administrator / root / 你的域名。用不易猜的用户名,如 mike_2024 |
| 管理员密码 | 20 位以上,大小写+数字+符号。WordPress 后台有密码强度指示器,务必到"强" |
| 管理员邮箱 | 用一个你真实在用的邮箱,方便接收安全通知 |
| 用户数量 | 只建一个管理员账号。需要多人协作时,给"编辑"权限即可,不要人人都当管理员 |
| 显示名称 | 后台「用户 → 个人资料 → 公开显示名称」设为昵称,不要暴露登录用户名 |
⚠️ 常见错误:很多人安装时用户名就填
admin,这是被暴力破解的第一目标。虚拟主机如果用一键安装,装完第一件事就是新建一个随机用户名的管理员,然后删掉 admin 账号。
四、文件与目录权限
虚拟主机通常通过 FTP / 主机面板文件管理器来设置:
文件权限: 644 (所有者读写,其他人只读)
目录权限: 755 (所有者读写执行,其他人读执行)
wp-config.php: 600 或 440 (最敏感的文件,只允许所有者读)
关键操作:
-
移动密钥文件:安装完成后,把
wp-config.php往上移一级目录(WordPress 会自动向上查找)。这样即使 Web 目录被列目录,配置文件也不在可访问范围内。虚拟主机如果不允许移到上级,至少把权限设为 600。 -
保护 wp-config.php:在
.htaccess中加:<Files wp-config.php> Order Allow,Deny Deny from all </Files> -
禁止目录浏览:在
.htaccess中加:Options -Indexes
五、登录保护(防暴力破解)
5.1 限制登录尝试次数
安装插件 Limit Login Attempts Reloaded(免费):
- 5 次失败后锁定 IP 20 分钟
- 这是最基本也是最有效的防暴力破解措施
5.2 隐藏登录页面
默认登录地址是 /wp-admin/ 和 /wp-login.php,全天下都知道。安装插件 WPS Hide Login:
- 把登录地址改成自定义路径,如
/my-secret-entry - 原来地址返回 404
5.3 .htaccess 保护 wp-admin
如果只有你一个人管理,可以在 wp-admin/.htaccess 中限制 IP:
Order Deny,Allow
Deny from all
Allow from 你的固定IP
注意:如果你的 IP 是动态的,这个方法不方便,慎用。
六、通信安全(HTTPS)
| 步骤 | 操作 |
|---|---|
| 1 | 在主机面板申请免费 SSL 证书(Let’s Encrypt 免费证书或自带 DV 证书) |
| 2 | 主机面板开启强制 HTTPS 跳转 |
| 3 | WordPress 后台「设置 → 常规」把站点地址和 WordPress 地址都改成 https:// 开头 |
| 4 | 安装插件 Really Simple SSL 自动处理混合内容(http 资源 → https) |
没有 HTTPS,管理员密码在登录时明文传输,同一服务器上其他用户可能抓包看到。
七、WordPress 核心与插件安全
| 项目 | 做法 |
|---|---|
| 自动更新 | 后台「仪表盘 → 更新」保持 WordPress 核心、主题、插件全部最新。在 wp-config.php 中加 define('WP_AUTO_UPDATE_CORE', true); 开启核心自动更新 |
| 插件来源 | 只从wordpress官方插件库安装,不下载来路不明的"破解版"/“汉化版” |
| 插件数量 | 越少越好。不用的插件不要"停用"就完事——删掉,停用的插件代码仍在服务器上,有漏洞照样被利用 |
| 主题 | 同理,只保留正在用的主题,其余删除。不用 nulled(破解)主题,常见后门藏在其中 |
| 文件编辑 | 在 wp-config.php 中加 define('DISALLOW_FILE_EDIT', true); 禁止后台在线编辑主题/插件文件。这样即使后台被入侵,攻击者也无法直接改 PHP 文件 |
八、wp-config.php 强化(加几行代码)
打开 wp-config.php,在 /* That's all, stop editing! */ 这行之前加入:
// 1. 禁止后台文件编辑(防入侵后改文件)
define('DISALLOW_FILE_EDIT', true);
// 2. 禁止不必要的文件修改(更严格,可选)
define('DISALLOW_FILE_MODS', true); // 注意:这会同时禁用插件/主题的在线安装和更新,按需取舍
// 3. 强制后台走 SSL(如果主机面板没做强制跳转)
define('FORCE_SSL_ADMIN', true);
// 4. 限制修订版本数量(减少数据库膨胀,间接减少攻击面)
define('WP_POST_REVISIONS', 5);
// 5. 自动清空回收站
define('EMPTY_TRASH_DAYS', 7);
// 6. 阻止不必要的外部请求(可选,较严格)
define('WP_HTTP_BLOCK_EXTERNAL', true);
define('WP_ACCESSIBLE_HOSTS', 'api.wordpress.org,downloads.wordpress.org');
九、虚拟主机环境特有注意
虚拟主机是 共享主机,有一些特殊限制和注意点:
-
php.ini/ PHP 版本:在主机面板选 PHP 7.4 或 8.x(不要用 5.6,已停止安全更新)。主机面板一般可以切换 PHP 版本。 -
禁用危险 PHP 函数:如果面板允许自定义
php.ini,禁用以下函数:disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source -
隔离风险:共享主机上其他用户被黑理论上可能波及你(虽然概率低)。定期备份是你最后的保险。
-
备份:利用主机面板自带的备份功能,设置定期备份到主机商的备份空间。同时用 WordPress 插件 UpdraftPlus 备份到云存储(如阿里云 OSS / 腾讯 COS,免费额度够用)。
十、安全扫描与监控
| 工具 | 用途 | 频率 |
|---|---|---|
| Wordfence Security(免费版) | 防火墙 + 恶意软件扫描 + 登录安全,虚拟主机可用 | 常驻运行 |
| Sucuri Security(免费版) | 网站完整性监控,文件被篡改时告警 | 常驻运行 |
Wordfence 免费版已经覆盖大部分需求,建议安装。它的 Web Application Firewall 在虚拟主机上以插件模式运行(不是 .htaccess 模式),防护能力稍弱于独立服务器但仍有价值。
优先级排序(如果时间有限,按这个顺序做)
🔴 必做(不做大概率会被黑):
1. 管理员用户名不用 admin,密码 20 位以上
2. 数据库前缀改掉默认 wp_
3. 开启 HTTPS
4. 安装 Limit Login Attempts 插件
5. 保持 WordPress + 插件更新
🟡 强烈建议:
6. DISALLOW_FILE_EDIT 设为 true
7. 安装 Wordfence 免费版
8. 文件权限 644 / 目录 755 / wp-config.php 600
9. 定期备份(主机面板 + UpdraftPlus 双保险)
🟢 锦上添花:
10. 隐藏登录页面(WPS Hide Login)
11. .htaccess 保护 wp-config.php + 禁目录浏览
12. 禁用危险 PHP 函数
- 点赞
- 收藏
- 关注作者
评论(0)