sqlserver数据库:如何让SQL Server数据库账号更安全



  提到sa弱口令我们首先就会想到许多数据库都有1个类似超级管理员账号比如:Oracle是"system"和"sys"Sybase也是"sa"MySQL里有"root"(不是UNIX系统账号那个root)如果没有设置相对应密码或者你设密码强度太低过于简单那么入侵者就能直接登陆并攻击数据库服务器他们甚至可以获得你操作系统最高级别权限说到这里人也许不相信曾经有人和我说:"数据库被攻破最多你那些表啊什么被人家拿走对方如何可能获得操作系统最高权限呢?"其实我并不是在危言耸听下面我就假设某台SQL Server 2000数据库SA密码被破解为例来看看黑客在取得了数据库权限后如何进1步把自己变成系统管理员

  目前网络上有不少此类工具可以方便那些不熟悉SQL人用其实完全不用去下载那种工具只要用微软自己SQL Server里自带客户端连上去就马上可以轻松把自己变成整个操作系统超级管理员了具体过程我就为大家讲解1遍这里先假设黑客已经通过其他工具暴力破解了你设置强度教低sa帐号弱口令或者你根本就没有为sa账号设置口令首先黑客打开SQL Server查询分析器以sa身份和他刚暴力破解密码登陆进你SQL Server数据库然后他执行以下语句:

  xp_cmdshell "net user zxc nopassword /add" go xp_cmdshell "net localgroup /add administrators zxc" go

  这时候你如果打开你计算机管理-----本地用户和组-----用户这时候你会发现里面已经多出了1个叫zxc新账号查看下此帐号属性你更会发现他竟然隶属于administrators组

  说到这里大家肯定都明白了黑客通过SQL Server系统数据库master里xp_cmdshell这个扩展存储过程轻松将他自己变成了你服务器上超级管理员那么以后他还有什么事情会干不了呢

  因此如果大家在平时不需要此存储过程可以考虑将它删除当然不管你平时是不是要此存储过程你都应该为你sa账号设置1个十分健壮密码这是最根本、最重要你可以打开SQL Server企业管理器然后选择安全性-----登陆右击sa账号选择属性然后在属性对话框里修改您sa帐号所对应密码这里我建议你要尽可能设置复杂些可以用英文字母结合数字结合特殊符号等这样就可以防止黑客对此帐号暴力破解当然最好是在安装您SQL Server时候就已经完成此项工作以免日后因人为遗忘等原因带来安全隐患

Tags:  server数据库 server2003数据库 sqlserver数据库

延伸阅读

最新评论

发表评论