数据库服务器安全的权限控制策略

2008-12-9    来源:eNet   作者:JOAN    我要评论
   | |

导读:本文中介绍了数据库服务器安全的权限控制策略,例如给用户授予其所需要的最小权限、取消默认账户不需要的权限、正确的鉴别客户端、数据库系统最好不要穿透防火墙等。

关键词:数据库 服务器 安全 权限控制 用户 权限 防火墙

 
正在加载数据...

  任何服务器,安全与性能是两个永恒的主题。作为企业的信息化安全人员,其主要任务就是如何在保障服务器性能的前提下提高服务器的安全性。而要做到这一点,服务器的访问权限控制策略无疑是其中的一个重要环节。笔者企业最近上了一台新的数据库服务器,我为他设计了一些权限控制手段。这些方法虽然不能够百分之百的保证数据库服务器的安全性,但是,这些仍然是数据库服务器安全策略中必不可少的因素。他对提高数据库服务器的安全性有着不可磨灭的作用。

  其实,这些控制策略,不但对数据库服务器有效;对其他的应用服务器仍然具有参考价值。

  一、给用户授予其所需要的最小权限

  不要给数据库用户提供比其需要的还要多的权限。换句话说,只给用户真正需要的、为高效和简洁地完成工作所需要的权限。这个道理很容易理解。这就好像防止职业贪污一样。你若只给某个员工其完成工作所必需的费用,一分都不多给,那其从哪里贪污呢?

  如从数据库服务器的角度来考虑这个问题,这就要求数据库管理员在设置用户访问权限的时候,注意如下几个方面的问题。

  一是要限制数据库管理员用户的数量。在任何一个服务器中,管理员具有最高的权限。为了让数据库维持正常的运转,必须给数据库配置管理员账户。否则的话,当数据库出现故障的时候,就没有合适的用户对其进行维护了。但是,这个管理员账户的数量要严格进行限制。不能为了贪图方便,把各个用户都设置成为管理员。如笔者企业,在一台数据库服务器中运行着两个实例,但是,只有一个数据库管理员负责数据库的日常维护。所以,就只有一个管理员账户。

  二是选择合适的账户连接到数据库。一般数据库的访问权限可以通过两种方式进行控制。一是通过前台应用程序。也就是说,其连接到数据库是一个统一的账户,如管理员账户;但是,在前台应用程序中设置了一些关卡,来控制用户的访问权限。这种方式虽然可以减少前台程序开发的工作量,但是,对于数据库服务器的安全是不利的。二是在前台程序中,就直接利用员工账户的账号登陆到数据库系统。这种做法虽然可以提高数据库的安全性,但是,其前台配置的工作量会比较繁琐。而笔者往往采用折中的方法。在数据库中有两类账户,一类是管理员账户,只有前台系统管理员才可以利用这类账户登陆到数据库系统。另外一类是普通账户,其虽然可以访问数据库中的所有非系统对象,但是,他们不能够对数据库系统的运行参数进行修改。然后具体数据对象的访问,则通过前台应用程序控制。如此,前台应用程序普通员工只需要通过同一个账户连接到数据库系统。而系统管理员若需要进行系统维护,如数据库系统备份与还原,则可以通过数据库管理员账户连接到数据库系统。则即方便了前台应用程序的配置效率,又提高了数据库服务器的安全性。总之,我们的目的就是要限制以数据库管理员身份连接到数据库的用户数量。

  在其他应用服务器中,也有管理员账户与普通账户之分。在权限分配的时候,也最好只给用户授予其需要的最小权限,以保障数据库服务器的安全。

  二、取消默认账户不需要的权限

  在建立账户的时候,服务器往往给给其一些默认的权限。如在数据库中,Public是授予每个用户的默认角色。任何用户,只要没有指定具体的角色,则其都可以授予Public组的权限。这其中,还包括执行各种SQL语句的权限。如此,用户就有可能利用这个管理漏洞,去访问那些不允许他们直接访问的包。因为这个默认权限,对于那些需要他们并且需要合适配置和使用他们的应用来说,是非常有用的,所以,系统默认情况下,并没有禁止。但是,这些包可能不适合与其他应用。故,除非绝对的需要,否则就应该从默认缺陷中删除。

  也就是说,通常某个账户的默认权限,其是比较大的。如对于数据库来说,其账户的默认权限就是可以访问所有的非系统对象表。数据库设计的时候,主要是为了考虑新建用户的方便。而且,新建用户的时候,数据库确实也无法识别这个用户到底能够访问哪些用户对象。但是,对于企业应用系统来说,若给每个员工都默认具有这么大的访问权限,那则是很不安全的。

  笔者的做法是,会把应用系统的默认用户权限设置为最小,有些甚至把默认用户权限全部取消掉。这就迫使服务器管理员在建立账户的时候,给账户指定管理员预先设定的角色。这就可以有效的防止管理员“偷懒”。在建立账户的时候,不指定角色。

  三、正确的鉴别客户端

  正确的鉴别客户端的合法性,这是提高应用服务器安全性的一个不二法则。有时候,为了服务器安全性考虑,必须要求对客户端的合法性进行鉴别。对此,我们可以通过如下措施来管理客户端。

  一是对于具有管理员账户的角色进行远程鉴别。虽然从理论上说,可以对任何一台客户端都采取远程鉴别,如通过主机名或者IP地址进行合法性鉴别。但是,这么做的话,往往太过于小题大做,会增加管理上的烦恼。或者说,投入与回报不成正比。所以,在实际配置中,笔者不会对每一台客户端都进行合法性验证。而只对于利用管理员账户登陆服务器的客户端才进行合法性验证。如可以在数据库服务器上进行设置,只有哪几个IP地址才可以通过管理员角色连接到数据库系统中。通过对客户端身份的合法鉴别,就可以再进一步提高数据库服务器管理员角色账户的安全性。即使管理员账户与口令被窃取,有客户端身份验证这一功能,也不怕他们进行非法攻击。

  二是不要太过于相应客户端的自我保护功能。如在某个品牌的数据库系统中,有一种远程鉴别功能。他会处理连接到数据库的远程客户的用户鉴别问题。数据库绝对信任任何客户都已经进行了正确的鉴别。但是,我们都知道,在任何情况下,我们不能够相信客户端会正确地执行操作系统鉴别。故,往往这个安全特性只是作为摆设。对于数据库服务器来说,一个比较安全的做法是,不采用这种远程鉴别功能,而是在服务器上对客户端进行统一的鉴别。如在服务器上,通过身份认证功能来确保连接到服务器上的客户端的合法性与真实性。

  四、数据库系统最好不要穿透防火墙

  如果把数据库服务器放置在防火墙的后面,则最好在任何情况下,都不要穿透该防火墙。否则的话,会让数据库系统失去防火墙的保护,从而把数据库暴露在互联网下,成为众多黑客茶余饭后“调戏”、“攻击”的对象。

  例如,不要打开数据库的1521端口来与互联网进行连接。如果用户执意要这么做的话,则会引起很多重要的安全弱点。因为攻击者可以凭借这个弱点,打开更多的穿透防火墙的端口、多线程操作系统服务器的问题,以及泄漏防火墙后面应用服务器中的重要信息。再者,这个弱点还有可能被用来探测数据库服务器的关键细节,如利用窃听监听器来获得关键信息。因为监听器会监听该数据库的运行轨迹、登陆信息、标识信息、数据库描述服务以及服务名等等。

  所以,执意把放在企业防火墙背后的应用服务器中的某个关键端口,设置成为穿透防火墙的端口是一种很不好的安全习惯。虽然其可以带来管理上的方便,但是,出于安全考虑,笔者还是不建议管理员进行如此的配置。

  针对数据库应用服务器的访问与连接的权限控制,还有许多。以上四个方面,是大家在数据库服务器部署的时候,容易忽视的几个地方。希望这篇文章,能够给大家一些提醒。

原文出处:http://www.enet.com.cn/article/2008/1209/A20081209400265.shtml
 
 
 
 
 
 

企业安全风险管理

 
在安全风险分析过程中,“资产估价(asset valuation)”与“影响分析(impact analysis)”之间的区别是什么?
 
如果没有理解全球数据隐私法规就部署诸如身份管理、电子邮件、URL过滤、病毒扫描和员工电子监控这样的IT实践,将使做全球业务的跨国公司陷入一堆麻烦中。
 
企业确保关键FTP安全的最佳做法是什么?FTP安全状况达到可以传输敏感数据的地步了吗,或者说有什么好的方法可以让FTP更安全?
 
随着越来越多的日志记录和监测工具可供使用,在企业组织检测内部非法活动看起来似乎应该很简单。但是,内部恶意破坏的案件数量却在不断增加,为什么呢?
 
我们公司第一次制定正式的安全风险管理计划,您能提供一些安全风险管理计划示例吗,或者就安全风险管理计划应包括哪些内容给我们提供一些建议吗?

热门技术手册排行

 

虚拟专用网络 VPN(Virtual Private Network )能通过公用网络Internet建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。VPN是对企业内部网的扩展,它可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。许多公司使用VPN向公司外部的员工提供企业网络接入。本手册将围绕VPN进行全方位的讲解。

 

“最佳实践”来自英文Best Practice。维基百科对最佳实践的定义是一个管理学概念,认为存在某种技术、方法、过程、活动或机制可以使生产或者管理实践的结果达到最优,并减少出错的可能性。学习应用IT企业安全的最佳实践,其实就是借鉴别人成功的经验,让自己在保护企业安全方面少走弯路。在本手册中,将集合IT业内关于企业安全的最佳实践,并不断更新,以期在企业安全防护方面提供帮助。

 

黑客策略和技术一直都在进步。黑客还在继续开发新的攻击工具和黑客方法,来恶意访问系统并攻击你的网络,这样企业在开发和采取恰当的方法防御黑客的攻击就变得非常困难。《黑客攻击技术和策略》的技术指南将介绍黑客的内心想法,并帮助你理解恶意攻击者的动机,也提供了一些黑客攻击具体信息的方式,采用的方法以及企业应该采用的保护敏感数据的方法。这里将会提供大量黑客技术和策路的信息,例如允许黑客获取网络系统或者文件访问的系统特征探测。

 

虚拟化是数据中心的流行技术,它起源于20世纪60年代。它是把昂贵的计算机资源的利用最大化的方式。典型的服务器的利用率不足40%,虚拟化可以更有效地利用技术资源,并节约固定费用。虚拟化的最大优势是,它允许管理员从中央区域为个人电脑和客户设备提供软件。虚拟化不需要管理员对一般任务进行分别考虑。服务器的关机可以带动多用户的关机。

 

假如你正在寻找一个漏洞扫描器,你可能已经遇到了大量的非常昂贵的商业解决方案,这些方案都有一长串的性能和优点。不幸的是,如果你和我们之中大部分人的情况一样的话,你一般根本没有运行这些奇特的系统的预算。你可能已经退而求其次,转向考虑使用像SATAN或Saint的免费工具。然而,你可能觉得使用这些工具是一种折衷的办法,因为它们的性能设置不能与商业解决方案相比。这时候你就应该学会使用Nessus! 2005年12月Nessus背后的公司Tenable Network Security Inc.发布了Nessus 3,引进了对该产品的全面检查。在写这篇文章时候的最近版本,Nessus 3.2是在2008年3月发布的。Nessus现在可以在多种平台上使用,包括Windows、各种版本的Linux、FreeBSD、Solaris和Mac OS X。以下是这次Nessus3中的重大变化: 下面将介绍如何使用Nessus工具以及Nessus工具的更新。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录