解读微软SQLServer密码管理的危险判断_Mssql数据库教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:浅谈SQL Server 2008数据库中的新数据类型
对于关系型数据库来说,表现树状的层次结构始终是一个问题。微软在SQL Server 2005中首次尝试了解决这个问题,那就是被称之为通用数据表表达式(Common Table Expressions,CTE)的实现

当管理SQL Server内在的帐户和密码时,我们很容易认为这一切都相当的安全。毕竟,你的SQL Server系统被保护在防火墙里,而且还有Windows身份验证的保护,所有用户都需要密码才能进入。这听起来非常的安全,特别是当你认为所有人都这么做的时候。可实际上,它并不像我们想象得那么安全。

在这里,我们列出了一些对于SQL Server密码来说非常危险的判断:

密码测试无需计划

当进行测试时,直接就开始尝试破解密码将是一个很大的错误。无论你是在本地还是通过互联网进行测试,都强烈建议你获得权限,并建议一个帐户被锁定后的回滚方案。最后你要做的就是确保在账户被锁定时,数据库用户无法进行操作,而且与之相连的应用程序也将无法正常运行。

通过互联网,密码仍然是安全的
对于通过混合方式实现的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的一个弱点。

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这样的工具来对数据库服务器上的这些系统进行攻击,你将很容易地被破解。

IT像其他东西一样,你总是被一些细节所打倒。如果可以抛弃这些对SQL Server密码的危险判断,你必将改善你的SQL Server的安全。

分享:解读选择是否恢复整个SQL Server的方法
这有一个具体例子:如果你有一个单个的出现问题的文件。这个文件有50MB大小,而你的整个数据库运行着大约有几十亿的字节,这样的话如果能恢复单个失败文件的话就显的非常有意义。这样

来源:模板无忧//所属分类:Mssql数据库教程/更新时间:2009-09-07
相关Mssql数据库教程