从codered到nimda等iis安全,一大堆蠕虫把原来需要人工利用的漏洞都变成了程序自动利用了,大家还想去手工操作这些IIS漏洞么?让我们调整重心,去看看服务器常用的数据库吧域名备案域名备案。iis安全,如何保证从IIS到SQLServer数据库安全一般网站都是基于数据库的,特别是ASP、PHP、JSP这样的用数据库来动态显示的网站。 很多网站可能多注意的是操作系统的漏洞,但是对数据库和这些脚本的安全总是忽略,也没有太多注意。从最普遍的脚本问题开始,这些都是老话题了,大家可以参考Hectic写的《关于数据库的简单入侵和无赖破坏,以天融信做例子》,该文章对从SQL脚本问题说得非常详细。 对于脚本安全的解决,也可以通过过滤来实现,可以参考我以前写的。对于ASP来说,可以使用下面这个过滤函数:Function Filter_SQL(strData)Dim strFilterDim blnFlagDim istrFilter=”’,;,//,–,@,_,exec,declare”blnFlag=FlaseDim arrayFilterarrayFilter=Split(strFilter,”,”)For i=0 To UBound(arrayFilter)If Instr(strData,arrayFilter(i))>0 ThenblnFlag=TrueExit ForEnd IfNextIf blnFlag ThenResponse。 Redirect “wrong。asp”ElseFilter_SQL=strDataEnd IfEnd Function对于MS SQL Server数据库来说,安全问题不仅仅局限在脚本上了。“天杀的微软”的系统性很强,整个基于WINDOWS系统的应用都有很强的关联性,对SQL Server来说,基本可以把数据库管理和系统管理等同起来了。 SQL Server默认的管理员帐号“sa”的密码是空的,这给多数NT服务器产生一个安全漏洞。小榕的“SQLRCMD”,就能够利用获得的数据库管理员帐号执行系统命令。在SQL Server中有很多系统存储过程,有些是数据库内部使用的,还有一些就是通过执行存储过程来调用系统命令。 系统存储过程:xp_cmdshell就是以操作系统命令行解释器的方式执行给定的命令字符串。它就具体语法是:xp_cmdshell {’command_string’} [, no_output]xp_cmdshell在默认情况下,只有 sysadmin 的成员才能执行。 但是,sysadmin也可以授予其他用户这个执行权限。在早期版本中,获得 xp_cmdshell 执行权限的用户在 SQL Server 服务的用户帐户中运行命令。可以通过配置选项配置 SQL Server,以便对 SQL Server 无 sa 访问权限的用户能够在SQLExecutiveCmdExec Windows NT 帐户中运行 xp_cmdshell。 在 SQL Server 7。0 中,该帐户称为 SQLAgentCmdExec。现在对于SQL Server2000,只要有一个能执行该存储过程的帐号就可以直接运行命令了。对于网站,如果你需要公开让网友们随意访问,而不需要通过身份验证,那么就只能使用匿名访问的方式,网友访问时默认将使用IWAM_计算机的用户名来访问,这个用户的密码你不要去更改,否则会因为数据库和注册表中的密码和这儿的不同步造成网站访问不正常,这密码是系统随机生成的,本身就已经足够强壮,而且这个用户本身就属于GUESTS组。网站所在分区建议为NTFS分区,但对需要改写数据库的文件夹的“安全”选项卡中添加Everyone组并给予修改权限避免因无法读取或写入数据库而造成网站无法正常运行,但其它文件夹则应把Everyone组删除。你自己的管理员密码也要设个强壮的管理员密码,同时注意网页代码中是否有漏洞,避免网友利用漏洞上传ASP木马破坏你的数据库。