WordPress安全加固指南是一套通过更新管理、账户保护、文件权限、数据库设置、服务器配置和持续监控来降低网站被攻破风险的操作手册。
更新与组件管理
WordPress核心、主题和插件是攻破者首选的目标,官方发布新版本通常包含安全补丁,应及时应用,建议在测试环境验证后,再更新生产站点,启用小版本自动更新,大版本升级前执行完整备份,删除未使用的主题和插件,减少攻破面,所有第三方组件应来自官方目录或可信开发者,避免使用免费版。
账户与登录安全
暴力免费是常见攻破手法,使用长度至少12位且包含多种字符类型的强密码,定期更换,开启两因素认证,可使用Google Authenticator或Authy插件,将默认admin账户替换为不易猜测的用户名,安装Limit Login Attempts Reloaded,设置5次失败后锁定15分钟,通过.htaccess限制wp-login.php仅允许特定IP访问,或使用插件修改登录地址。

文件与目录权限
使用SSH或FTP将目录权限设置为755,文件权限设置为644,wp-config.php可设置为600或440,防止其他系统用户读取数据库凭据,在wp-content/uploads目录添加.htaccess禁止PHP执行:
<Files*.php> denyfromall </Files>
在根目录禁止目录浏览:Options -Indexes,定期使用权限检查插件审计权限漂移。
数据库安全
安装时修改默认表前缀wp为随机字符串,如wp7k2m,创建独立数据库用户,仅授予SELECT、INSERT、UPDATE、DELETE权限,禁用DROP和ALTER,生产环境设置WP_DEBUG为false,避免数据库错误泄露路径,使用数据库备份插件每日备份,并存储到云存储,限制phpMyAdmin访问,或删除该目录。
禁用不必要的功能与信息泄露
XML-RPC可被用于分布放大攻破和暴力免费,若无需要,在functions.php中添加:
add_filter('xmlrpc_enabled','__return_false');限制REST API对未登录用户的部分端点,移除WordPress版本号:
remove_action('wp_head','wp_generator');删除readme.html、license.txt等文件,阻止用户枚举,通过代码禁止作者路径暴露用户名。
Web服务器与PHP加固
配置安全响应头,如X-Frame-Options: SAMEORIGIN、X-Content-Type-Options: nosniff、Referrer-Policy: strict-origin-when-cross-origin和Content-Security-Policy,限制wp-admin目录仅允许特定IP访问,使用Apache的FilesMatch或Nginx的location规则,禁止在wp-includes执行PHP,PHP配置中禁用危险函数如exec、shell_exec、system、passthru等,设置open_basedir限制。
安全插件与Web应用防火墙
安装Wordfence、Sucuri Security或iThemes Security,启用Web应用防火墙规则,拦截SQL载入、XSS和恶意文件上传,开启实时流量监控,自动封禁可疑IP,进行核心文件完整性扫描,发现异常修改时发送邮件告警,使用插件限制登录页面访问频率,配合Cloudflare等外部WAF形成纵深防御。
用户权限与角色管理
遵循最小权限原则,仅授予用户完成工作所需的最低角色,定期审查用户列表,删除不再需要访问的账户,为管理员和编辑设置强密码和两因素认证,用户在前端注册时默认设为订阅者,并人工审核,使用插件监控登录活动,发现异常地理位置的登录立即阻断或要求二次验证。
HTTPS与SSL/TLS配置
全站启用HTTPS,安装有效的SSL证书,在wp-config.php中添加:
define('FORCE_SSL_ADMIN',true);在.htaccess中强制301重定向到HTTPS,启用HSTS响应头,配置TLS 1.2以上版本,禁用弱加密算法,定期检查SSL证书到期时间,使用Let's Encrypt自动续期,确保数据库和后台敏感数据在传输过程中加密。
WordPress配置项加固
在wp-config.php中禁用后台文件编辑:
define('DISALLOW_FILE_EDIT',true);设置安全密钥和盐,定期修改,更改WordPress默认前缀和数据库名称,限制wp-cron频率,使用系统cron替代,禁止插件和主题编辑器,设置自动登出时间,防止会话截持,使用安全认证密钥生成器,禁用弱密码重置。
监控、日志与异常检测
安装活动日志插件如WP Activity Log,记录登录、内容修改、插件安装等关键操作,配置文件完整性监控,定期比对核心文件的哈希值,将WordPress日志发送到集中日志服务器,保存至少30天,每周检查访问日志和错误日志,关注扫描器、恶意爬虫和异常POST请求,设置宕机监控,及时发现服务中断。
备份、恢复与应急响应
制定自动备份计划,每日备份数据库,每周备份上传目录和主题插件,使用UpdraftPlus或BackWPup将备份文件上传到云存储或异地服务器,至少保留最近30天的备份版本,每季度进行一次恢复演练,验证备份可正常还原,制定应急响应流程,发现入侵后立即下线站点、备份证据、清理后们并修改所有密码。