零基础WordPress安全加固防黑防攻击教程
加固前你要准备什么
执行安全加固前,请确认以下几点:
- 你已经能通过 SSH 或宝塔面板登录服务器。
- 你已经安装了 WordPress,并拥有管理员账号。
- 建议先在测试站操作,熟悉后再应用到正式站。
- 重要:操作前必须备份网站文件和数据库。宝塔面板路径:网站 → 对应站点 → 备份 → 一键备份。
分四步完成WordPress安全加固防黑防攻击
第一步:收紧服务器文件和目录权限
WordPress 被入侵,大半原因是文件权限过于宽松。
操作如下:
- 通过 SSH 登录服务器,执行以下命令(假设网站路径为
/www/wwwroot/example.com):
find /www/wwwroot/example.com -type d -exec chmod 755 {} \;
find /www/wwwroot/example.com -type f -exec chmod 644 {} \;
- 单独保护
wp-config.php(核心配置文件):
chmod 600 /www/wwwroot/example.com/wp-config.php
- 如果你用宝塔面板,可以在“文件”目录中右键选择权限设置,直接填写数字即可。
效果:权限收紧后,普通用户无法写入或修改文件,阻止大部分文件上传型攻击。
第二步:禁用危险功能和隐藏敏感信息
WordPress 默认开放了一些容易被攻击者利用的功能,建议关闭:
- 禁用 XML-RPC:攻击者常利用它做暴力破解。在宝塔面板 → 网站 → 伪静态 → 添加以下规则:
location = /xmlrpc.php {
deny all;
}
- 隐藏管理员登录用户名:不要在用户名中使用“admin”这类常见词。可以在 WP 后台 → 用户 → 新建用户(设置管理员角色),然后删除原来的 admin 账号。
- 移除版本信息:编辑主题的
functions.php文件(通过宝塔面板的文件管理),添加一行:
remove_action('wp_head', 'wp_generator');
第三步:强化登录和密码策略
暴力破解是最常见的攻击方式,强化登录能大幅降低风险:
- 更换默认登录地址:安装插件“WPS Hide Login”,设置一个自定义路径(例:
/myadmin),原/wp-admin会返回 404。 - 安装登录验证插件:推荐“Limit Login Attempts Reloaded”,限制每分钟尝试次数,例如 3 次后锁定 15 分钟。
- 使用强密码:要求所有用户使用 12 位以上大小写字母+数字+符号的组合,不嫌麻烦可以启用两步验证(Google Authenticator)。
第四步:数据库和插件安全
- 修改数据库表前缀:安装 WordPress 时默认
wp_。如果你已经装好,需要手动修改wp-config.php中的$table_prefix,并用 phpMyAdmin 或者宝塔的数据库管理工具重命名所有表。 - 及时更新插件和主题:过期的插件的漏洞是入侵的主要入口。在宝塔的“计划任务”中添加一条每天自动检查更新的 shell 命令:
/usr/bin/wp-cli plugin update --all --allow-root --path=/www/wwwroot/example.com
- 删除无用插件和主题:不用的直接卸载,减少攻击面。
新手最容易踩的三个坑
- 改了权限后网站无法访问:如果执行了
chmod 644后页面报 500 错误,检查是否把wp-config.php权限设成了600(正确)。如果问题还在,把目录权限改回755,文件改回644,然后重新检查网站根目录下存在.htaccess或nginx.conf是否被锁。 - 禁用 XML-RPC 后正常插件无法使用:部分插件(如 Jetpack)依赖 XML-RPC。如果你刚需此类插件,改为使用“Application Password”方式连接,或者单独设置白名单 IP。
- 修改表前缀后数据丢失:如果直接用 phpMyAdmin 改前缀名,必须同步修改
wp-config.php中的$table_prefix,并且用 SQL 语句更新所有表中的user_meta等引用值。建议先用插件“Change Table Prefix”自动处理。
怎么检查加固效果
- 扫描开放端口和服务:使用
nmap -sV yourserver.com查看有没有多余的服务。 - 测试弱密码:用“WPScan”工具扫描 WordPress 版本和已知漏洞:
wpscan --url https://example.com --api-token YOUR_TOKEN
- 检查登录日志:在宝塔面板 → 安全 → 登录日志,看是否有大量失败记录(如果有,说明暴力破解被成功拦截)。
- 手动验证隐藏登录:访问
/wp-admin是否返回 404,访问自定义路径/myadmin是否能正常显示。
关于WordPress安全的几个常见疑问
问:一定要用宝塔面板吗?
答:本文步骤兼容宝塔和纯命令环境,宝塔只是提供了更友好的文件管理入口,命令操作无需面板。
问:安全加固后会影响网站速度吗?
答:不会。文件和权限设置、禁用功能基本没有额外负载;登录限制只在攻击时生效。
问:已经中招了怎么办?
答:立即断开服务器网络,用备份恢复网站;如果没有备份,需要排查被篡改的文件(如插件文件、index.php),删除可疑用户,并修改所有密码。
问:多久做一次安全检查?
答:至少每周查看一次登录日志,每月用 wpscan 扫描一次。
如果你正在处理WordPress安全加固防黑防攻击,建议先按本文步骤完整执行一次,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。