解读微软SQLServer密码管理的危险判断_Mssql数据库教程
推荐:浅谈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大小,而你的整个数据库运行着大约有几十亿的字节,这样的话如果能恢复单个失败文件的话就显的非常有意义。这样
- sql 语句练习与答案
- 深入C++ string.find()函数的用法总结
- SQL Server中删除重复数据的几个方法
- sql删除重复数据的详细方法
- SQL SERVER 2000安装教程图文详解
- 使用sql server management studio 2008 无法查看数据库,提示 无法为该请求检索数据 错误916解决方法
- SQLServer日志清空语句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸载方法(其他版本类似)
- sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表
- SQL Server 2008 清空删除日志文件(瞬间日志变几M)
- Win7系统安装MySQL5.5.21图解教程
- 将DataTable作为存储过程参数的用法实例详解
- 相关链接:
- 教程说明:
Mssql数据库教程-解读微软SQLServer密码管理的危险判断。