php语言的流行框架thinkphp想必搞php的都听说过,今天我们谈一下针对服务器部署框架的安全策略。
tp框架被爆出问题最多的就是webshell,无论是那种版本都可能会被攻破找到这种漏洞,webshell的危害毋庸置疑,那我们该如何避免呢?
1. tp框架一个最大的问题,大多数人经常忘了关掉app_debug这个配置,导致任何的错误都会附加很多服务器信息到页面上,这是相当危险的,所以最重要的一条,生产环境务必关闭debug模式
2. 即使关闭debug模式,tp的版本号还是可以显示在页面上,为了不让黑客有针对的攻击,我们需要把版本号的显示也去掉
3. webshell一般是框架有某些漏洞,导致请求中伪造的linux命令被恶意执行,针对这种攻击方式的特点,我们总结了以下几条措施
- 禁用掉php的一些危险函数,系统命令执行相关函数,eval脚本执行函数,phpinfo函数等一些我们用不到的函数
- 搜索对应版本官方发出的漏洞补丁,要打进去,
- 开启强制路由,一些攻击都不是我们正常的业务路由路径,所以强制路由可以很好的避免利用框架漏洞攻击
- 控制好整个web项目目录的权限,尤其是一些需要写目录的权限,我们按照目录的最小权限原则对整个目录做安全调整,即对于每个目录我们都要思考该不该有读权限或者写权限
- log目录应该抽离项目本身,一则对项目的svn管理有利,二则由于此目录必须有写权限,所以木马也容易被写入,放到一个非常规目录相对安全
- 为了防止入口文件index.php 被篡改,我们可以把这个文件设置为只读
4. 经常通过svn st比较服务器文件是否有可疑文件不在svn管理
5. 养成查看nginx log的习惯,里头有一些攻击脚本,看下是否返回404