WordPress 的 wp-config.php 文件中保存了重要的配置信息,包括 MySql 数据库用户名、密码及连接地址等信息。一旦该文件中的内容泄露,网站所有的管理权限将暴露。本文以一个真实的被入侵案例来阐述如何防范此类风险。
内容
- 案例解析
- 防范措施
- 一、WordPress 文件权限设置
- 二、关闭 MySql 远程连接权限
案例解析
今日,本站某会员的网站被黑,向站长帮寻求帮助。经过分析 MySql 日志发现,数据库被人篡改,并添加了一个拥有超级管理员权限的新用户,然后在网站页面中加入了恶意代码。
据此推断应该是数据库密码被泄露。查看 wp-config.php 文件权限,果然设置为755。PS:755 权限的意思是:所有者、用户组、公共用户均可读、可执行,所有者可写入,如下表:
所有者 | 用户组 | 公共组 |
---|---|---|
读取√ | 读取√ | 读取√ |
写入√ | 写入× | 写入× |
执行√ | 执行√ | 执行√ |
775权限详细情况
这样的权限设置非常不安全,很容易被人获取文件中的信息。(具体的攻击方法这里不介绍,以防别有用心者利用。)
攻击者取得 wp-config.php 文件中的 MySql 连接信息后,可轻松修改网站数据库内容。包括创建管理员权限的用户,或者直接修改默认超级管理员的密码。
值得庆幸的是这位站长设置了数据库自动备份,在恢复了数据库且重新上传了一遍WordPress文件及主题插件文件后,网站恢复了正常。
防范措施
通过以上案例,至少有两处是网站需要整改的。
一、WordPress 文件权限设置
wp-config.php建议设置成440权限,也就是去掉公共组的读取与执行权限,另外去掉所有者的执行权限。如下示例:
所有者 | 用户组 | 公共组 |
---|---|---|
读取√ | 读取√ | 读取× |
写入× | 写入× | 写入× |
执行× | 执行× | 执行× |
440权限详细情况
这样设置之后,如果要修改该文件,需要将所有者的写入权限暂时开启,权限变成640,完成修改后再改回440权限。
除了 wp-config.php 文件之外,WordPress 其它的文件均建议设置成644,即取消所有用户的执行权限。但目录得保持755或750权限,否则会导致 WordPress 无法上传附件、插件与主题无法安装/更新,甚至网站运行出错等问题。
如果安装了服务器管理面板的,可参照以上建议在面板中设置相应的目录及文件权限。如未使用管理面板,可以参考chmod命令教程进行设置。
注意任何情况下,均不要将目录或文件设置成777权限(全开放)。
二、关闭 MySql 远程连接权限
如果 MySql 与网站属同一服务器,则强烈建议关闭远程连接权限。如果不在同一服务器,也应仅授权网站服务器IP对 MySql 的连接权限。
不熟悉 MySql指令的用户,可借助宝塔面板或phpMyAdmin等工具进行设置。
注意事项(必读):
1、本站所展示的一切软件、教程和内容信息等资源均仅限用于学习和研究目的,请在下载后24小时内自觉删除;不保证其完整性及可用性,本平台不提供任何技术支持,若作商业用,请到原网站购买,由于未获授权而发生的侵权行为与本站无关。如有侵权请联系vip#mmeasy.cn(将#替换成@),我们将及时处理。
2、一切网盘资源请勿在线解压!在线解压会提示文件损坏或密码错误,特别注意若压缩包名带part1或z01这样的标识,则均为分卷压缩包,需要下载每个文件夹下的所有压缩包后,用WinRAR软件解压part1或zip即可释放当前文件夹下所有压缩包的内容!
3、如果链接失效,遇到资源失效可提交工单处理。
4、强烈建议在本站注册成为会员后再购买,游客购买只能短期保留记录,如超期或购买后自行清空浏览器缓存,将恢复购买前状态!
本文链接:https://www.mmeasy.cn/13057.html