WordPress 站点安全加固:从被挂马到坚不可摧的 10 道防线


WordPress 占了互联网 40%+ 的网站,也是黑客最喜欢的目标。上周一位读者的 WordPress 站被挂了黑链,Google 搜索结果被标记为"危险网站"。帮他清理完后,我整理了一套 WordPress 安全加固方案,10 道防线,层层设防。

img

一、保持核心、主题、插件更新

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

手机扫码阅读

微信或手机浏览器扫一扫,随时随地随心阅读与分享

VPS 网络层安全:DDoS 攻击识别与应急防护指南

你的 SSH 真的安全吗?7 个加固步骤让暴力破解彻底失效

评 论
更换验证码