数据库服务器安全的权限控制策略互联网
来源:asp之家 发布时间:2009-09-19 20:10:00
任何服务器,安全与性能是两个永恒的主题。作为企业的信息化安全人员,其主要任务就是如何在保障服务器性能的前提下提高服务器的安全性。而要做到这一点,服务器的访问权限控制策略无疑是其中的一个重要环节。笔者企业最近上了一台新的数据库服务器,我为他设计了一些权限控制手段。这些方法虽然不能够百分之百的保证数据库服务器的安全性,但是,这些仍然是数据库服务器安全策略中必不可少的因素。他对提高数据库服务器的安全性有着不可磨灭的作用。
其实,这些控制策略,不但对数据库服务器有效;对其他的应用服务器仍然具有参考价值。
一、给用户授予其所需要的最小权限
不要给数据库用户提供比其需要的还要多的权限。换句话说,只给用户真正需要的、为高效和简洁地完成工作所需要的权限。这个道理很容易理解。这就好像防止职业贪污一样。你若只给某个员工其完成工作所必需的费用,一分都不多给,那其从哪里贪污呢?
如从数据库服务器的角度来考虑这个问题,这就要求数据库管理员在设置用户访问权限的时候,注意如下几个方面的问题。
1.是要限制数据库管理员用户的数量。在任何一个服务器中,管理员具有最高的权限。为了让数据库维持正常的运转,必须给数据库配置管理员账户。否则的话,当数据库出现故障的时候,就没有合适的用户对其进行维护了。但是,这个管理员账户的数量要严格进行限制。不能为了贪图方便,把各个用户都设置成为管理员。如笔者企业,在一台数据库服务器中运行着两个实例,但是,只有一个数据库管理员负责数据库的日常维护。所以,就只有一个管理员账户。
2.是选择合适的账户连接到数据库。一般数据库的访问权限可以通过两种方式进行控制。一是通过前台应用程序。也就是说,其连接到数据库是一个统一的账户,如管理员账户;但是,在前台应用程序中设置了一些关卡,来控制用户的访问权限。这种方式虽然可以减少前台程序开发的工作量,但是,对于数据库服务器的安全是不利的。二是在前台程序中,就直接利用员工账户的账号登陆到数据库系统。这种做法虽然可以提高数据库的安全性,但是,其前台配置的工作量会比较繁琐。而笔者往往采用折中的方法。在数据库中有两类账户,一类是管理员账户,只有前台系统管理员才可以利用这类账户登陆到数据库系统。另外一类是普通账户,其虽然可以访问数据库中的所有非系统对象,但是,他们不能够对数据库系统的运行参数进行修改。然后具体数据对象的访问,则通过前台应用程序控制。如此,前台应用程序普通员工只需要通过同一个账户连接到数据库系统。而系统管理员若需要进行系统维护,如数据库系统备份与还原,则可以通过数据库管理员账户连接到数据库系统。则即方便了前台应用程序的配置效率,又提高了数据库服务器的安全性。总之,我们的目的就是要限制以数据库管理员身份连接到数据库的用户数量。
在其他应用服务器中,也有管理员账户与普通账户之分。在权限分配的时候,也最好只给用户授予其需要的最小权限,以保障数据库服务器的安全。
二、取消默认账户不需要的权限
在建立账户的时候,服务器往往给给其一些默认的权限。如在数据库中,Public是授予每个用户的默认角色。任何用户,只要没有指定具体的角色,则其都可以授予Public组的权限。这其中,还包括执行各种SQL语句的权限。如此,用户就有可能利用这个管理漏洞,去访问那些不允许他们直接访问的包。因为这个默认权限,对于那些需要他们并且需要合适配置和使用他们的应用来说,是非常有用的,所以,系统默认情况下,并没有禁止。但是,这些包可能不适合与其他应用。故,除非绝对的需要,否则就应该从默认缺陷中删除。
也就是说,通常某个账户的默认权限,其是比较大的。如对于数据库来说,其账户的默认权限就是可以访问所有的非系统对象表。数据库设计的时候,主要是为了考虑新建用户的方便。而且,新建用户的时候,数据库确实也无法识别这个用户到底能够访问哪些用户对象。但是,对于企业应用系统来说,若给每个员工都默认具有这么大的访问权限,那则是很不安全的。
笔者的做法是,会把应用系统的默认用户权限设置为最小,有些甚至把默认用户权限全部取消掉。这就迫使服务器管理员在建立账户的时候,给账户指定管理员预先设定的角色。这就可以有效的防止管理员“偷懒”。在建立账户的时候,不指定角色。


猜你喜欢
- 成功是一种习惯,失败也是一种习惯。你的习惯无法改变,但可以用好的习惯来替代。成功很简单,只要简单的事情重复做,养成习惯,如此而已。 以下是成
- 现在,一些网站推出了G容量的免费邮箱,引来许多网友纷纷注册使用。实际上,我们利用自己的服务器,使用任何一款邮件服务器软件,就能架设千兆甚至万
- 这段时间一直在研究产品功能整合,谈到整合就不能不说腾讯。大家说到腾讯最多时候是说COPY,当然我个人也觉得腾讯的COPY能力是很强的,但这个
- 北京时间23:00,Windows7全球发布会在纽约举行,cnBeta第一时间滚动更新报道发布实况,以下为cnBeta官方Twitter直播
- MongoDB简介:MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。是
- 在很早之前,麦田老师抛出“博客过时论”之后,就真的再也没有见麦田老师更新过博客,似乎是从本身的行动来证明自己的言论。从那时起或者是更早之前,
- HostNine 成立于2006年,至今仅仅发展了2年的时间,是一家十分年轻的虚拟主机服务商,HostNine是一个充满活力的年轻公司。作为
- 在过去的几年中,越来越多的黑客、病毒和蠕虫带来的安全问题严重影响了网站的可访问性,尽管Apache服务器也常常是攻击者的目标,然而微软的In
- 记住,“蜘蛛”是个抓取“程序”,不是“人
- 这个脚本是在LNMP论坛找到的,感觉很不错~~脚本如下:#!/bin/bash#function:cut nginx log files f
- 我曾经写过一篇文章叫“不要在国内注册域名”,讨论不要使用国内的域名注册商进行域名注册,甚至不要用使用国内网站查询域名,之后我发现有很多人留言
- 我想只要是使用过QQ的朋友都使用过QQ群吧。QQ群的优点大家一想便知,一群志趣相投的朋友可以坐在一起不受约束地聊天,可以发文字,图片,音视频
- 1、http2.4.1以前: 第一种 直接拒绝访问打开 httpd.conf 文件,将一下配置追加到文件最后。<
- Ubuntu虚拟机下使用cutecom进行串口通信1. 安装cutecom使用以下命令安装cutecomsudo apt-get insta
- 怎样设置Godaddy域名的Google邮局呢?下面来自Google官方的教程:通过 http://www.godaddy.com 登录到您
- 通常,当我们开发Linux程序时有两种方案:在Linux上直接编写程序并进行运行测试和调试在Windows或Mac OS X上借助工具进行远
- 11月19日,《魔兽世界》在中国大陆的运营商网易(Nasdaq:NTES)发布三季度财报,期内其毛利润为6.27亿元,上一季度和去年同期分别
- 据有关资料显示,现在有大量的服务器仍在使用IIS提供Web服务,甚至有争夺占领Apache市场的趋势。在Web威胁日益严重的今天,我们当然要
- DNS分为Client和Server,Client扮演发问的角色,也就是问 Server 一个Domain Name,而Server必须要回
- 不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服务器都是linux系统的,而自己属于那种前端也搞,后台也搞,对框架搭建也感兴趣