WordPress 占了互联网 40%+ 的网站,也是黑客最喜欢的目标。上周一位读者的 WordPress 站被挂了黑链,Google 搜索结果被标记为"危险网站"。帮他清理完后,我整理了一套 WordPress 安全加固方案,10 道防线,层层设防。
一、保持核心、主题、插件更新
90% 的 WordPress 入侵是通过已知漏洞的插件/主题进来的。
# wp-cli 批量更新
wp core update
wp plugin update --all
wp theme update --all
二、删除无用主题和插件
不用的主题和插件是隐患,尤其是从非官方渠道下载的"破解版"。
# 列出所有插件
wp plugin list
# 删除不用的
wp plugin delete unused-plugin
三、修改默认登录地址
/wp-admin 和 /wp-login.php 是暴力破解的重灾区。
安装插件如 WPS Hide Login,或 Nginx 层面拦截:
location ~ ^/(wp-admin|wp-login\.php) {
allow 192.168.1.0/24; # 只允许内网或指定 IP
deny all;
}
四、限制登录尝试
# 用 Fail2ban 监控 WordPress 登录
sudo vim /etc/fail2ban/filter.d/wordpress.conf
写入:
[Definition]
failregex = ^<HOST>.*POST.*wp-login.php.*200
^<HOST>.*POST.*xmlrpc.php.*200
ignoreregex =
然后在 jail.local 中启用:
[wordpress]
enabled = true
port = http,https
filter = wordpress
logpath = /var/log/nginx/access.log
maxretry = 5
bantime = 3600
五、文件权限最小化
# WordPress 推荐权限
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
chmod 600 /var/www/html/wp-config.php
# wp-content 目录需要写权限
chmod 755 /var/www/html/wp-content
chmod 755 /var/www/html/wp-content/uploads
六、保护 wp-config.php
# Nginx 禁止访问敏感文件
location ~ /\. {
deny all;
}
location ~ wp-config.php {
deny all;
}
七、禁用 XML-RPC
XML-RPC 是暴力破解和 DDoS 的常用入口:
# 用插件禁用,或 Nginx 拦截
location ~ ^/xmlrpc.php {
deny all;
}
八、数据库前缀修改
默认 wp_ 前缀太容易被猜到:
# wp-cli 修改前缀
wp db query "RENAME TABLE wp_posts TO yvps_posts;"
# ... 对所有表执行
然后修改 wp-config.php:
$table_prefix = 'yvps_';
九、安全响应头
Nginx 添加安全头:
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'" always;
十、定期安全扫描
# 用 WPScan 扫描漏洞
wpscan --url https://your-site.com --api-token YOUR_TOKEN
# 用 ClamAV 查杀木马
sudo apt install clamav
sudo freshclam
sudo clamscan -r /var/www/html 



