




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、oracle 数据库数据库 安全配置手册安全配置手册 version 1.0 版本控制版本控制 版本号版本号日期日期参与人员参与人员更新说明更新说明 1.020131217 王峰 目目 录录 第一章第一章 目的与范围目的与范围.1 1.1 目的.1 1.2 适用范围.1 1.3 数据库类型.1 第二章第二章 数据库安全规范数据库安全规范.1 2.1 操作系统安全.1 2.2 帐户安全.2 2.3 密码安全.2 2.4 访问权限安全.2 2.5 日志记录.3 2.6 加密.3 2.7 管理员客户端安全.3 2.8 安全补丁.3 2.9 审计.3 第三章第三章 数据库安全配置手册数据库安全配置手册
2、.4 3.1 oracle数据库安全配置方法 .4 3.1.1 基本漏洞加固方法.4 3.1.2 特定漏洞加固方法.12 第一章第一章 目的与范围目的与范围 1.1 目的目的 为了加强宝付的数据安全管理,全面提高宝付各业务系统的数据安全水平, 保证业务系统的正常运营,提高业务服务质量,特制定本方法。 本文档旨在于规范宝付对各业务系统的 oracle 数据库进行安全加固处理。 1.2 适用范围适用范围 本手册适用于对宝付公司的各业务系统的数据库系统加固进行指导。 1.3 数据库类型数据库类型 数据库类型为 oracle 11g。 第二章第二章 数据库安全规范数据库安全规范 2.1 操作系统安全操
3、作系统安全 要使数据库安全,首先要使其所在的平台和网络安全。然后就要考虑操作 系统的安全性。oracle 使用大量用户不需要直接访问的文件。例如,数据文件 和联机重做日志文件只能通过 oracle 的后台进程进行读写。因此,只有要创建 和删除这些文件的数据库管理员才需要在操作系统级直接访问它们。导出转储 文件和其他备份文件也必须受到保护。可以把数据复制到其他数据库上,或者 是作为复制模式的一部分,或者是提供一个开发数据库。若要保护数据的安全, 就要对数据所驻留的每一个数据库及这些数据库的备份进行保护。如果某人能 从含有你的数据备份的数据库中带走备份磁带,那么你在数据库中所做的全部 保密工作就失
4、去意义。必须防止对全部数据备份的非法访问。 2.2 帐户安全帐户安全 为了避免数据库帐户大量耗费系统资源,影响其它用户的正常访问,可以 根据应用的实际需要,对数据库帐户所使用的资源(如 cpu 等)进行限制。这 样可以控制恶意攻击者发起大量的连接及事务破坏数据库系统的正常运行,限 制数据库帐户的系统资源可以用 profile 实施。 此外,数据库创建后,会存在一些内建的帐户,这些帐户都有初始密码。 出于安全的考虑,需要修改这些内建帐户的初始密码,防止恶意攻击者以众所 周知的初始密码登录数据库。另外,对不使用的帐户应锁定,消除帐户安全隐 患。 2.3 密码安全密码安全 用户登录数据库的密码非常重
5、要,一旦密码被窃听,数据库的安全就面临 严重的威胁。从 oracle 7.1 开始,client 远程连接数据库,oracle net 会自动对 通过网络传输的登录密码进行加密,保证密码不被明文传输而被窃听。在 oracle7.1 之前,可在 sqlnet.ora 中设置 ora_encrypt_login=true。 此外,对密码进行严格的管理。可以使用 profile 来管理口令的终止、重新 使用和复杂性。例如,可以限制一个口令的寿命、锁定口令过旧的帐户等。也 可以强制一个口令至少有一定程度的复杂性并锁定一个多次注册失败的帐户。 这样可以有效地防止黒客猜测帐户口令,减少口令安全隐患。 2.
6、4 访问权限安全访问权限安全 对帐户的访问权限进行严格控制,给予帐户需要的最少权限,包括系统权 限和对象权限。对象权限可以实施到数据库对象的字段级别。 2.5 日志记录日志记录 oracle 的警告日志 alertsid.log 里记录有数据库的关键活动,如删除表空间 等,出于安全的考虑,需有规律地检查警告日志。 2.6 加密加密 为了保证敏感数据从 client 到 server 在传输过程中不被窃听,可以对数据进 行加密,以密文进行传输。 2.7 管理员客户端安全管理员客户端安全 为了防止恶意用户冒名顶替管理员从远端客户机连接数据库进行破坏,可 以对远端数据库的 ip 地址进行限定。当然这
7、种方法如果和网络安全一起实施, 会更加安全。 2.8 安全补丁安全补丁 oracle 虽然具有很高的安全性,但是不可避免还是有安全漏洞,一个比较 安全的办法是时刻关注 oracle 的安全公告,并及时安装安全补丁。安全公告和 补丁位置如下: http:/ 2.9 审计审计 出于数据库的安全,需要实施审计以跟踪重要的或可疑的数据库活动。审 计通常被认为是最有效的安全机制,它确保系统的合法用户做他们应该做的事 情,并且能够阻止用户滥用或误用访问权限。通过审计,一个公司可以跟踪其 各个用户的活动,从而发现安全上的缺陷。另外,如果用户知道他们正在被跟 踪审计,那么就可能降低他们滥用职权的可能性。因为传
8、统型的审计产生数量 极大的数据,所以这就很难从中发现有用的信息,因此,oracle9i 引进了精确 细化的审计。使用这种广泛精确细化的审计,可以更容易地发现安全缺陷。例 如,如果为重复选择社会身份认证号码制定了一条审计策略,则当重复选择该 社会身份认证号码时,就会自动发生警报,以警告可能被入侵的部门的系统管 理员。然后系统管理员就能采取终止非法数据库会晤的措施。 由服务器强制进行的审计捕获用户的活动、系统权限、语句或者对象 触发器能够记录未被自动包含在审计追踪中的定制信息 精细粒度的、可扩展的审计功能使机构能够定义具体的审计政策,以便 在恶意入侵发生时,立刻识别、警告和解决这一入侵-而不管它是
9、来自机构外 部还是机构内部 事件处理器提供了确定如何处理由触发器启动的某一审计事件的灵活性 通过保存初始连接的登录用户及以该用户名义进行操作的用户的身份来 审计多层系统中的活动 第三章第三章 数据库安全配置手册数据库安全配置手册 3.1 oracle 数据库安全配置方法数据库安全配置方法 3.1.1 基本漏洞加固方法 1、操作系统安全性 编号:001名称: 操作系统安全性 重要等级:高 基本信息: 若要访问一个数据库,必须首先能够以直接或非直接方式访问正在运行该数据库的服 务器。要使数据库安全,首先要使其所在的平台和网络安全。然后就要考虑操作系统的安 全性。oracle 使用大量用户不需要直接
10、访问的文件。例如,数据文件和联机重做日志文件 只能通过 oracle 的后台进程进行读写。因此,只有要创建和删除这些文件的数据库管理员 才需要在操作系统级直接访问它们。导出转储文件和其他备份文件也必须受到保护。可以 把数据复制到其他数据库上,或者是作为复制模式的一部分,或者是提供一个开发数据库。 若要保护数据的安全,就要对数据所驻留的每一个数据库及这些数据库的备份进行保护。 如果某人能从含有你的数据备份的数据库中带走备份磁带,那么你在数据库中所做的全部 保密工作就失去意义。必须防止对全部数据备份的非法访问。 检测内容: 检查承载平台的安全 检查网络的安全 建议操作: 参见主机和网络安全方案 操
11、作结果: 无 操作结果: 确保权限最小化 2、用户环境文件 编号:002名称: 用户环境文件 重要等级:高 基本信息: 可以使用用户环境文件profile 来限制可由用户使用的系统和数据库资源并管理口令限 制。如果数据库中没有创建环境文件,将使用缺省环境文件;缺省环境文件指定对于所有 用户资源没有限制。 检测内容: 检查系统环境文件 建议操作: 明确环境文件创建是否合理: 操作结果: 确保资源调用最小化 3、内建帐户 编号:003名称: 内建帐户连接 重要等级:中 基本信息: 数据库有一些内建帐户,使用这些内建帐户的默认密码,就可以访问该数据库。 对不需要使用的内建帐户进行锁定。 检测内容:
12、检查内建帐户的默认密码是否改变,不需要使用的内建帐户是否已锁定。 建议操作: 修改 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
13、lock; 操作结果: 无 4、口令管理 编号:004名称: 口令管理 重要等级:高 基本信息: 在 oracle 中,可以使用 profile 来管理口令的终止、重新使用和复杂性。例如,可以限制 一个口令的寿命、锁定口令过旧的帐户。也可以强制一个口令至少有一定程度的复杂性并 锁定一个多次注册失败的帐户。 检测内容: 检查系统口令设置情况 建议操作: 如果设置用户环境文件的 failed_login_attempts 资源为 5,该帐户允许连续注册失 败 5 次,第 6 次就会引起帐户被锁定。 若要防止一个口令重新使用,可以使用两个环境文件参数的其中一个: password_reuse_max
14、 或 password_reuse_time。这两个参数互不相容:如果 给其中的一个设了值,另一个就必须设为 unlimited。password_reuse_time 参数 规定一个口令可以重新使用前必须经过的天数。例如,如果设置 password_reuse_time 为 6 0 天,则在 6 0 天内不能使用同一个口令。 password_reuse_max 参数指定一个口令可以重新使用前必须对其改变的次数。如果 试图在这个限制到达前重新使用该口令,oracle 会拒绝口令的修改。 可以强制用户的口令符合复杂度标准。例如,可以要求口令的最小长度、不是一些简单的 词、至少包括一个数字或标点
15、符号。create profile 和 alter profile 命令的 password_verify_function 参数指定用于评估口令的函数名。如果用户提出的口 令不符合要求,就不会被接受。 操作结果: 确保口令安全 5、登陆口令 编号:005名称: 登陆口令 重要等级:高 基本信息: 对于 oracle7.1 以前,当从一个客户机连接到数据库服务器,或者通过数据库链接从一个 数据库连接到另一个数据库时,除非指定其他形式,否则 oracle 将以非加密的形式传输输 入的口令。对于 oracle7.1 以前,可以设置参数来强制 oracle 在传输前将口令值加密。对 于 oracle
16、 7.1 及以后,oracle 默认将以加密的形式传输输入的口令,不需另外手工配置。 检测内容: 检查是否设置了口令加密 建议操作: 对于 oracle7.1 以前,若要启用口令加密,需设置以下参数: 对于客户机,把 sqlnet.ora 文件中的 ora_encrypt_login 参数设为 true。 对于服务器, 把 init.ora 文件中的 dblink_encrypt_login 参数设为 true。 一旦这些参数被设置(并且关闭和重新启动数据库),口令将以加密的形式在客户机到服务 器和服务器到服务器之间传送。 操作结果: 确保登陆安全 6、口令文件验证 编号:006名称: 口令文
17、件验证 重要等级:高 基本信息: dba 用户可以由操作系统验证。例如在 unix 系统上,/etc /group 文件中 dba 组的成员 可以内部连接。如果从远程 dba 用户连接数据库,建议使用口令文件验证。 检测内容: 检查口令文件情况 建议操作: 1) 使用使用 orapwd 实用程序创建口令文件。实用程序创建口令文件。 orapwd file=filename password=password entries=max_users orapwd 是一个生成口令文件的 oracle 实用程序。执行 orapwd 时,除了 sys 访问的 口令外,还规定要创建的口令文件的名称。entr
18、ies 参数通知 oracle,要在口令文件中 创建多少条目。由于不能在以后扩展该文件,因此要把 entries 值设得高一些。如果超 出口令文件条目数的范围限额,就收到一个 ora-1996 错误。重建该口令文件时,需要重 新授予 sysdba 和 sysoper 权限。 2) 将将 init.ora 文件中的文件中的 remote_login_passwordfile 初始参数设置成初始参数设置成 exclusive,关闭并重新启动数据库,以便变更的参数起作用。,关闭并重新启动数据库,以便变更的参数起作用。 3) 将将 sysoper 和和 sysdba 权限授予需要进行数据库管理的每一个
19、用户。权限授予需要进行数据库管理的每一个用户。 sysdba 授予用户数据库管理员的权限;sysoper 使用户能执行数据库操作支持活动。 为了授予用户 sysoper 或 sysdba 权限,必须在内部连接。被受权用户现在应能通过 使用一个与下述命令类似的命令与数据库连接: connect george/mch11prod.world as sysdba 如下面例子所示,可以用 revoke 命令撤消一个用户的 sysdba 或 sysoper 权限: revoke sysdba from george; 若要查看具有 sysdba 或 sysoper 系统权限的用户,可以查询 v$pwfi
20、le_users。如 果用户拥有 sysdba 权限,v$pwfile_users 在其 sysdba 列中将有一个 true 值; 如果拥有 sysoper 权限,将在其 sysoper 列中有一个 true 值。 操作结果: 无 7、系统权限 编号:007名称: 系统权限 重要等级:高 基本信息: 可以使用系统级角色分派以管理数据库的系统级命令。下表列出了 oracle 提供的 11 个系 统级角色。使用这些角色就能对授予数据库管理角色的系统级权限进行限制。 检测内容: 检查所有用户的权限 检查网络的安全 建议操作: 明确每个用户的权限级别归属: 是否有必要 8、对象权限 编号:008名称
21、: 对象权限 重要等级:高 基本信息: 对象级权限(object-level privilege)使用户可以访问不属于自己的数据。可以使用角色来减少权 限的管理。显式权限也可以使用,并且在一些情况下是必须的。权限通过 grant 命令创建,存 于数据字典中。对表、视图、序列(以及它们的同义词)的访问,加上执行过程、函数、软件包 及类型的能力都可以授权给用户。 检测内容: 检查对象权限 建议操作: 下表列出了可以授予对象的权限。 可以使用 with grant option 子句向授与用户传递授权能力,以便在基对象上进一步授权。随着 角色的出现,这些权限的管理就容易了。角色是成组的权限,角色可授
22、给用户,这样就大大简 化了权限管理进程。 操作结果: 确保权限最小化 9、日志记录 编号:509名称: 警告日志文件 重要等级:高 基本信息: oracle 的警告日志 alertsid.log 里记录有数据库的关键活动,如删除表空间等,出于安全的 考虑,需有规律地检查警告日志。 检测内容: 检查警告日志文件 建议操作: 明确关键的数据库活动是否合理: 操作结果: 无 3.1.2 特定漏洞加固方法 一、一、 对传输数据进行加密对传输数据进行加密 如果需要对客户端和服务器端传输的数据进行加密,以防数据窃听,可以 修改客户端和服务器端的 sqlnet.ora 文件,对传输的数据进行加密,以避免明文
23、 在网络上的传输。 具体请参阅 oracle advanced security administrators guideconfiguring data encryption and integrity 二、对于访问数据库的客户端二、对于访问数据库的客户端 ip 地址进行配置。地址进行配置。 数据库监听客户端 ip 地址的连接记录,存储在/$oracle/log/listener.log 文件 里,请管理员定期查看和分析该日志文件。 在/$oracle/network/admin 目录下修改 sqlnet.ora 文件,增加如下内容: tcp.validnode_checking=yes t
24、cp.excluded_nodes=() 对于访问数据库客户端 ip 的限制,借助操作系统或者防火墙等设备实现也 是可行的。 三、安装最新补丁程序三、安装最新补丁程序 oracle 虽然具有很高的安全性,但是不可避免还有安全漏洞,一个比较安 全的办法是时刻关注 oracle 的安全公告,并及时安装安全补丁。安全公告和补 丁位置如下: http:/ 由于涉及 oracle 数据库的业务都是非常关键的,在安装安全补丁前一定要 做好备份工作,联系 oracle 公司或者你的开发商,定时做补丁升级是非常必要 的。 四、对敏感的数据库活动实施审计四、对敏感的数据库活动实施审计 对敏
25、感的数据库活动,如删除表等进行审计。 oracle 提供的数据库审计类型有: 语句审计:监视由一个或者多个特定用户或者所有用户提交的 sql 语句。这种类型的审计范围非常广。 特权审计:监视数据库里一个或者多个特定用户或者所有用户使用 的系统权限,比如 audit create table。这种类型的审计范围是中等的。 模式对象审计:监视一个模式里在一个或者多个对象上发生的行为, 比如:audit insert into employees。这种类型的审计是非常有重 点的,范围狭窄。 设定初始化参数 audit_trail 为 db 或 os。 db 表示将审计记录写到数据库的 aud$表里;
26、 os 表示将审计记录写到操 作系统文件中,默认生成在$oracle_home/rdbms/audit 目录,审计文件也可 以用初始化参数 audit_file_dest 另外指定。 启用审计启用审计 在 audit_options 表里有 144 个可以审计的审计命令,如:create table, insert, select 等。 根据实际需要确定要审计的类型,比如,若需知道什么时候一个新表被加 到数据库,可通过下列命令启用审计: audit create table by ; 查询审计查询审计 select * from dba_audit_trail; 五、用户管理五、用户管理 5-
27、1 过多的用户被授予过多的用户被授予 dba 的权限的权限 用命令 select 的dba选项列出所有被授予了 dba 角色的用户,根据需 要分配用户角色,命令:select grantee from dba_role_privs where granted=dba。 5-2 存在把权限授给存在把权限授给 public 的情况的情况 删除不需要的帐号,比如 scott 等示例用户;对于不明确是否能删除的用 户可以暂时锁定该用户,或赋予非常复杂的口令。 删除用户及其所有的数据对象命令:drop user dbuser cascade; 取消用户角色权限:revoke connect from d
28、buser; 应检查的用户名包括:scott, dbsnmp, tracesvr, ctxsys, mdsys, demo, ctxdemo, applsys, po8, names, sysadm, ordplugin, outln, adams, blake, jones, clark, aurora$orb$unauthenticated, apps。 5-3 连接时使用空口令。连接时使用空口令。 修改口令文件 profile,防止利用空口令或默认口令进行连接。 六、限制六、限制 utl_file 的使用的使用 与应用系统开发商确认是否有用户需要使用 utl_file 程序包。如果没有
29、用户使用,应收回普通用户对该包的执行权限。如果确实有用户需要使用 utl_file 包,应确保只有确实需要的用户才拥有 utl_file 的执行权。同时 在 init.ora 中设定参数“utl_file_dir”使用 utl_file 包的程序确实需要访问 的目录。与应用系统开发商商议,是否可以改变 db_link 的创建方式,在创 建 db_link 时不指定用户名和口令。 七、数据库配置:数据库配置未采用数据字典保护。七、数据库配置:数据库配置未采用数据字典保护。 检查初始化参数 o7_dictionary_accessibility 是否为 false。该参 数为 false, 将阻止
30、具有 any 权限的用户访问数据字典基表,以有力地保护 数据字典。 此参数的修改需要重启数据库才能生效. default: oracle 8i:ture oracle9i: false 八、关闭八、关闭 http server http server 用于通过 http 访问数据库,如 em 和动态服务。若无必要, 关闭该 server: $ cd $oracle_home/apache/apache/bin $ apachectl stop 九、关闭远程数据库验证九、关闭远程数据库验证 远程数据库验证只用于当你信任客户端用户时采用。这种验证机制是:用 户在客户端验证,当用户登录数据库时不再需
31、要用服务器端数据库密码验证, 故称为远程数据库验证。为加强安全起见,关闭远程数据库验证。 设定初始化参数 remote_os_authent = false 十、实施十、实施 vpd 和和 oracle label security 如有必要,在普通的数据库安全机制外,还可实施另一种新的安全机制, 称为 vpd(虚拟专用数据库) ,帮助从数据库内部提供有效的安全。这种安全 机制的原理是从用户登录到数据库开始,预先为特定用户设定的自定义的安全 策略发生作用,使得当用户提交一个查询(或 insert,update,delete)时,自动地 加上相应的 where 子句,这样细粒度的访问控制被 oracle 自动实现和保证,对 用户和应用透明。例如, 使用以下查询从数据库里查询数据: select * from customers; 如果 customers 表里有一个相关的安全策略来限制销售代表只能查看自己顾 客的信息,这个查询将被自动地重写为: select * from customers where
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年学历类自考学前儿童体育教育-教师职业道德与专业发展参考题库含答案解析(5套试卷)
- 2025年学历类自考发展与教育心理学-学前儿童科学教育参考题库含答案解析(5套试卷)
- 2025年学历类自考儿童发展理论-领导科学参考题库含答案解析(5套试卷)
- 2025年学历类自考中小学教育管理-学前特殊儿童教育参考题库含答案解析(5套试卷)
- 农村电力改造合同范本
- 火山主播合同范本
- 小吃学员培训合同范本
- 高楼商铺转让合同范本
- 承包渣土清运合同范本
- 工装工程合同范本
- 初中数学教材解读人教八年级上册(2023年修订)第十三章轴对称等边三角形 导学案
- DB11-T1515-2018养老服务驿站设施设备配置规范
- 《机械知识》(第六版)电子教案(全)完整版课件整套教学课件
- 政府会计制度应用课件
- 五年级上册美术教学计划
- 有色金属贵金属冶金
- 2020外研社高中英语选择性必修四课文翻译
- 西方文论课程教学大纲
- 外科医学—颅内和椎管内血管性疾病
- 井控设备(2015)
- 2022交通事故处理委托书范本
评论
0/150
提交评论