用宝塔面板(BT Panel)搭建 WordPress 网站后,很多人以为装好就万事大吉。实际上,不做安全防护的网站每天都面临大量扫描、暴力破解和恶意请求。本文详细介绍用宝塔面板保护 WordPress 网站的完整安全策略。

一、为什么要做网站安全防护?

新上线的 WordPress 网站通常会遇到以下威胁:

  • 暴力破解后台登录:黑客通过字典攻击反复尝试 wp-admin 登录页,每天可达数百次
  • 扫描漏洞:自动扫描工具探测主题/插件版本漏洞
  • CC / DDoS 攻击:大量请求耗尽服务器资源
  • 垃圾评论:大量机器评论,影响网站SEO和用户体验
  • 数据丢失:未备份的网站一旦被黑或误删,恢复成本极高

宝塔面板提供了完善的安全工具,大部分配置可在可视化界面完成,无需复杂命令。

二、修改WordPress默认后台登录地址

WordPress 默认登录地址是 wp-admin,黑客脚本批量扫描这个路径。要做的第一步就是把后台路径改掉。

方法一:使用 WPS Hide Login 插件(推荐,最简单)

  1. WordPress 后台 → 插件 → 安装插件,搜索「WPS Hide Login」
  2. 安装并启用
  3. 进入「设置」→「WPS Hide Login」
  4. 将「Login URL」改为自定义地址(如 mylogin
  5. 将「Redirection URL」改为你想让访问旧登录页的用户跳转的地址(如首页)
  6. 点击「保存更改」

记住新登录地址!一旦丢失只能通过 FTP 或数据库重置。

方法二:Nginx 规则直接屏蔽 wp-admin

在宝塔面板的 Nginx 配置中加入以下规则,只允许指定 IP 访问 wp-admin:

location /wp-admin {
    allow 你的IP;
    deny all;
    # 将「你的IP」替换为你当前上网的公网IP
}

设置方法:宝塔面板 → 网站 → 找到你的站点 → 设置 → 配置文 件,找到 server { 块,在合适位置插入上述规则,然后重载 Nginx。

三、宝塔面板防火墙配置

3.1 开启宝塔系统防火墙

宝塔面板 → 安全 → 系统防火墙,开启并设置规则:

  • SSH 端口:改为非 22 端口(宝塔面板自带修改功能)
  • 只放行必要端口:22(改后端口)、80(HTTP)、443(HTTPS)、8888(宝塔面板)
  • 禁止 Ping:防止服务器被探测

3.2 Nginx 防火墙:禁止敏感路径访问

宝塔面板 → 软件商店 → Nginx → 设置 → 配置修改,在 server { 块中加入:

# 禁止访问 XML-RPC(WordPress 默认接口,常被攻击者利用)
location /xmlrpc.php {
    deny all;
    access_log off;
    log_not_found off;
}

# 禁止访问 wp-config.php(数据库配置文件)
location /wp-config.php {
    deny all;
}

# 禁止访问 .ht 文件(Nginx 不识别 .htaccess)
location ~ /\.ht {
    deny all;
}

# 禁止访问隐藏文件
location ~ /\. {
    deny all;
}

修改后点击「重载配置」→「重载 Nginx」。

3.3 限制单个IP请求频率(防CC攻击)

limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s;

server {
    limit_req zone=req_limit burst=20 nodelay;
}

这段代码将单个 IP 的请求频率限制为每秒 10 次,超过 20 次将返回 503 错误页面。

四、WordPress 登录安全:双重保护

4.1 安装 Wordfence 安全插件

Wordfence 是 WordPress 最受欢迎的安全插件:

  1. 插件 → 安装插件,搜索「Wordfence」
  2. 安装并启用
  3. 首次使用需注册免费账号(可选,不注册也能用基础功能)
  4. 进入 Wordfence → All Options,配置以下关键项:
选项 推荐设置 说明
Brute Force Protection 启用,锁定5次失败 登录失败5次后封禁该IP 30分钟
Prevent CSRF 启用 防止跨站请求伪造攻击
Block login IPs trying to use username "admin" 启用 直接封禁尝试用admin用户名登录的IP
Enable login security 启用 记录登录日志

4.2 开启双因素认证(2FA)

强烈推荐为 WordPress 后台开启 2FA,即使密码泄露也能防止账号被盗:

  1. 插件 → 安装插件,搜索「Two Factor」或「WP 2FA」
  2. 推荐使用 WP 2FA(免费,支持验证码和邮箱验证)
  3. 安装后进入「WP 2FA → 设置」
  4. 选择验证方式:手机 App(Google Authenticator)或邮件验证码
  5. 设置为所有用户强制开启
  6. 记得保存备用恢复码!

4.3 宝塔禁止xmlrpc.php批量请求

WordPress 的 xmlrpc.php 接口经常被黑客利用进行「pingback」攻击,在宝塔 Nginx 配置中加入:

# 禁用 XML-RPC pingback 攻击
location /xmlrpc.php {
    limit_req zone=req_limit burst=1 nodelay;
    deny all;
}

五、数据备份:最重要的安全防线

5.1 宝塔一键备份网站和数据库

宝塔面板 → 网站 → 找到你的站点 → 备份 → 一键备份,支持同时备份网站文件和数据库。

推荐备份频率:

  • 数据库:每天自动备份
  • 网站文件:每周至少 1–2 次

5.2 配置自动备份到远程存储

  1. 宝塔面板 → 计划任务
  2. 添加备份计划:选择「网站备份」+「数据库备份」
  3. 备份保留份数:建议 3–5 份(超出自动清理旧备份)
  4. 备份到:可选择「又拍云OSS」「阿里云OSS」「腾讯云COS」等远程存储

5.3 UpdraftPlus 插件:WordPress 内置备份

WordPress 备份插件 UpdraftPlus 支持直接备份到云端:

  1. 插件 → 安装「UpdraftPlus」
  2. 设置 → UpdraftPlus → 备份/恢复
  3. 配置远程存储:推荐选择「Google Drive」或「阿里云盘」(免费额度充足)
  4. 设置自动备份计划:每周一次完整备份 + 每天一次数据库增量备份

六、Fail2ban 自动封禁恶意IP

Fail2ban 是 Linux 服务器级别的安全工具,可以自动检测并封禁恶意 IP,比宝塔面板更底层,防护更及时。

6.1 安装 Fail2ban

apt install fail2ban -y
systemctl start fail2ban
systemctl enable fail2ban

6.2 创建 WordPress 防护规则

vi /etc/fail2ban/filter.d/wordpress.conf

填入以下内容:

[Definition]
failregex = ^<HOST> .* "POST /wp-login.php HTTP/.*" 401
            ^<HOST> .* "POST /xmlrpc.php HTTP/.*" 400
            ^<HOST> .* "/wp-admin/.*" 403
vi /etc/fail2ban/jail.local

填入:

[wordpress]
enabled = true
port = http,https
filter = wordpress
action = iptables-allports[name=wordpress]
logpath = /www/wwwlogs/你的站点域名.log
maxretry = 5
findtime = 10m
bantime = 1h
systemctl restart fail2ban

这段配置含义:10 分钟内 5 次登录失败,封禁该 IP 1 小时。

七、定期安全维护清单

建议每月执行一次以下安全维护:

  • ✅ 检查宝塔面板登录日志,看是否有异常IP登录
  • ✅ 查看 Wordfence / Fail2ban 封禁记录
  • ✅ 检查 WordPress 更新,主题/插件/核心程序全部更新到最新版
  • ✅ 确认备份是否正常运行,测试从备份恢复流程
  • ✅ 检查 SSL 证书有效期,提前续期
  • ✅ 更换一次 WordPress 管理员密码
  • ✅ 检查网站是否被百度/Google 标记为不安全

八、总结

网站安全是建站后最重要的工作之一,做好防护能将 99% 的恶意攻击挡在门外。核心配置总结:

  • 改 wp-admin 默认路径,防止脚本扫描
  • 宝塔 Nginx 禁用 xmlrpc.php、wp-config.php
  • Wordfence + 双因素认证(2FA)保护登录
  • Fail2ban 自动封禁暴力破解 IP
  • UpdraftPlus + 宝塔自动备份,备份到云端
  • 定期更新主题/插件/核心程序

以上配置完成后,你的 WordPress 网站安全等级将大幅提升。有问题欢迎在评论区留言。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。