ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:112.93KB ,
资源ID:3048490      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3048490.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(推荐下载中国移动Oracle数据库安全配置手册 精品.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

推荐下载中国移动Oracle数据库安全配置手册 精品.docx

1、推荐下载中国移动Oracle数据库安全配置手册 精品密 级:文档编号:项目代号:中国移动Oracle数据库安全配置手册Version 1.0中国移动通信有限公司二零零四年十一月拟 制:审 核:批 准:会 签:标准化:版本控制版本号日期参与人员更新说明分发控制编号读者文档权限与文档的主要关系1创建、修改、读取负责编制、修改、审核2批准负责本文档的批准程序3标准化审核作为本项目的标准化负责人,负责对本文档进行标准化审核4读取5读取 第一章 目的与范围1.1 目的为了加强中国移动集团下属各公司的网络系统安全管理,全面提高中国移动集团下属各公司业务网和办公网的网络安全水平,保证网络通信畅通和信息系统的

2、正常运营,提高网络服务质量,特制定本方法。本文档旨在于规范中国移动集团下属各公司对Oracle数据库进行的安全加固。1.2适用范围本手册适用于对中国移动集团下属各公司业务网和办公网系统的数据库系统加固进行指导。1.3数据库类型数据库类型为Oracle9i Enterprise Edition。第二章 数据库安全规范2.1 操作系统安全要使数据库安全,首先要使其所在的平台和网络安全。然后就要考虑操作系统的安全性。Oracle使用大量用户不需要直接访问的文件。例如,数据文件和联机重做日志文件只能通过Oracle的后台进程进行读写。因此,只有要创建和删除这些文件的数据库管理员才需要在操作系统级直接访

3、问它们。导出转储文件和其他备份文件也必须受到保护。可以把数据复制到其他数据库上,或者是作为复制模式的一部分,或者是提供一个开发数据库。若要保护数据的安全,就要对数据所驻留的每一个数据库及这些数据库的备份进行保护。如果某人能从含有你的数据备份的数据库中带走备份磁带,那么你在数据库中所做的全部保密工作就失去意义。必须防止对全部数据备份的非法访问。2.2 帐户安全为了避免数据库帐户大量耗费系统资源,影响其它用户的正常访问,可以根据应用的实际需要,对数据库帐户所使用的资源(如CPU等)进行限制。这样可以控制恶意攻击者发起大量的连接及事务破坏数据库系统的正常运行,限制数据库帐户的系统资源可以用profi

4、le实施。此外,数据库创建后,会存在一些内建的帐户,这些帐户都有初始密码。出于安全的考虑,需要修改这些内建帐户的初始密码,防止恶意攻击者以众所周知的初始密码登录数据库。另外,对不使用的帐户应锁定,消除帐户安全隐患。2.3密码安全用户登录数据库的密码非常重要,一旦密码被窃听,数据库的安全就面临严重的威胁。从Oracle 7.1开始,client 远程连接数据库,Oracle Net 会自动对通过网络传输的登录密码进行加密,保证密码不被明文传输而被窃听。在Oracle7.1之前,可在sqlnet.ora中设置ora_encrypt_login=true。此外,对密码进行严格的管理。可以使用prof

5、ile来管理口令的终止、重新使用和复杂性。例如,可以限制一个口令的寿命、锁定口令过旧的帐户等。也可以强制一个口令至少有一定程度的复杂性并锁定一个多次注册失败的帐户。这样可以有效地防止黒客猜测帐户口令,减少口令安全隐患。2.4 访问权限安全对帐户的访问权限进行严格控制,给予帐户需要的最少权限,包括系统权限和对象权限。对象权限可以实施到数据库对象的字段级别。2.5 日志记录Oracle的警告日志alertsid.log里记录有数据库的关键活动,如删除表空间等,出于安全的考虑,需有规律地检查警告日志。2.6 加密 为了保证敏感数据从client到server在传输过程中不被窃听,可以对数据进行加密,

6、以密文进行传输。2.7 管理员客户端安全为了防止恶意用户冒名顶替管理员从远端客户机连接数据库进行破坏,可以对远端数据库的IP地址进行限定。当然这种方法如果和网络安全一起实施,会更加安全。2.8 安全补丁Oracle虽然具有很高的安全性,但是不可避免还是有安全漏洞,一个比较安全的办法是时刻关注Oracle的安全公告,并及时安装安全补丁。安全公告和补丁位置如下:http:/otn.oracle./deploy/security/alerts.htm2.9 审计出于数据库的安全,需要实施审计以跟踪重要的或可疑的数据库活动。审计通常被认为是最有效的安全机制,它确保系统的合法用户做他们应该做的事情,并且

7、能够阻止用户滥用或误用访问权限。通过审计,一个公司可以跟踪其各个用户的活动,从而发现安全上的缺陷。另外,如果用户知道他们正在被跟踪审计,那么就可能降低他们滥用职权的可能性。因为传统型的审计产生数量极大的数据,所以这就很难从中发现有用的信息,因此,Oracle9i引进了精确细化的审计。使用这种广泛精确细化的审计,可以更容易地发现安全缺陷。例如,如果为重复选择社会身份认证号码制定了一条审计策略,则当重复选择该社会身份认证号码时,就会自动发生警报,以警告可能被入侵的部门的系统管理员。然后系统管理员就能采取终止非法数据库会晤的措施。 由服务器强制进行的审计捕获用户的活动、系统权限、语句或者对象 触发器

8、能够记录未被自动包含在审计追踪中的定制信息 精细粒度的、可扩展的审计功能使机构能够定义具体的审计政策,以便在恶意入侵发生时,立刻识别、警告和解决这一入侵-而不管它是来自机构外部还是机构内部 事件处理器提供了确定如何处理由触发器启动的某一审计事件的灵活性 通过保存初始连接的登录用户及以该用户名义进行操作的用户的身份来审计多层系统中的活动第三章 数据库安全配置手册3.1 Oracle数据库安全配置方法3.1.1 基本漏洞加固方法1、 操作系统安全性编号:001名称:操作系统安全性重要等级:高基本信息:若要访问一个数据库,必须首先能够以直接或非直接方式访问正在运行该数据库的服务器。要使数据库安全,首

9、先要使其所在的平台和网络安全。然后就要考虑操作系统的安全性。Oracle使用大量用户不需要直接访问的文件。例如,数据文件和联机重做日志文件只能通过Oracle的后台进程进行读写。因此,只有要创建和删除这些文件的数据库管理员才需要在操作系统级直接访问它们。导出转储文件和其他备份文件也必须受到保护。可以把数据复制到其他数据库上,或者是作为复制模式的一部分,或者是提供一个开发数据库。若要保护数据的安全,就要对数据所驻留的每一个数据库及这些数据库的备份进行保护。如果某人能从含有你的数据备份的数据库中带走备份磁带,那么你在数据库中所做的全部保密工作就失去意义。必须防止对全部数据备份的非法访问。检测内容:

10、 检查承载平台的安全 检查网络的安全建议操作:参见主机和网络安全方案操作结果:无操作结果:确保权限最小化2、 用户环境文件编号:002名称:用户环境文件重要等级:高基本信息:可以使用用户环境文件profile来限制可由用户使用的系统和数据库资源并管理口令限制。如果数据库中没有创建环境文件,将使用缺省环境文件;缺省环境文件指定对于所有用户资源没有限制。检测内容: 检查系统环境文件建议操作:明确环境文件创建是否合理:操作结果:确保资源调用最小化3、 内建帐户编号:003名称:内建帐户连接重要等级:中基本信息:数据库有一些内建帐户,使用这些内建帐户的默认密码,就可以访问该数据库。对不需要使用的内建帐

11、户进行锁定。检测内容: 检查内建帐户的默认密码是否改变,不需要使用的内建帐户是否已锁定。建议操作: 修改 OUTLN密码ALTER USER outln IDENTIFIED BY ; 修改DBSNMP密码ALTER USER dbsnmp IDENTIFIED BY ;编辑$ORACLE_HOME/network/admin/snmp_rw.ora,更改如下行: SNMP.CONNECT.PASSWORD = 其中, 是数据库服务名,是新密码 修改SCOTT密码ALTER USER scott IDENTIFIED BY ; 锁定没有使用的内建帐户ALTER USER xxx ACCOUNT

12、 LOCK;操作结果:无4、 口令管理编号:004名称:口令管理重要等级:高基本信息:在Oracle中,可以使用profile来管理口令的终止、重新使用和复杂性。例如,可以限制一个口令的寿命、锁定口令过旧的帐户。也可以强制一个口令至少有一定程度的复杂性并锁定一个多次注册失败的帐户。检测内容: 检查系统口令设置情况建议操作:如果设置用户环境文件的FAILED_LOGIN_ATTEMPTS资源为5,该帐户允许连续注册失败5次,第6次就会引起帐户被锁定。若要防止一个口令重新使用,可以使用两个环境文件参数的其中一个:PASSWORD_REUSE_MAX或PASSWORD_REUSE_TIME。这两个参

13、数互不相容:如果给其中的一个设了值,另一个就必须设为UNLIMITED。PASSWORD_REUSE_TIME参数规定一个口令可以重新使用前必须经过的天数。例如,如果设置PASSWORD_REUSE_TIME为6 0天,则在6 0天内不能使用同一个口令。PASSWORD_REUSE_MAX参数指定一个口令可以重新使用前必须对其改变的次数。如果试图在这个限制到达前重新使用该口令,Oracle会拒绝口令的修改。可以强制用户的口令符合复杂度标准。例如,可以要求口令的最小长度、不是一些简单的词、至少包括一个数字或标点符号。create profile 和alter profile 命令的PASSWOR

14、D_VERIFY_FUNCTION参数指定用于评估口令的函数名。如果用户提出的口令不符合要求,就不会被接受。操作结果:确保口令安全5、 登陆口令编号:005名称:登陆口令重要等级:高基本信息:对于Oracle7.1以前,当从一个客户机连接到数据库服务器,或者通过数据库链接从一个数据库连接到另一个数据库时,除非指定其他形式,否则Oracle将以非加密的形式传输输入的口令。对于Oracle7.1以前,可以设置参数来强制Oracle在传输前将口令值加密。对于Oracle 7.1及以后,Oracle默认将以加密的形式传输输入的口令,不需另外手工配置。检测内容: 检查是否设置了口令加密建议操作:对于Or

15、acle7.1以前,若要启用口令加密,需设置以下参数: 对于客户机,把sqlnet.ora文件中的ORA_ENCRYPT_LOGIN参数设为TRUE。 对于服务器, 把init.ora文件中的DBLINK_ENCRYPT_LOGIN参数设为TRUE。一旦这些参数被设置(并且关闭和重新启动数据库),口令将以加密的形式在客户机到服务器和服务器到服务器之间传送。操作结果:确保登陆安全6、 口令文件验证编号:006名称:口令文件验证重要等级:高基本信息:DBA用户可以由操作系统验证。例如在UNIX系统上,/etc /group文件中DBA组的成员可以内部连接。如果从远程DBA用户连接数据库,建议使用口

16、令文件验证。检测内容: 检查口令文件情况建议操作:1) 使用ORAPWD实用程序创建口令文件。ORAPWD FILE=filename PASSWORD=password ENTRIES=max_users ORAPWD是一个生成口令文件的Oracle实用程序。执行ORAPWD时,除了SYS访问的口令外,还规定要创建的口令文件的名称。ENTRIES参数通知Oracle,要在口令文件中创建多少条目。由于不能在以后扩展该文件,因此要把ENTRIES值设得高一些。如果超出口令文件条目数的范围限额,就收到一个ORA-1996错误。重建该口令文件时,需要重新授予SYSDBA和SYSOPER权限。2) 将

17、init.ora文件中的REMOTE_LOGIN_PASSWORDFILE初始参数设置成EXCLUSIVE,关闭并重新启动数据库,以便变更的参数起作用。3) 将SYSOPER和SYSDBA权限授予需要进行数据库管理的每一个用户。SYSDBA授予用户数据库管理员的权限;SYSOPER使用户能执行数据库操作支持活动。为了授予用户SYSOPER或SYSDBA权限,必须在内部连接。被受权用户现在应能通过使用一个与下述命令类似的命令与数据库连接: connect george/mch11PROD.WORLD AS SYSDBA如下面例子所示,可以用revoke命令撤消一个用户的SYSDBA或SYSOPE

18、R权限:revoke SYSDBA from George;若要查看具有SYSDBA或SYSOPER系统权限的用户,可以查询V$PWFILE_USERS。如果用户拥有SYSDBA权限,V$PWFILE_USERS在其SYSDBA列中将有一个TRUE值;如果拥有SYSOPER权限,将在其SYSOPER列中有一个TRUE值。操作结果:无7、 系统权限编号:007名称:系统权限重要等级:高基本信息:可以使用系统级角色分派以管理数据库的系统级命令。下表列出了Oracle提供的11个系统级角色。使用这些角色就能对授予数据库管理角色的系统级权限进行限制。检测内容: 检查所有用户的权限 检查网络的安全建议操

19、作:明确每个用户的权限级别归属:是否有必要8、 对象权限编号:008名称:对象权限重要等级:高基本信息:对象级权限(object-level privilege)使用户可以访问不属于自己的数据。可以使用角色来减少权限的管理。显式权限也可以使用,并且在一些情况下是必须的。权限通过grant命令创建,存于数据字典中。对表、视图、序列(以及它们的同义词)的访问,加上执行过程、函数、软件包及类型的能力都可以授权给用户。检测内容: 检查对象权限建议操作:下表列出了可以授予对象的权限。可以使用with grant option子句向授与用户传递授权能力,以便在基对象上进一步授权。随着角色的出现,这些权限的

20、管理就容易了。角色是成组的权限,角色可授给用户,这样就大大简化了权限管理进程。操作结果:确保权限最小化9、 日志记录编号:509名称:警告日志文件重要等级:高基本信息:Oracle的警告日志alertsid.log里记录有数据库的关键活动,如删除表空间等,出于安全的考虑,需有规律地检查警告日志。检测内容: 检查警告日志文件建议操作:明确关键的数据库活动是否合理:操作结果:无3.1.2 特定漏洞加固方法一、 对传输数据进行加密如果需要对客户端和服务器端传输的数据进行加密,以防数据窃听,可以修改客户端和服务器端的sqlnet.ora文件,对传输的数据进行加密,以避免明文在网络上的传输。具体请参阅O

21、racle Advanced Security Administrators GuideConfiguring Data Encryption and Integrity二、对于访问数据库的客户端IP地址进行配置。数据库监听客户端IP地址的连接记录,存储在/$oracle/log/listener.log文件里,请管理员定期查看和分析该日志文件。在/$oracle/network/admin目录下修改SQLNET.ORA文件,增加如下内容:tcp.validnode_checking=YEStcp.excluded_nodes=(192.168.0.1)对于访问数据库客户端IP的限制,借助操作

22、系统或者防火墙等设备实现也是可行的。三、安装最新补丁程序Oracle虽然具有很高的安全性,但是不可避免还有安全漏洞,一个比较安全的办法是时刻关注Oracle的安全公告,并及时安装安全补丁。安全公告和补丁位置如下:http:/otn.oracle./deploy/security/alerts.htm由于涉及Oracle数据库的业务都是非常关键的,在安装安全补丁前一定要做好备份工作,联系Oracle公司或者你的开发商,定时做补丁升级是非常必要的。四、对敏感的数据库活动实施审计对敏感的数据库活动,如删除表等进行审计。Oracle提供的数据库审计类型有: 语句审计:监视由一个或者多个特定用户或者所有

23、用户提交的SQL语句。这种类型的审计范围非常广。 特权审计:监视数据库里一个或者多个特定用户或者所有用户使用的系统权限,比如audit create table。这种类型的审计范围是中等的。 模式对象审计:监视一个模式里在一个或者多个对象上发生的行为,比如:audit insert into EMPLOYEES。这种类型的审计是非常有重点的,范围狭窄。设定初始化参数audit_trail为DB或OS。DB表示将审计记录写到数据库的AUD$表里; OS表示将审计记录写到操作系统文件中,默认生成在$ORACLE_HOME/rdbms/audit目录,审计文件也可以用初始化参数AUDIT_FILE_

24、DEST另外指定。启用审计在AUDIT_OPTIONS表里有144个可以审计的审计命令,如:create table, insert, select等。根据实际需要确定要审计的类型,比如,若需知道什么时候一个新表被加到数据库,可通过下列命令启用审计:audit create table by ;查询审计select * from dba_audit_trail;五、用户管理5-1 过多的用户被授予DBA的权限用命令SELECT 的DBA选项列出所有被授予了DBA角色的用户,根据需要分配用户角色,命令:SELECT GRANTEE FROM DBA_ROLE_PRIVS WHERE GRANTE

25、D=DBA。5-2 存在把权限授给PUBLIC的情况删除不需要的帐号,比如SCOTT等示例用户;对于不明确是否能删除的用户可以暂时锁定该用户,或赋予非常复杂的口令。删除用户及其所有的数据对象命令:drop user dbuser cascade;取消用户角色权限:revoke connect from dbuser;应检查的用户名包括:SCOTT, DBSNMP, TRACESVR, CTXSYS, MDSYS, DEMO, CTXDEMO, APPLSYS, PO8, NAMES, SYSADM, ORDPLUGIN, OUTLN, ADAMS, BLAKE, JONES, CLARK, A

26、URORA$ORB$UNAUTHENTICATED, APPS。5-3 连接时使用空口令。修改口令文件PROFILE,防止利用空口令或默认口令进行连接。六、限制UTL_FILE的使用与应用系统开发商确认是否有用户需要使用UTL_FILE程序包。如果没有用户使用,应收回普通用户对该包的执行权限。如果确实有用户需要使用UTL_FILE包,应确保只有确实需要的用户才拥有UTL_FILE的执行权。同时在init.ora中设定参数“UTL_FILE_DIR”使用UTL_FILE包的程序确实需要访问的目录。与应用系统开发商商议,是否可以改变DB_LINK的创建方式,在创建DB_LINK时不指定用户名和口令

27、。七、数据库配置:数据库配置未采用数据字典保护。检查初始化参数O7_DICTIONARY_ACCESSIBILITY是否为FALSE。该参数为FALSE, 将阻止具有ANY 权限的用户访问数据字典基表,以有力地保护数据字典。此参数的修改需要重启数据库才能生效.Default:Oracle 8i:TUREOracle9i: FALSE八、关闭HTTP ServerHTTP Server用于通过HTTP访问数据库,如EM和动态服务。若无必要,关闭该server:$ cd $ORACLE_HOME/Apache/Apache/bin$ apachectl stop九、关闭远程数据库验证远程数据库验证

28、只用于当你信任客户端用户时采用。这种验证机制是:用户在客户端验证,当用户登录数据库时不再需要用服务器端数据库密码验证,故称为远程数据库验证。为加强安全起见,关闭远程数据库验证。设定初始化参数REMOTE_OS_AUTHENT = FALSE十、实施VPD 和 Oracle Label Security如有必要,在普通的数据库安全机制外,还可实施另一种新的安全机制,称为VPD(虚拟专用数据库),帮助从数据库内部提供有效的安全。这种安全机制的原理是从用户登录到数据库开始,预先为特定用户设定的自定义的安全策略发生作用,使得当用户提交一个查询(或insert,update,delete)时,自动地加上

29、相应的where子句,这样细粒度的访问控制被Oracle自动实现和保证,对用户和应用透明。例如, 使用以下查询从数据库里查询数据:select * from customers;如果customers表里有一个相关的安全策略来限制销售代表只能查看自己顾客的信息,这个查询将被自动地重写为:select * from customers where sales_rep_id=sys_context(hr_context, sales_id);比如说,A,B两位销售代表键入的是同一条SQL语句, select * from customers, 但返回的结果不同:A返回的是select * from

30、 orders where sales_rep_id=406, B返回的是select * from orders where sales_rep_id=152,也就是说某个销售代表只能访问到他本人的销售的信息,其他销售代表的信息则访问不了。被安全策略自动地加到用户的查询上的where子句确保该销售代表只能查看到他自己的客户数据,别人的数据看不到。销售代表的ID从用户定义的应用程序上下文hr_context里得到。在VPD里,仍然需要授予用户对每个表的适当的权限,但是你不需要创建视图和过程来防止用户访问其他客户的数据。因此,不必担心用户通过SQL*PLUS等访问到他们不该访问的数据。创建和配置VPD的步骤如下: 确定数据库对象和它们的关系

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2