巧用文件权限防止网页被挂马(转载)
相信许多朋友和笔者一样,有过如此痛苦的经历,某天QQ上好友发来信息,你的网站有病毒了,快去看看。上网一看,个个页面都被挂马,速度奇慢。打开源代码,发现头部或者尾部里面被加了js脚本。更惨的是,Access数据库改成的Asp后缀文件头被破坏,宝贵的数据也没了。等在线单个或者批量去掉这些木马脚本之后,原本的js脚本运行又不正常,好不容易都搞定之后,一夜过后马儿又回来了。有时间则已,没时间真恼人。
当然,被挂马的原因很多,程序本身的bug,有些是用的别人的程序,自己找漏洞也不是每个人都有这个能力,别人也没有及时的漏洞补丁。有些是新手写的,只是实现了功能,安全却没有过多的考虑,变量、参数、上传等过滤不严。有些购买的虚拟主机配置不当,提供商技术水平不过硬。笔者就有过一个虚拟主机空间的服务提供商的主页都被挂上马了,更不用说给我们这些普通用户提供的空间服务了,往往是整个服务器都马儿到处跑。
笔者在赶马的过程中,忽然想到原来在写php程序时,上传到ftp的时候经常要用ftp软件或者chmod命令把文件夹的属性改成777(可读可写可执行),我们在此不妨把asp程序文件的属性改成可读可执行而不可写,这样下来要修改文件必须先修改属性,而在线修改文件的属性不可用。这样就保护了我们的程序不被木马修改,不过这样也就不能在线编辑程序文件了。对于文件夹,除了放置在线上传文件的文件夹设置为可读,不可写不可执行之外。其他的文件夹都是只读可执行不可写的。这样即使被上传了网页木马也只能被上传到可写的没有执行权的文件夹,执行不了,白白上传了,干着急。
这样一来后缀改为asp的数据库也就安全了。本方法可以有效的防止挂马,总体来说防止木马应该多管齐下,打好程序的补丁,及时关注程序作者官方网站的漏洞解决方案,自己写程序的时候过滤好变量,参数等,不给马儿草,马儿就来不了。当然,定时备份数据库和程序是站长们防止意外的不二法门。
(本文来源:落伍)
收藏到QQ书签 0 我顶!