【TechTarget中国原创】你的SQL Server系统在应对安全漏洞时的表现如何?你是否已经打了相应的补丁?它们是否因此而变得“坚不可摧”?在密码方面呢?它们是否可以满足复杂的需求?你是否会有规律地修改密码?你是否启动了审计日志功能呢?
针对以上的这些问题,如果你的回答大部分是肯定的,也千万不要自我感觉良好。事实上,针对这样的情况,十个人中会有八个人会盲目乐观,但不幸的是,问题还存在,而且很多很严重。
你肯定不会相信,我见过多少漏洞百出的SQL Server等待着被攻击,其中还都自称是开启了安全审计功能的。这其实都是清单审计的问题,虽然听上去是很安全的,但只要你稍微深入一点观察,就能发现丑陋的真相。下面就是一些SQL Serce的安全漏洞,只需一点点时间,这些漏洞就可以让你的系统面目全非:
- C盘共享的服务器。我经常能看到SQL Server系统提供C盘的完全共享以及全部用户的NTFS访问权。如果SQL Server没有启动,那么master.mdf文件就可以被访问,而这个文件是第三方工具用来进行SQL Server密码破解或重置时所需要的。
SQL Server启动之后,黑客往往会利用其他的漏洞来访问系统(比如密码弱或补丁不完整),而不是访问master.mdf文件。
- 未受保护的磁盘镜像和整个SQL Server系统的基础文件夹级备份。这是同上面一个问题相关的,不安全的共享以及NTFS许可。
- 未受保护的SQL Server Express实例以及工作站中运行的MSDE。这个看上去并不重要的数据库其实存储了十分重要的数据,而且不应该暴露给内部人士。想要找到网络中活动的SQL Server系统,唯一的方法就是使用一个好的漏洞扫描工具,比如QualysGuard或LANguard。
一个更加简单直接的方式就是使用SQLPing3工具,它的功能不仅仅可以找出默认的SQL Server安装,而且还可以找出异常配置并锁定SQL Server实例。
- Web应用没有正确验证输入并有利于SQL注入。即使是最安全的SQL Server控件也没有办法避免这类攻击。在最近的一次Web应用安全鉴定中,我发现一个SQL注入漏洞如果拥有SQL Server的完全访问权,就可以轻松地让大部分数据库安全控件失效。
想要攻击一个看似安全的SQL Server系统,可以有无数种选择。现实的情况是,在SQL Server上执行更高级别的安全审计实际上是失去先机。如果你想要看清楚你的数据库安全状态,就必须检查每一个级别。
从操作系统到Web应用,以及其他所有的东西,你都必须考虑到。否则你可能就离被攻击不太远了。