技术开发 频道

SQL Server补丁利弊分析

【IT168技术分析】我经常遇到数据库管理员和网络管理员害怕为他们的SQL Server系统打补丁,因为担心引起问题。我并不完全责怪他们。毕竟,SQL Server运行“很好”,而当这个很好被打乱的时候,业务处理就会减慢,工作安全也会下降。束手无策和逃避的画面就出现在脑海里。反对打补丁是因为系统就像它所看到的运行得很好,当然,它是安全的,因为SQL Server是“在防火墙后面”。工作模式是让睡犬躺下-没必要惊扰野兽。

  问题是许多数据库管理员和网络管理员没有认识到,当因为缺少补丁而产生的漏洞被内部信任人士利用的时候会发生什么。这会作用于SQL Server软件,Windows操作系统和运行于同一台主机的其它软件,例如VNC、备份软件和IIS。许多人声称就算他们的SQL Server系统中存在一个严重的漏洞,在他们的网络中也没有人知道一点线索关于怎样去利用它。这是一个符合逻辑的说法,但是不对。

  事实上,它所带来的后果是一个可信任内部人士(或外人通过一个不安全的无线连接)从网络上下载免费的安全工具。四处运行一下,然后恶意的利用他们得到对重要的数据库系统的完全访问。BackTrack,尤其是Metasploit就出现在头脑中。

  有了正确的工具和足够的时间-可信任的内部人士两者都有-任何内容都是可捕获的对象。举例来说,有几个著名的SQL Server漏洞(当然已经由补丁解决了),对于那些有权访问它们的人来说只要用Metasploit和商业选择就很容易利用。这就意味着任何人只要有一个基础网络连接就可以获得完全的管理员级别的Windows命令提示符来访问SQL Server系统。他们甚至不需要登录Windows或SQL Server!它只需物理访问网络。

  下面的截图是一个例子,说明一个内部人士可以在一个没有打补丁的SQL Server系统上怎样利用Slammer蠕虫缓冲器溢出漏洞。你说“Slammer”?不要笑,我仍然觉得SQL Servers容易受它攻击。


Figure 1: 用Metasploit获得对一个未打补丁的SQL Server系统的命令提示符的访问


Figure 2: 能够获得对SQL Server文件的完全管理员-级别的访问权限

  通过利用运行在同一系统上的其它未打补丁的应用甚至有更多的可能性来获得这一类型访问。而这仅仅是一个开始。利用漏洞扫描工具,用户可以找到其他针对SQL Server的方法,包括特权升级、拒绝服务和访问系统表。再一次的,这完全是由于没有应用推荐的补丁。外部防火墙不能阻止这些内部罪行的发生。

  你要问问自己什么是更糟糕的:1)安装一个修补程序或服务包,这会使你的数据库系统在一个相对短的时间内慢下来(或甚至产生数据崩溃)直到它退出(或恢复)或2)以未打补丁的软件的形式呈现给不法内部人士来实现容易实现的目标?不要误会我,我过去由于太热切地给微软软件打补丁而吃了很大苦头。但那是在很多年前。基于我的经验,补丁的质量已经大大改善了(尽管还不完善)。

  没有很好的答案,但是它归结为风险平衡问题和选择问题。最后,我宁愿去做修补补丁安装的工作也不想面对那样的后果。

  设想一下你要回答经理、客户或监管人员他们所问的为什么在身份窃取、数据破坏或相关事件发生之后没有采取对已知的利用的对策。如果安装补丁会产生问题,至少你做了对公司的利益最好的事情。而当你简单的忽略了补丁你就不能这么说。继续,如果因为打补丁而产生了问题,至少你现在有个很好的理由来推动一个每个人都知道他们需要但看起来不能证明他们拥有的测试环境。

0
相关文章