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