密码测试无需计划
当进行测试时直接就开始尝试破解密码将是一个很大的错误无论你是在本地还是通过互联网进行测试我都强烈建议你获得权限并建议一个帐户被锁定后的回滚方案最后你要做的就是确保在账户被锁定时数据库用户无法进行操作而且与之相连的应用程序也将无法正常运行
通过互联网密码仍然是安全的
对于通过混合方式实现的SQL Server你可以很容易的通过一些分析软件(比如OmniPeekEthereal)立刻从网上抓到它的密码同时Cain and Abel可以用来抓取基于TDS的密码你可能以为通过内网交换机就可以避免这一问题?然而Cain的ARP中毒路由功能就可以很轻松的破解它在大约一分钟之内这个免费软件就可以攻破你的交换机并看到本地网络的内部数据交换从而帮助其它软件更容易的抓取密码
事实上问题并没有就此结束有些误解认为在SQL Server中使用Windows身份验证是很安全的然而事实并非如此上述软件同样可以迅速的从网上抓到WindowsWeb电子邮件等相关的密码从而获得SQL Server的访问权限
通过使用密码政策我们就可以不用测试密码
无论你的密码政策有多严厉却总会有一些办法可以绕开它比如现在有一个未进行配置的服务器一个Windows域外的主机一个未知的SQL Server或者一些特殊的工具它们可以破解最强壮的密码这些东西就可以利用你密码的弱点并是你的代码政策变得无效
另外同样重要的是有些测试结果可能会说由于你的密码已经非常强壮你的数据库很安全但你千万不要轻信一定要自己在测试并验证一下密码缺陷是否还在尽管你可能会觉得一切都很好但实际上你可能落掉了一些东西
既然SQL Server密码是不可重获的那如果我知道他很强壮很安全我有为什么要破解他呢?
事实上SQL Server的密码是可以重获的在SQL Server 和SQL Server 中你可以使用像Cain and Abel或者收费的NGSSQLCrack这种工具来获得密码哈希表而后通过暴力对其破解进行攻击这些工具使你可以对SQL Server密码SHA哈希表进行反向工程尽管破解的结果并不能够保证但它确实是SQL Server的一个弱点
使用MBSA检查过SQL Server密码的缺陷并没有发现什么严重的问题
Microsoft Baseline Security Analyzer是一个用来根除SQL Server弱点的工具但他并不完善特别是在密码破解方面对于深层的SQL Server和Windows密码破解我们需要使用第三方软件如免费的SQLat和SQLninja(可以在SQLPing 中找到)和Windows密码破解工具如ElcomSofts Proactive Password Auditor和Ophcrack
此外使用在SQL Server中使用Windows身份验证并不表示你的密码就是安全的一些人只要了解如何破解Windows密码在花一些时间就可以破解你的密码并控制整个网络特别是如果他们使用<>Ophcracks LiveCD来攻击一个物理上不安全的Windows主机比如笔记本电脑或者易可达的服务器那将变得更加容易
只需担心你的主数据库服务器
我们很容易把关注点集中在自己的SQL Server系统上而忽略了网络中可能有的MSDESQL Serve Express和其它一些可能的SQL Server程序这些系统可能正在使用不安全的默认设置甚至根本就没有密码通过使用SQLPing 这样的工具来对数据库服务器上的这些系统进行攻击你将很容易地被破解