SQL Server安全性的终极禁忌:被忽视的系统

安全
在你认为已经很好地控制了SQL Server安全性时,往往问题正在悄悄出现。有人会在网络中的某个区域悄然进入你已经遗忘或根本不知道的SQL Server系统。然后你才意识到你只是表面上控制了SQL Server安全性。

在你认为已经很好地控制了SQL Server安全性时,往往问题正在悄悄出现。有人会在网络中的某个区域悄然进入你已经遗忘或根本不知道的SQL Server系统。然后你才意识到你只是表面上控制了SQL Server安全性。

  现实证明系统复杂性的增加已经超出了现代网络的控制。我经常工作中碰到这种情况:遗留的SQL Server 2000、MSDE和SQL Server 2005 Express系统都分散各处且没人管理。它们基本上是被忽视的、被遗忘的。

 

  我听说过这样的事:

 

  “天啊,我忘记那个系统了。”
  “我们的开发团队开户了它,但并没有告诉我们。”
  “我们将要等到我们的供应商提供新的平台后就撤下那个服务器。”
  不管什么原因,这些系统还在那里,并且会造成一些严重的商业风险,特别是考虑到内部威胁的存在。

 

  我遇到的最大的问题是SQL Server系统的sa帐号没有密码,网络上的任何人都可以随意访问这个系统。现在网络上的每个人,只要运行SQL Server Management Studio Express,就可以为所欲为了。一个恶意的用户可以连接到系统,然后修改SQL Server安全性设置,创建一个后门帐号,浏览和获取产品数据——凡是你想得到的,都可以简单做到。

 

  另一个问题是这些未管理的SQL Server系统经常没有打好补丁,因此它们很容易受到攻击。通过使用一些免费工具,如NeXpose Community Edition和Metasploit,一个有不良企图的内部人员就能够发现这些SQL Server系统,发现它们是否能够侵入,然后发现特定的OS、SQL Server和第三方应用漏洞,从而完全控制这个系统——而且所有这一切都是悄悄进行的。

 

  我认为这里出现的问题可以追溯到信息安全的基本问题之一:我们不知道我们有什么,因此不能保证位置事物的安全。下面是一些可以用来保证我们掌握这些系统的方法:

 

  发现你所有的系统。这是从一个良好的系统目录和网络图开始的——但它们要有一定的深度。首先,要使用端口扫描器,如SuperScan v3.0,定期地查找监听默认SQL Server端口(TCP 1433和UDP 1434)的活跃系统。事实上,还有一个更好的工具就是Chip Andrews的SQLPing(当前是版本3),它不仅能扫描默认的SQL Server实例,还能发现由个人防火墙或运行非标准端口的系统。
  使用漏洞扫描软件和合法的黑客技术来确定SQL Server系统的风险。
  通过设置合理的密码、打补丁或优化系统来堵住漏洞。否则,将它们与主网络隔离或将它们全部撤掉。
  积极地安全化高度可见的SQL Server系统很重要,而发现所有其它可能造成风险的系统也很重要。要谨记,如果想要创建一个安全的SQL Server,这两方面都需要考虑。


在你认为已经很好地控制了SQL Server安全性时,往往问题正在悄悄出现。有人会在网络中的某个区域悄然进入你已经遗忘或根本不知道的SQL Server系统。然后你才意识到你只是表面上控制了SQL Server安全性。

  现实证明系统复杂性的增加已经超出了现代网络的控制。我经常工作中碰到这种情况:遗留的SQL Server 2000、MSDE和SQL Server 2005 Express系统都分散各处且没人管理。它们基本上是被忽视的、被遗忘的。

 

  我听说过这样的事:

 

  “天啊,我忘记那个系统了。”
  “我们的开发团队开户了它,但并没有告诉我们。”
  “我们将要等到我们的供应商提供新的平台后就撤下那个服务器。”
  不管什么原因,这些系统还在那里,并且会造成一些严重的商业风险,特别是考虑到内部威胁的存在。

 

  我遇到的最大的问题是SQL Server系统的sa帐号没有密码,网络上的任何人都可以随意访问这个系统。现在网络上的每个人,只要运行SQL Server Management Studio Express,就可以为所欲为了。一个恶意的用户可以连接到系统,然后修改SQL Server安全性设置,创建一个后门帐号,浏览和获取产品数据——凡是你想得到的,都可以简单做到。

 

  另一个问题是这些未管理的SQL Server系统经常没有打好补丁,因此它们很容易受到攻击。通过使用一些免费工具,如NeXpose Community Edition和Metasploit,一个有不良企图的内部人员就能够发现这些SQL Server系统,发现它们是否能够侵入,然后发现特定的OS、SQL Server和第三方应用漏洞,从而完全控制这个系统——而且所有这一切都是悄悄进行的。

 

  我认为这里出现的问题可以追溯到信息安全的基本问题之一:我们不知道我们有什么,因此不能保证位置事物的安全。下面是一些可以用来保证我们掌握这些系统的方法:

 

  发现你所有的系统。这是从一个良好的系统目录和网络图开始的——但它们要有一定的深度。首先,要使用端口扫描器,如SuperScan v3.0,定期地查找监听默认SQL Server端口(TCP 1433和UDP 1434)的活跃系统。事实上,还有一个更好的工具就是Chip Andrews的SQLPing(当前是版本3),它不仅能扫描默认的SQL Server实例,还能发现由个人防火墙或运行非标准端口的系统。
  使用漏洞扫描软件和合法的黑客技术来确定SQL Server系统的风险。
  通过设置合理的密码、打补丁或优化系统来堵住漏洞。否则,将它们与主网络隔离或将它们全部撤掉。
  积极地安全化高度可见的SQL Server系统很重要,而发现所有其它可能造成风险的系统也很重要。要谨记,如果想要创建一个安全的SQL Server,这两方面都需要考虑。
 

责任编辑:王文文 来源: TT数据库
相关推荐

2010-11-15 09:49:21

Chrome扩展安全

2011-01-14 15:14:58

2011-03-11 14:05:41

2012-08-29 09:29:28

SQL Server

2016-07-21 10:25:54

2013-03-04 09:21:23

SQL Server安全工具

2012-12-28 09:36:08

SQL Server SQL Server安

2015-05-21 09:52:28

SaaS安全云应用安全

2013-04-16 14:16:35

2009-06-30 20:44:44

2010-01-28 10:11:18

IT金饭碗

2010-11-09 15:50:47

SQL Server安

2011-05-13 10:47:01

2010-07-21 15:57:39

SQL Server网

2019-02-28 19:45:06

SQL错误用法数据库

2009-11-30 09:41:38

2010-07-02 08:45:40

SQL Server

2010-12-23 14:45:57

SQL Server

2010-10-09 14:09:20

2022-04-27 22:07:32

SQL数据库分页查询
点赞
收藏

51CTO技术栈公众号