本文最后更新于101 天前,其中的信息可能已经过时,如有问题可在评论区留言
前言
什么弱密码之类的常识我就不说了,说说实际操作有用的,这些措施不仅适用于搭建wp,大部分网站也能用类似的思路做好安全措施。
一、删除不用的插件和主题
尽量删除所有你用不到的插件和主题!有些主题和插件可能存在漏洞,尽量保证你的主题和插件只安装了你需要用到的。
二、正确配置文件的权限
wp-config.php这个文件保存了wordpress连接数据库的账号和密码以及各种重要信息,一旦被黑客读取了很容易造成数据泄露,这里通过更改文件权限来防止黑客读取,wp的官方文档建议的权限为400或者440,这里我们改为400:
chmod 400 wp-config.php
- 400:仅文件所有者能进行读操作。
三、定期检查网站文件是否被篡改
定期备份网站文件,并对当前网站文件与上一次备份文件进行文件差异对比,检查哪些文件被更改过或增加了哪些文件,并检查这些更改是否合法。这里我使用diff命令进行对比:
diff -r /path/backupfile/ /path/websitefile/
- -r:递归比较所有子目录
如果输出比较多的话,也可以使用diffstat这个工具来生成报告,输出相对简洁:
diff -r /path/backupfile/ /path/websitefile/ | diffstat
但使用diffstat后只会输出大致的结果,想要查看详细差异还是用diff来直接对比具体的文件吧。
四、定期更新wordpress
以下是一个比较简单方便的更新wp核心文件的shell脚本:
#!/bin/bash
# 定义 WordPress 安装路径
WP_PATH="$PWD"
# 导航到 WordPress 安装目录
cd "$WP_PATH"
# 下载最新版的 WordPress
wget https://wordpress.org/latest.zip
# 解压文件
unzip latest.zip
# 删除旧的 wp-admin 和 wp-includes 目录
rm -rf wp-admin
rm -rf wp-includes
# 进入 wordpress 目录并删除 wp-content(如果需要)
cd wordpress
rm -rf wp-content
# 复制新文件到上级目录覆盖旧文件
mv -f * ..
# 删除 wordpress 目录
rm -rf wordpress
# 赋予文件正确的所有权和权限
chown -R www:www "$WP_PATH"
# 提示完成信息
echo "WordPress 升级完成,请检查网站功能是否正常。"
可将脚本加入任务计划定期更新,还可以再写一个网站可用性检测脚本,当网站不可访问时及时发邮件通知管理员。
使用这个脚本的好处是即使核心文件被篡改了也能恢复。
五、更改后台登陆url
众所众知wp默认的后台登陆地址是众所周知的,所以我们可以通过更改后台登陆地址防止账号密码被爆破
这里选择最简单的办法就是使用wp自带的插件:WPS Hide Login
安装后会在设置里多出一个hide login的选项
选择后更改你的登陆地址,保存即可
六、一些其他事项
除了以上的,还有例如使用cdn、waf、ids、禁用xml-rpc、隐藏wp版本、更改数据库前缀、仪表盘禁用文件编辑等,这里给大家提供一个思路,不再详细描述,如果有任何问题都可以在评论区留言。
相关链接
相关漏洞
XSS:CVE-2023-40000