2008-4-2 08:45
lonjew
Oracle数据库安全性设计建议
Oracle数据库安全性设计建议
一、 什么是
安全
的系统
安全
性建设是一个长期并且卓绝的工作。作为一个符合标准的企业级系统,我们认为税务系统应该具备以下的
安全
性特点:
高可用性
对敏感数据的访问控制能力。
监测用户行为的审计能力。
用户帐号管理的有效性和扩充性
二、 从哪些方面作
安全
性检查
一个企业级系统的
安全
性建设并不仅仅局限于软件技术方面的设置和控制,甚至我们可以说,技术仅仅位于一个补充和提高现有
安全
性的地位上。通常,应该按照重要性依次进行如下的
安全
性检查。
物理层面的控制
控制物理接触是系统
安全
性建设的第一步,也是最会有成效,最应该优先执行的一步。
权威
安全
研究显示,70% 的信息系统数据损失和攻击都是由“内部人”(即具备某种系统及其数据访问权限的用户)造成和发起的。
比如,授权人员才可以进入机房,管理人员的密码不要记录在显眼的地方,离开个人终端锁定屏幕,等等,这些建议看上去似乎比较琐碎。但是如果缺少了这些意识,即使我们运用了再好的
安全
性技术,再复杂的数据分离技术,当一个人可以接近需要保护的
服务器
,当一个人可以通过窃取的密码接近需要保护的数据,那么一切的
安全
性建设都将是一个摆设。
千里之堤,毁于蚁穴。一个牢固的堤坝不会因为外界洪水的冲击而倒塌,却会崩坏于隐藏在自身内部的蛀虫。
所以,最佳的方法是不要让蚂蚁靠近堤坝。
安全
性流程建设
实施
安全
性建设之后,必须要有一个详细周密而且行之有效的流程控制(Process Control)。其中行之有效是我们应该注意的。
有时候会听到抱怨,在增强了
安全
性建设的系统中,维护人员由于分工过细,导致整个系统的应变能力下降,维护成本提高,管理效率降低。以前一个人可以在10分钟内作好的修改,现在却要途经3,4个人之手,耗时1-2天还不一定能够做完。
过犹不及,建立一个符合企业自身需求的
安全
性流程是我们应该优先考虑的。
普遍性的
安全
性措施
不仅仅是Oracle数据库系统,作为一个具有领先性的IT系统,都应该包括以下的
安全
性措施。
1. 只安装需要的软件
每个软件都有缺陷,对于Oracle数据库软件来说,自定义安装,只选取需要的组件,少作少错,这一点在
安全
性方面显得尤为重要,一个具有潜在
安全
性漏洞的组件,如果它没有被安装。那它就不会影响整个系统。
2. 锁定或者失效默认用户
对于Oracle数据库系统来说,安装的时候会有一系列的默认用户生成,应该在数据库安装完毕之后,经过功能筛选,锁定或者失效这些用户。
3. 修改可用用户的默认密码
不能锁定或者失效的用户,必须修改默认密码。比如具有SYSDBA权限的SYS用户和具有DBA权限的SYSTEM用户,都应该修改默认密码。至于密码长度和复杂性的有效控制在后面将会谈到。
4. 限制操作系统存取权限
Oracle数据库系统是依存在操作系统之上的,如果操作系统被人侵入,那么通过修改配置文件等一系列方法,Oracle数据库的
安全
性也将荡然无存。
5. 定期更新厂家推出的
安全
性补丁
随着时间的推移,厂家通常会推出一系列的
安全
性补丁来弥补现有系统的
安全
隐患。
对于Oracle数据库而言,应该定期查看以下网址来获取Oracle公司最新的
安全
性警告和解决方案。 http://www.
oracle
.com/technology/deploy/security/alerts.htm
Oracle数据库本身的
安全
性建设
从总体上而言,Oracle数据库是业界
安全
性方面最完备的数据库产品。在数据库
安全
性的国际标准中,Oracle通过了14项标准的测试,是所有数据库产品中通过
安全
性标准最多、最全面的产品。Oracle在C2级的操作系统上(如商用UNIX,VMS操作系统),不仅满足NCSC C2级
安全
标准,而且已经正式通过了NCSC C2标准的测试。在B1级的操作系统上不仅满足NCSC B1级
安全
标准,而且已经通过了NCSC B1级标准的测试。
Oracle提供的主要
安全
性措施如下:
身份认证功能(Authentication):识别访问个体的身份
数据访问的机密性(Confidentialty):保证敏感数据访问的机密性。
数据完整性(Integrity):保证数据不被篡改。
授权能力(Authorization):保证被授权用户对数据的查询和修改能力。
访问控制(Access Control):确定对指定数据的访问能力。
审计能力(Auditing):提供监测用户行为的能力。
私有性(Privacy):提供对敏感数据访问的私密性。
高可用性(Availability):保证数据和系统提供不间断服务的能力。
代理管理能力(Delegated Administration):提供对用户帐号的集中管理功能。
下面将就应用系统本身对于Oracle提供的
安全
性措施作更深入的探讨。
三、 Oracle的
安全
性领域
Profile控制
Oracle利用profile机制来管理会话资源占用,同时也管理用户密码的
安全
策略。
通过profile我们可以实现:
某个特定用户最多只能占用系统百分之几的CPU时间?
某个特定用户连接到数据库之后能存活多长时间?
某个特定用户连接到数据库之后多长时间处于非活跃状态就将被系统中断连接?
用户登录密码输入错误多少次之后就将自动锁定用户?
用户密码的长度和包含的字符必须符合什么样的规则?
用户密码在多少天后将自动失效并要求设定新密码?
用户权限控制 (Privilage)
Oracle通过角色(Role),权限(Privilage)等的一系列授予(Grant)和回收(Revoke)操作可以有效的进行用户的权限控制。