2005年,脚本漏洞层出不穷,无数网站主机因脚本漏洞被攻破。为防御此类攻击,笔者经过一段时间的尝试,将心得总结成文,以飨广大有此需求的读者(本文测试环境为:Windows Server 2003、IIS6.0、MS SQL Server 2000)。 用户权限设置 外部客户端在访问本机网站时是以IUSR_SERVERNAME用户(以下简称为IUSR用户)的权限执行所有操作的,所以为了保证系统的安全,我们必须对该用户的权限作一些限制。 小知识: 首先,要删除Everyone对系统所有的卷的访问权限。由于Everyone是各用户(组)权限设置的父对象,所以在删除Everyone权限之前,要取消子对象对父对象权限的继承。
脚本执行设置 这个就简单多了。网站目录大体分两类:一类保存着我们的脚本文件,另一类保存着非脚本文件,例如网站数据库、上传的图片等等。因此,具体的设置也就有两种,前一类允许执行脚本文件,后一类禁止执行其中的脚本文件。 设置方法:在IIS服务管理器中右键点击所需设置目录,在“目录”选项卡里,对“执行权限”进行设置,前一类设置成“纯脚本”,后一类设置成“无”即可,如图4所示。
上面的设置已禁止数据库文件中的ASP脚本的执行,大家也许会想:“那以前用ASP语句出错的方法防止数据库被下载不就不行了么?”别急,我们这次用筛选器来进行数据库的防下载保护。 在IIS服务管理器中,进入被设置网站的属性框,点击“主目录”、“配置”、“添加”(上面那个),扩展名自然就输入数据库文件的扩展名了,上面的可执行文件项就随便添一个EXE文件就行了,点“确定”就完成了设置(如图5所示)。读者可以试一下,将会出现这种结果:“无法找到该页”(如图6所示)。
MSSQL数据库设置 由于MSSQL数据库服务是以SYSTEM权限运行的,所以通过MSSQL的注入攻击往往能较容易的取得ADMIN权限,因此对它的设置也是脚本安全防护中的重中之重。 首先自然是用户设置。大家都知道“SA”是一个拥有极高权限的用户,所以脚本系统在连接SQL数据库的时候一定不要使用“SA”,我们应该建立一个“database creator”级的新用户,只赋予其对网站数据库的DB_OWNER权限,用它来连接数据库可以很好的保证系统的安全。 小知识: 接着就是对SQL扩展存储过程进行配置了,大名鼎鼎的xp_cmdshell和xp_dirtree都是其中的成员,还有“臭要饭的!”大哥的GETWEBSHELL中用到的Sp_makewebtask等等。在所有扩展存储过程中,有一部分对文件、目录和注册表进行操作的几乎是没有任何一个管理员会用到,黑客们倒是用倍儿熟。当然,对这些百害无一利的扩展存储只有一个字可说,就是“删”。 删除方法就是在SQL查询分析器中执行“exec master..sp_dropextendedproc ‘被删除的扩展存储名’”(无双引号)即可(如图7所示)。
小知识: 虽然我们作了这么多设置,但也不要忘记了保持服务器安全的重中之重,那就是给你的系统打好补丁,系统漏洞可不是通过几个设置就能轻松堵上的。 |
网管必读:系统设置搞定脚本安全
0
相关文章
- 360清理大师颜值飙升 主界面全新改版景保玉 · 2015-03-19
- 针对企业员工的信息安全意识十大建议董建伟 · 2015-02-03
- 绿盟科技NGTP应对勒索病毒CBT-Locker董建伟 · 2015-01-26
- CIO实践:看3W如何玩转上网行为管理董建伟 · 2015-01-22
- 影响企业安全运营中心运营五大陷阱董建伟 · 2014-12-23
- 使用盈世Coremail邮件系统远离安全威胁陕西分站 · 2014-12-10
- 五个步骤帮助企业培养移动安全能手董建伟 · 2014-12-03
- 教你玩转下一代防火墙的流量管理董建伟 · 2014-11-20
- 企业防御APT攻击应掌握四大关键点董建伟 · 2014-11-18
- 如何从海量数据中挖掘威胁情报?董建伟 · 2014-11-03