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

2008-12-9    | |
打印本文章
RSS

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

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

正在加载数据...

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

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

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

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

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

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

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

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

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

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

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

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

  三、正确的鉴别客户端

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

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

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

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

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

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

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

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

原文出处:http://www.enet.com.cn/article/2008/1209/A20081209400265.shtml
来源:eNet    作者:JOAN    
  评论
 
为你的企业制定安全指标是一项艰巨的任务。然而,IT专业人员表示,在有效的安全和严重的漏洞之间制定安全指标将是截然不同的两个工作。
 
为了获得IT管理者对于安全实践的关注,Consensus Audit Guidelines为大家提供了20种控制方法来测算和监控IT系统和网络安全。
 
问:我是一名安全经理,最近想要扩充我的安全团队。公司的管理层希望我从内部服务台商提升一些员工。我应该在候选人身上寻找那些特定的素质或者经验呢?
 
问:我们公司想要采用外包服务,包括信息安全。对信息安全服务提供商的赞成和反对的理由是什么?有没有危险的境况导致安全不能外包呢?
 
我们采访到20多名专家(IT客户、分析师和供应商)来逐一解答这些问题。以下是7个热门问题及其解答,希望对您有所启示。
云计算的概念越来越流行,而且云计算被认为是一种强大的商业模式,使用云计算,可以根据需要购买计算能力、磁盘存储、协作应用开发资源、客户关系管理(CRM),而且它非常灵活。但是采用云计算会遇到与外包有关的敏感的公司数据所能遇到的所有风险。当你和第三方已知或未知的转包商交易时,特别是在全面范围内时,执行安全策略和遵从法规要求就很困难。再加上云模糊的特性以及非传统厂商进入这个市场,就更增加云的危险。
“最佳实践”来自英文Best Practice。维基百科对最佳实践的定义是一个管理学概念,认为存在某种技术、方法、过程、活动或机制可以使生产或者管理实践的结果达到最优,并减少出错的可能性。学习应用IT企业安全的最佳实践,其实就是借鉴别人成功的经验,让自己在保护企业安全方面少走弯路。在本手册中,将集合IT业内关于企业安全的最佳实践,并不断更新,以期在企业安全防护方面提供帮助。
入侵防御系统(Intrusion Prevention System,IPS)是这段时间网络安全业内比较热门的一个词,这种既能及时发现又能实时阻断各种入侵行为的安全产品,自面世那天起,就受到各大安全厂商和用户的广泛关注。本指南将帮助你深入了解IPS,并介绍专家对IPS未来的预测。
最新更新
专家答疑
技巧
Mike Rothman
问:Unix审计设置的最佳业务实践是什么?有一个厂商试图说服我Unix系统日志足够满足SOX(萨班斯法案)、HIPAA、GLBA 和PCI DSS等法规的要求。这种说法对吗?
David Griffeth
问:我们公司希望通过服务器虚拟化来节省开支。目前我们实施了单点登录,打算在虚拟化之后继续使用它。请问有没有将SSO和服务器虚拟化集成起来的最佳实践方案?
David Mortman
问:我是一名安全经理,最近想要扩充我的安全团队。公司的管理层希望我从内部服务台商提升一些员工。我应该在候选人身上寻找那些特定的素质或者经验呢?

登录TechTarget中国

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