系统设置搞定脚本安全
来源:Net作者:Net 发布时间:2008-04-20
阅读次数
阅读提示: 2005年,脚本漏洞层出不穷,无数网站主机因脚本漏洞被攻破.为防御此类攻击,笔者经过一段时间De尝试,将心得总结成文,以飨广大有此需求De读者(本文测试环境为:Windows Server 2003、IIS ...
阅读提示:
2005年,脚本漏洞层出不穷,无数网站主机因脚本漏洞被攻破.为防御此类攻击,笔者经过一段时间De尝试,将心得总结成文,以飨广大有此需求De读者(本文测试环境为:Windows Server 2003、IIS6.0、MS SQL Server 2000).
用户权限设置
外部客户端在访问本机网站时是以IUSR_SERVERNAME用户(以下简称为IUSR用户)De权限执行所有操作De,所以为了保证系统De安全,我们必须对该用户De权限作一些限制.
小知识:
IUSR_ServerName是WEB访问者使用De系统默认账号,系统表示为Internet访问用户.当WEB服务器不需用户登录就能访问数据库时,它实际是使用IUSR_ServerName用户身份来访问数据库.IUSR_ServerName是在安装IIS时创建De用户.默认情况下,“启用 Windows 账户同步”是选中De. 首先,要删除Everyone对系统所有De卷De访问权限.由于Everyone是各用户(组)权限设置De父对象,所以在删除Everyone权限之前,要取消子对象对父对象权限De继承. 方法是在所设置目录De“属性”对话框De“安全”选项卡中点击“高级”按钮,取消“允许父对象将其权限传播到该对象及其子对象”De选定(如图1所示).这时系统会提示选择是否将父对象De权限复制给子对象,笔者建议大家选择复制,这样De好处就是以后不必重新设置管理员用户De权限.
图1 接着就是对IUSR用户作设置.在网站数据库(ACCESS)、上传文件De所在目录,我们须赋予其“列文件目录”、“读取”和“写入”权限(如图2所示);而在其它无需通过IIS进行写操作De目录,我们只须给予其“列文件目录”和“读取”权限即可(如图3所示).
图2
图3 到此,对用户权限De设置结束了. 脚本执行设置 这个就简单多了.网站目录大体分两类:一类保存着我们De脚本文件,另一类保存着非脚本文件,例如网站数据库、上传De图片等等.因此,具体De设置也就有两种,前一类允许执行脚本文件,后一类禁止执行其中De脚本文件. 设置方法:在IIS服务管理器中右键点击所需设置目录,在“目录”选项卡里,对“执行权限”进行设置,前一类设置成“纯脚本”,后一类设置成“无”即可,如图4所示.
图4 数据库防下载设置(针对ACCESS数据库) 上面De设置已禁止数据库文件中DeASP脚本De执行,大家也许会想:“那以前用ASP语句出错De方法防止数据库被下载不就不行了么?”别急,我们这次用筛选器来进行数据库De防下载保护.
具体设置方法如下: 在IIS服务管理器中,进入被设置网站De属性框,点击“主目录”、“配置”、“添加”(上面那个),扩展名自然就输入数据库文件De扩展名了,上面De可执行文件项就随便添一个EXE文件就行了,点“确定”就完成了设置(如图5所示).读者可以试一下,将会出现这种结果:“无法找到该页”(如图6所示).
图5
图6 MSSQL数据库设置 由于MSSQL数据库服务是以SYSTEM权限运行De,所以通过MSSQLDe注入攻击往往能较容易De取得ADMIN权限,因此对它De设置也是脚本安全防护中De重中之重. 首先自然是用户设置.大家都知道“SA”是一个拥有极高权限De用户,所以脚本系统在连接SQL数据库De时候一定不要使用“SA”,我们应该建立一个“database creator”级De新用户,只赋予其对网站数据库DeDB_OWNER权限,用它来连接数据库可以很好De保证系统De安全. 小知识:
SQLServerDe用户sa是个等同Adminstrators权限De角色,拿到了sa权限,几乎肯定可以拿到主机De Administrator了.SQL ServerDe默认用户saDe权限非常巨大,有种观点是saDe权限要大于administratorDe权限,也就是说没有限制Desa用户可以做Windows系统管理员所做De任何事. 接着就是对SQL扩展存储过程进行配置了,大名鼎鼎Dexp_cmdshell和xp_dirtree都是其中De成员,还有“臭要饭De!”大哥DeGETWEBSHELL中用到DeSp_makewebtask等等.在所有扩展存储过程中,有一部分对文件、目录和注册表进行操作De几乎是没有任何一个管理员会用到,黑客们倒是用倍儿熟.当然,对这些百害无一利De扩展存储只有一个字可说,就是“删”. 删除方法就是在SQL查询分析器中执行“exec master..sp_dropextendedproc ‘被删除De扩展存储名’”(无双引号)即可(如图7所示).
图7 需要删除De存储过程列表如下:
Sp_makewebtask
xp_cmdshell
xp_dirtree
xp_fileexist
xp_terminate_process
sp_OAMethod
sp_OACreate
还有以xp_reg开头De好多存储过程,限于篇幅笔者就不一一列出了. 小知识:
IUSR_ServerName是WEB访问者使用De系统默认账号,系统表示为Internet访问用户.当WEB服务器不需用户登录就能访问数据库时,它实际是使用IUSR_ServerName用户身份来访问数据库.IUSR_ServerName是在安装IIS时创建De用户.默认情况下,“启用 Windows 账户同步”是选中De. 首先,要删除Everyone对系统所有De卷De访问权限.由于Everyone是各用户(组)权限设置De父对象,所以在删除Everyone权限之前,要取消子对象对父对象权限De继承. 方法是在所设置目录De“属性”对话框De“安全”选项卡中点击“高级”按钮,取消“允许父对象将其权限传播到该对象及其子对象”De选定(如图1所示).这时系统会提示选择是否将父对象De权限复制给子对象,笔者建议大家选择复制,这样De好处就是以后不必重新设置管理员用户De权限.

图1 接着就是对IUSR用户作设置.在网站数据库(ACCESS)、上传文件De所在目录,我们须赋予其“列文件目录”、“读取”和“写入”权限(如图2所示);而在其它无需通过IIS进行写操作De目录,我们只须给予其“列文件目录”和“读取”权限即可(如图3所示).

图2

图3 到此,对用户权限De设置结束了. 脚本执行设置 这个就简单多了.网站目录大体分两类:一类保存着我们De脚本文件,另一类保存着非脚本文件,例如网站数据库、上传De图片等等.因此,具体De设置也就有两种,前一类允许执行脚本文件,后一类禁止执行其中De脚本文件. 设置方法:在IIS服务管理器中右键点击所需设置目录,在“目录”选项卡里,对“执行权限”进行设置,前一类设置成“纯脚本”,后一类设置成“无”即可,如图4所示.

图4 数据库防下载设置(针对ACCESS数据库) 上面De设置已禁止数据库文件中DeASP脚本De执行,大家也许会想:“那以前用ASP语句出错De方法防止数据库被下载不就不行了么?”别急,我们这次用筛选器来进行数据库De防下载保护.
具体设置方法如下: 在IIS服务管理器中,进入被设置网站De属性框,点击“主目录”、“配置”、“添加”(上面那个),扩展名自然就输入数据库文件De扩展名了,上面De可执行文件项就随便添一个EXE文件就行了,点“确定”就完成了设置(如图5所示).读者可以试一下,将会出现这种结果:“无法找到该页”(如图6所示).

图5

图6 MSSQL数据库设置 由于MSSQL数据库服务是以SYSTEM权限运行De,所以通过MSSQLDe注入攻击往往能较容易De取得ADMIN权限,因此对它De设置也是脚本安全防护中De重中之重. 首先自然是用户设置.大家都知道“SA”是一个拥有极高权限De用户,所以脚本系统在连接SQL数据库De时候一定不要使用“SA”,我们应该建立一个“database creator”级De新用户,只赋予其对网站数据库DeDB_OWNER权限,用它来连接数据库可以很好De保证系统De安全. 小知识:
SQLServerDe用户sa是个等同Adminstrators权限De角色,拿到了sa权限,几乎肯定可以拿到主机De Administrator了.SQL ServerDe默认用户saDe权限非常巨大,有种观点是saDe权限要大于administratorDe权限,也就是说没有限制Desa用户可以做Windows系统管理员所做De任何事. 接着就是对SQL扩展存储过程进行配置了,大名鼎鼎Dexp_cmdshell和xp_dirtree都是其中De成员,还有“臭要饭De!”大哥DeGETWEBSHELL中用到DeSp_makewebtask等等.在所有扩展存储过程中,有一部分对文件、目录和注册表进行操作De几乎是没有任何一个管理员会用到,黑客们倒是用倍儿熟.当然,对这些百害无一利De扩展存储只有一个字可说,就是“删”. 删除方法就是在SQL查询分析器中执行“exec master..sp_dropextendedproc ‘被删除De扩展存储名’”(无双引号)即可(如图7所示).

图7 需要删除De存储过程列表如下:
Sp_makewebtask
xp_cmdshell
xp_dirtree
xp_fileexist
xp_terminate_process
sp_OAMethod
sp_OACreate
还有以xp_reg开头De好多存储过程,限于篇幅笔者就不一一列出了. 小知识:
上一篇: 给用户穿上防弹衣,傲游 2.0 安全性能再增强!
下一篇: 把U盘变成打开电脑的钥匙
关注此文读者还看过
文章关注度排行
