Oracle数据库安全配置手册 联系客服

发布时间 : 星期三 文章Oracle数据库安全配置手册更新完毕开始阅读9df74ddd6294dd88d0d26b5e

明确环境文件创建是否合理: 操作结果: 确保资源调用最小化 3、

内建帐户 003 名称: 编号: 内建帐户连接 重要等级: 中 基本信息: 数据库有一些内建帐户,使用这些内建帐户的默认密码,就可以访问该数据库。 对不需要使用的内建帐户进行锁定。 检测内容: ? 检查内建帐户的默认密码是否改变,不需要使用的内建帐户是否已锁定。 建议操作: ? 修改 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 LOCK; 操作结果: 无 4、

口令管理 004 名称: 编号: 口令管理 重要等级: 高 基本信息: 第6页 共32页

在Oracle中,可以使用profile来管理口令的终止、重新使用和复杂性。例如,可以限制一个口令的寿命、锁定口令过旧的帐户。也可以强制一个口令至少有一定程度的复杂性并锁定一个多次注册失败的帐户。 检测内容: ? 检查系统口令设置情况 建议操作: 如果设置用户环境文件的FAILED_LOGIN_ATTEMPTS资源为5,该帐户允许连续注册失败5次,第6次就会引起帐户被锁定。 若要防止一个口令重新使用,可以使用两个环境文件参数的其中一个:PASSWORD_REUSE_MAX或PASSWORD_REUSE_TIME。这两个参数互不相容:如果给其中的一个设了值,另一个就必须设为UNLIMITED。PASSWORD_REUSE_TIME参数规定一个口令可以重新使用前必须经过的天数。例如,如果设置PASSWORD_REUSE_TIME为6 0天,则在6 0天内不能使用同一个口令。PASSWORD_REUSE_MAX参数指定一个口令可以重新使用前必须对其改变的次数。如果试图在这个限制到达前重新使用该口令,Oracle会拒绝口令的修改。 可以强制用户的口令符合复杂度标准。例如,可以要求口令的最小长度、不是一些简单的词、至少包括一个数字或标点符号。create profile 和alter profile 命令的PASSWORD_VERIFY_FUNCTION参数指定用于评估口令的函数名。如果用户提出的口令不符合要求,就不会被接受。 操作结果: 确保口令安全 5、

登陆口令 005 名称: 编号: 登陆口令 重要等级: 高 基本信息: 对于Oracle7.1以前,当从一个客户机连接到数据库服务器,或者通过数据库链接从一个数据库连接到另一个数据库时,除非指定其他形式,否则Oracle将以非加密的形式传输输入第7页 共32页

的口令。对于Oracle7.1以前,可以设置参数来强制Oracle在传输前将口令值加密。对于Oracle 7.1及以后,Oracle默认将以加密的形式传输输入的口令,不需另外手工配置。 检测内容: ? 检查是否设置了口令加密 建议操作: 对于Oracle7.1以前,若要启用口令加密,需设置以下参数: ? 对于客户机,把sqlnet.ora文件中的ORA_ENCRYPT_LOGIN参数设为TRUE。 ? 对于服务器, 把init.ora文件中的DBLINK_ENCRYPT_LOGIN参数设为TRUE。 一旦这些参数被设置(并且关闭和重新启动数据库),口令将以加密的形式在客户机到服务器和服务器到服务器之间传送。 操作结果: 确保登陆安全 6、

口令文件验证 006 名称: 编号: 口令文件验证 重要等级: 高 基本信息: DBA用户可以由操作系统验证。例如在UNIX系统上,/etc /group文件中DBA组的成员可以内部连接。如果从远程DBA用户连接数据库,建议使用口令文件验证。 检测内容: ? 检查口令文件情况 建议操作: 1) 使用ORAPWD实用程序创建口令文件。 ORAPWD FILE=filename PASSWORD=password ENTRIES=max_users ORAPWD是一个生成口令文件的Oracle实用程序。执行ORAPWD时,除了SYS访问的口令外,还规定要创建的口令文件的名称。ENTRIES参数通知Oracle,要在口令文件中创建多少条目。由于不能在以后扩展该文件,因此要把ENTRIES值设得高一些。如果超出口令文件条目数的范围限额,就收到一个ORA-1996错误。重建该口令文件时,需要重新授第8页 共32页

予SYSDBA和SYSOPER权限。 2) 将init.ora文件中的REMOTE_LOGIN_PASSWORDFILE初始参数设置成EXCLUSIVE,关闭并重新启动数据库,以便变更的参数起作用。 3) 将SYSOPER和SYSDBA权限授予需要进行数据库管理的每一个用户。 SYSDBA授予用户数据库管理员的权限;SYSOPER使用户能执行数据库操作支持活动。为了授予用户SYSOPER或SYSDBA权限,必须在内部连接。被受权用户现在应能通过使用一个与下述命令类似的命令与数据库连接: connect george/mch11@PROD.WORLD AS SYSDBA 如下面例子所示,可以用revoke命令撤消一个用户的SYSDBA或SYSOPER权限: revoke SYSDBA from George; 若要查看具有SYSDBA或SYSOPER系统权限的用户,可以查询V$PWFILE_USERS。如果用户拥有SYSDBA权限,V$PWFILE_USERS在其SYSDBA列中将有一个TRUE值;如果拥有SYSOPER权限,将在其SYSOPER列中有一个TRUE值。 操作结果: 无 7、

系统权限

007 名称: 编号: 基本信息: 系统权限 重要等级: 高 可以使用系统级角色分派以管理数据库的系统级命令。下表列出了Oracle提供的11个系统级角色。使用这些角色就能对授予数据库管理角色的系统级权限进行限制。 检测内容: ? 检查所有用户的权限 ? 检查网络的安全 建议操作: 明确每个用户的权限级别归属: 第9页 共32页