MSSQL作为应用最广泛的网站数据库,其安全防护也是至关重要的。MSSQL数据库最大的威胁就来源于注入攻击,MSSQL数据库防注入成为了网站安全管理员应该注意的问题,本篇文章就将介绍MSSQL数据库防注入的几个技巧。
MSSQL数据库防注入之慎重选择建站系统
通过站点系统建立一个Web站点是非常容易的,但是某些站点系统代码编写不够严谨,考虑不周,变量过滤不严等使得可被攻击者利用。因此,选择一款安全的站点系统是至关重要的。当然,没有百分之百安全的站点系统。管理员如果懂代码的话可以进行检测分析,看看是否有漏洞。另外,可以扮演入侵者进行入侵检测。最后,及时打补丁也是非常重要的。
MSSQL数据库防注入之最小权限连接数据库
Web站点连接数据库都是通过相应的帐户进行连接,在这些帐户中SA是权限最大的也是最危险的。数据库不要用SA帐户,使用SA帐户连接数据库对服务器来说就是一场灾难。一般来说可以使用DB_OWNER权限帐户连接数据库,如果可以正常运行,使用public用户最安全的。设置成dbo权限连接数据库之后,入侵者基本就只能通过猜解用户名和密码或者是差异备份来获得webshell了,对于前者,我们可以通过加密和修改管理后台的默认登陆地址来防御。对于差异备份,我们知道它的条件是有备份的权限,并且要知道web的目录。这样被攻击的可能性大大地降低。
MSSQL数据库防注入之删除危险的存储过程
MSSQL数据库系统集成了较多的存储过程,这些命令集方便了我们的操作当然也为攻击者入侵Web提供了便利。因此我们要根据需要删除某些在Web中用不到的,并且可被攻击者利用才存储过程。比如xp_regread和xp_dirtree这两个存储过程可被攻击者用来读取注册表信息和列目录,我们可以删除。另外,xp_cmdshell可被用来执行DOS命令比如建立系统帐户等等,是非常危险的。sp_makwebtask过程,可以读取SQL SELECT命令所得到的结果到表格形式的HTML文件中。这些比较危险可被攻击者利用的存储过程我们可以删除。比如删除xp_cmdshell可以执行“exec master..sp_dropextendedproc xp_cmdshell”,其它的类似。
MSSQL数据库防注入之修改错误页,误导攻击者
SQL注入入侵是根据IIS给出的ASP错误提示信息来入侵的,如果我们把IIS设置成不管出什么样的ASP错误,只给出一种错误提示信息,即http 500错误,那么攻击者就无法获得敏感信息实施入侵了。打开IIS管理器选择相应的Web站点打开其站点属性窗口,在“自定义错误”选项卡下选择“500:100”点击“编辑”打开“编辑自定义错误属性”窗口,消息类型选择“文件”,然后通过浏览定位到自己构造的错误页,比如“c:\test.htm”,然后确定即可。
【编辑推荐】