欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Oracle数据库系统加固标准规范.doc

    • 资源ID:2756609       资源大小:248.01KB        全文页数:32页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Oracle数据库系统加固标准规范.doc

    / OracleOracle 数据库系统加固规范数据库系统加固规范 / 目目 录录 1账号管理、认证授权账号管理、认证授权.1 1.1账号.1 1.1.1SHG-Oracle-01-01-01.1 1.1.2SHG-Oracle-01-01-02.2 1.1.3SHG-Oracle-01-01-03.3 1.1.4SHG-Oracle-01-01-04.4 1.1.5SHG-Oracle-01-01-05.5 1.1.6SHG-Oracle-01-01-06.7 1.1.7SHG-Oracle-01-01-07.8 1.1.8SHG-Oracle-01-01-08.10 1.2口令.11 1.2.1SHG-Oracle-01-02-01.11 1.2.2SHG-Oracle-01-02-02.12 1.2.3SHG-Oracle-01-02-03.14 1.2.4SHG-Oracle-01-02-04.15 1.2.5SHG-Oracle-01-02-05.16 2日志配置日志配置.18 2.1.1SHG-Oracle-02-01-01.18 2.1.2SHG-Oracle-02-01-02.21 2.1.3SHG-Oracle-02-01-03.22 2.1.4SHG-Oracle-02-01-04.24 3通信协议通信协议.25 3.1.1SHG-Oracle-03-01-01.25 3.1.2SHG-Oracle-03-01-02.26 4设备其他安全要求设备其他安全要求.27 4.1.1SHG-Oracle-04-01-01.27 4.1.2SHG-Oracle-04-01-02.29 / 1 1 1 1 账号管理、认证授权账号管理、认证授权账号管理、认证授权账号管理、认证授权 1.11.11.11.1 账号账号账号账号 1.1.11.1.11.1.11.1.1 SHG-Oracle-01-01-01SHG-Oracle-01-01-01SHG-Oracle-01-01-01SHG-Oracle-01-01-01 编号 SHG-Oracle-01-01-01 名称为不同的管理员分配不同的账号 实施目的 应按照用户分配账号,避免不同用户间共享账号,提高安全 性。 问题影响账号混淆,权限不明确,存在用户越权使用的可能。 系统当前状态 select * from all_users; select * from dba_users; 记录用户列表 实施步骤 1 1、参考配置操作、参考配置操作 create user abc1 identified by password1; create user abc2 identified by password2; 建立 role,并给 role 授权,把 role 赋给不同的用户 2 2、补充操作说明补充操作说明 1、abc1和abc2是两个不同的账号名称,可根据不同用户, 取不同的名称; 回退方案 删除用户:例如创建了一个用户 A,要删除它可以这样做 connect sys/密码 as sysdba; / drop user A cascade;/就这样用户就被删除了 判断依据标记用户用途,定期建立用户列表,比较是否有非法用户 实施风险高 重要等级 备注 1.1.21.1.21.1.21.1.2 SHG-Oracle-01-01-02SHG-Oracle-01-01-02SHG-Oracle-01-01-02SHG-Oracle-01-01-02 编号 SHG-Oracle-01-01-02 名称删除或锁定无效账号 实施目的删除或锁定无效的账号,减少系统安全隐患。 问题影响允许非法利用系统默认账号 系统当前状态 select * from all_users; select * from dba_users; 记录用户列表 实施步骤 1 1、参考配置操作、参考配置操作 alter user username lock;/锁定用户 drop user username cascade;/删除用户 回退方案删除新增加的帐户 判断依据 首先锁定不需要的用户 在经过一段时间后,确认该用户对业务确无影响的情况下, 可以删除 / 实施风险高 重要等级 备注 1.1.31.1.31.1.31.1.3 SHG-Oracle-01-01-03SHG-Oracle-01-01-03SHG-Oracle-01-01-03SHG-Oracle-01-01-03 编号 SHG-Oracle-01-01-03 名称限制超级管理员远程登录 实施目的 限制具备数据库超级管理员(SYSDBA)权限的用户远程登 录。 。 问题影响允许数据库超级管理员远程非法登陆 系统当前状态查看 spfile,sqlnet.ora 内容 实施步骤 1 1、参考配置操作、参考配置操作 在 spfile 中设置 REMOTE_LOGIN_PASSWORDFILE=NONE 来禁 止 SYSDBA 用户从远程登陆。在 sqlnet.ora 中设置 SQLNET.AUTHENTICATION_SERVICES=NONE 来禁用 SYSDBA 角 色的自动登录。 回退方案还原 spfile,sqlnet.ora 文件配置 判断依据 判定条件判定条件 1. 不能通过 Sql*Net 远程以 SYSDBA 用户连接到数据库。 2. 在数据库主机上以 sqlplus /as sysdba连接到数据 库需要输入口令。 检测操作检测操作 / 1. 以 Oracle 用户登陆到系统中。 2. 以 sqlplus /as sysdba登陆到 sqlplus 环境中。 3. 使用 show parameter 命令来检查参数 REMOTE_LOGIN_PASSWORDFILE 是否设置为 NONE。 Show parameter REMOTE_LOGIN_PASSWORDFILE 4. 检查在 $ORACLE_HOME/network/admin/sqlnet.ora 文件中参数 SQLNET.AUTHENTICATION_SERVICES 是否被设置成 NONE。 实施风险高 重要等级 备注 1.1.41.1.41.1.41.1.4 SHG-Oracle-01-01-04SHG-Oracle-01-01-04SHG-Oracle-01-01-04SHG-Oracle-01-01-04 编号 SHG-Oracle-01-01-04 名称权限最小化 实施目的 在数据库权限配置能力内,根据用户的业务需要,配置其 所需的最小权限。 问题影响账号权限越大,对系统的威胁性越高 系统当前状态 select * from user_sys_privs; select * from user_role_privs; select * from user_tab_privs; 记录用户拥有权限 / 实施步骤 1 1、参考配置操作参考配置操作 grant 权限 to username; revoke 权限 from username; 2 2、补充操作说明补充操作说明 用第一条命令给用户赋相应的最小权限 用第二条命令收回用户多余的权限 回退方案还原添加或删除的权限 判断依据业务测试正常 实施风险高 重要等级 备注 1.1.51.1.51.1.51.1.5 SHG-Oracle-01-01-05SHG-Oracle-01-01-05SHG-Oracle-01-01-05SHG-Oracle-01-01-05 编号 SHG-Oracle-01-01-05 名称数据库角色 实施目的使用数据库角色(ROLE)来管理对象的权限。 问题影响账号管理混乱 系统当前状态 select * from dba_role_privs; select * from user_role_privs; 记录用户拥有的 role / 实施步骤 一创建角色,修改角色 1.创建角色,不指定密码: create role testrole; 2创建角色,指定密码: create role testrole identified by passwd; 3修改角色: alter role testrole identified by passwd; 4. 给角色授予权限。 Grant select on Table_name to testrole; 把角色赋予用户:(特别说明,授予角色不是实时的。如 下:) grant testrole to User_Name; 二、起用角色:给用户赋予角色,角色并不会立即起作用。 1角色不能立即起作用。必须下次断开此次连接,下次连 接才能起作用。 2.或者执行命令:有密码的角色 set role testrole identified by passwd 立即生效; 3无密码的角色:set role testrole; / 回退方案 删除相应的 Role revoke role_name from user_name 判断依据对应用用户不要赋予 DBA Role 或不必要的权限 实施风险高 重要等级 备注 1.1.61.1.61.1.61.1.6 SHG-Oracle-01-01-06SHG-Oracle-01-01-06SHG-Oracle-01-01-06SHG-Oracle-01-01-06 编号 SHG-Oracle-01-01-06 名称用户 profile 实施目的对用户的属性进行控制,包括密码策略、资源限制等。 问题影响账号安全性低. 系统当前状态 SELECT profile FROM dba_users WHERE username=user_name; 记录用户赋予的 profile 实施步骤 可通过下面类似命令来创建 profile,并把它赋予一个用户 SQL> show parameter resource_limit SQL> alter system set resource_limit=true; / CREATE PROFILE profile_name LIMIT FAILED_LOGIN_ATTEMPTS 6 PASSWORD_LIFE_TIME 60 PASSWORD_REUSE_TIME 60 PASSWORD_REUSE_MAX 5 PASSWORD_VERIFY_FUNCTION verify_function PASSWORD_LOCK_TIME 1/24 PASSWORD_GRACE_TIME 90; ALTER USER user_name PROFILE profile_name; 回退方案 alter user dinya profile default; 恢复默认 判断依据 1. 可通过设置 profile 来限制数据库账户口令的复杂程度, 口令生存周期和账户的锁定方式等。 2. 可通过设置 profile 来限制数据库账户的 CPU 资源占用。 4 4、检测操作、检测操作 1. 以 DBA 用户登陆到 sqlplus 中。 2. 查询视图 dba_profiles 和 dba_usres 来检查 profile 是否创建。 实施风险高 重要等级 / 备注 1.1.71.1.71.1.71.1.7 SHG-Oracle-01-01-07SHG-Oracle-01-01-07SHG-Oracle-01-01-07SHG-Oracle-01-01-07 编号 SHG-Oracle-01-01-07 名称数据字典保护 实施目的 启用数据字典保护,只有 SYSDBA 用户才能访问数据字典基 础表。 问题影响数据库安全性低. 系统当前状态 Show parameter O7_DICTIONARY_ACCESSIBILITY 记录当前状态 实施步骤 通过设置下面初始化参数来限制只有 SYSDBA 权限的用户才 能访问数据字典。 alter system set O7_DICTIONARY_ACCESSIBILITY=FALSE scope=spfile; 回退方案修改 O7_DICTIONARY_ACCESSIBILITY 为原来属性 判断依据 以普通用户登陆到数据库,不能查看 X$开头的表,比如: select * from sys. x$ksppi; 检测操作检测操作 1. 以 Oracle 用户登陆到系统中。 2. 以 sqlplus /as sysdba登陆到 sqlplus 环境中。 3. 使用 show parameter 命令来检查参数 / O7_DICTIONARY_ACCESSIBILITY 是否设置为 FALSE。 Show parameter O7_DICTIONARY_ACCESSIBILITY 实施风险高 重要等级 备注 1.1.81.1.81.1.81.1.8 SHG-Oracle-01-01-0SHG-Oracle-01-01-0SHG-Oracle-01-01-0SHG-Oracle-01-01-08 8 8 8 编号 SHG-Oracle-01-01-08 名称检查 DBA 组用户 实施目的 限制在 DBA 组中的操作系统用户数量,通常 DBA 组中只有 Oracle 安装用户。 问题影响影响组用户管理 系统当前状态 Cat /etc/passwd 实施步骤 参考配置操作参考配置操作 通过/etc/passwd 文件来检查是否有其它用户在 DBA 组中。 删除用户:#userdel username; 锁定用户: 1) 修改/etc/shadow 文件,用户名后加*LK* 2) 将/etc/passwd 文件中的 shell 域设置成/bin/false 3) #passwd -l username 只有具备超级用户权限的使用者方可使用,#passwd -l username 锁定用户,用#passwd d username 解锁后原有 密码失效,登录需输入新密码,修改/etc/shadow 能保留原 / 有密码。 回退方案 还原/etc/passwd 文件 判断依据 判定条件判定条件 无其它用户属于 DBA 组。 检测操作检测操作 通过/etc/passwd 文件来检查是否有其它用户在 DBA 组中。 实施风险高 重要等级 备注 1.21.21.21.2口令口令口令口令 1.2.11.2.11.2.11.2.1 SHG-Oracle-01-02-01SHG-Oracle-01-02-01SHG-Oracle-01-02-01SHG-Oracle-01-02-01 编号 SHG-Oracle-01-02-01 名称缺省密码长度复杂度限制 实施目的 对于采用静态口令进行认证的数据库,口令长度至少 6 位, 并包括数字、小写字母、大写字母和特殊符号 4 类中至少 2 类。 / 问题影响增加密码被暴力破解的成功率 系统当前状态 SELECT profile FROM dba_users WHERE username=user_name; 记录用户赋予的 profile 实施步骤 1 1、参考配置操作、参考配置操作 为用户建 profile,调整 PASSWORD_VERIFY_FUNCTION,指 定密码复杂度 示例: SQL>CREATE OR REPLACE FUNCTION my_password_verify (username VARCHAR2 ,password VARCHAR2 ,old_password VARCHAR2 ) RETURN BOOLEAN IS 2 BEGIN 3 IF LENGTH(password) create profile TEST_PROFILE limit 2 password_verify_function MY_PASSWORD_VERIFY; 回退方案 alter user user_name profile default; 判断依据 1 1、判定条件判定条件 修改密码为不符合要求的密码,将失败 2 2、检测操作检测操作 alter user user_name identified by passwd;将失败 / 实施风险低 重要等级 备注 1.2.21.2.21.2.21.2.2 SHG-Oracle-01-02-02SHG-Oracle-01-02-02SHG-Oracle-01-02-02SHG-Oracle-01-02-02 编号 SHG-Oracle-01-02-02 名称缺省密码生存周期限制 实施目的 对于采用静态口令认证技术的设备,帐户口令的生存期不 长于 90 天,减少口令安全隐患。 问题影响密码被非法利用,并且难以管理 系统当前状态 SELECT profile FROM dba_users WHERE username=user_name; 记录用户赋予的 profile 实施步骤 1 1、参考配置操作参考配置操作 为用户建相关 profile,指定 PASSWORD_GRACE_TIME 为 90 天 2 2、补充操作说明补充操作说明 在 90 天内,需要修改密码 回退方案 alter user user_name profile default; 判断依据 3 3、判定条件判定条件 到期不修改密码,密码将会失效。连接数据库将不会成功 4 4、检测操作检测操作 / connect username/password 报错 实施风险低 重要等级 备注 1.2.31.2.31.2.31.2.3 SHG-Oracle-01-02-0SHG-Oracle-01-02-0SHG-Oracle-01-02-0SHG-Oracle-01-02-03 3 3 3 编号 SHG-Oracle-01-02-03 名称密码重复使用限制 实施目的 对于采用静态口令认证技术的设备,应配置设备,使用户 不能重复使用最近 5 次(含 5 次)内已使用的口令。 问题影响密码破解的几率增加 系统当前状态 SELECT profile FROM dba_users WHERE username=user_name; 记录用户赋予的 profile 实施步骤 1 1、参考配置操作参考配置操作 为用户建 profile,指定 PASSWORD_REUSE_MAX 为 2 2、补充操作说明补充操作说明 当前使用的密码,必需在密码修改次后才能再次被使用 回退方案 alter user user_name profile default; 判断依据 3 3、判定条件判定条件 重用修改次内的密码,将不能成功 / 4 4、检测操作检测操作 alter user username identified by password1;如果 password1 在次修改密码内被使用,该操作将不能成功 实施风险低 重要等级 备注 1.2.41.2.41.2.41.2.4 SHG-Oracle-01-02-0SHG-Oracle-01-02-0SHG-Oracle-01-02-0SHG-Oracle-01-02-04 4 4 4 编号 SHG-Oracle-01-02-04 名称密码重试限制 实施目的 对于采用静态口令认证技术的设备,应配置当用户连续认 证失败次数超过 6 次(不含 6 次) ,锁定该用户使用的账号。 问题影响允许暴力破解密码 系统当前状态 SELECT profile FROM dba_users WHERE username=user_name; 记录用户赋予的 profile 实施步骤 1 1、参考配置操作参考配置操作 为用户建 profile,指定 FAILED_LOGIN_ATTEMPTS 为 2 2、补充操作说明补充操作说明 如果连续次连接该用户不成功,用户将被锁定 回退方案 alter user user_name profile default; / 判断依据 3 3、判定条件判定条件 连续次用错误的密码连接用户,第次时用户将被锁定 4 4、检测操作检测操作 connect username/password,连续次失败,用户被锁定 实施风险中 重要等级 备注 1.2.51.2.51.2.51.2.5 SHG-Oracle-01-02-05SHG-Oracle-01-02-05SHG-Oracle-01-02-05SHG-Oracle-01-02-05 编号 SHG-Oracle-01-02-05 名称修改默认密码 实施目的更改数据库默认帐号的密码。 问题影响可能被破解密码 系统当前状态询问管理员账号密码,并记录 实施步骤 参考配置操作参考配置操作 1. 可通过下面命令来更改默认用户的密码: ALTER USER user_name IDENTIFIED BY passwd; 2. 下面是默认用户密码列表: CTXSYS CTXSYS DBSNMP DBSNMP / LBACSYS LBACSYS MDDATA MDDATA MDSYS MDSYS DMSYS DMSYS OLAPSYS MANAGER ORDPLUGINS ORDPLUGINS ORDSYS ORDSYS OUTLN OUTLN SI_INFORMTN_SCHEMA SI_INFORMTN_SCHEMA SYS CHANGE_ON_INSTALL SYSMAN CHANGE_ON_INSTALL SYSTEM MANAGER 回退方案 ALTER USER user_name IDENTIFIED BY passwd; 判断依据 判定条件判定条件 不能以用户名作为密码或使用默认密码的账户登陆到数据 库。 检测操作检测操作 1. 以 DBA 用户登陆到 sqlplus 中。 2. 检查数据库默认账户是否使用了用户名作为密码或默认 密码。 / 实施风险中 重要等级 备注 2 2 2 2 日志配置日志配置日志配置日志配置 2.1.12.1.12.1.12.1.1 SHG-Oracle-02-01-01SHG-Oracle-02-01-01SHG-Oracle-02-01-01SHG-Oracle-02-01-01 编号 SHG-Oracle-02-01-01 名称启用日志记录功能 实施目的 数据库应配置日志功能,对用户登录进行记录,记录内容 包括用户登录使用的账号、登录是否成功、登录时间以及 远程登录时用户使用的 IP 地址。 问题影响无法对用户的登陆进行日志记录 系统当前状态 实施步骤 create table login_log - 登入登出信息表 ( session_id int not null, - sessionid login_on_time date, - 登入时间 login_off_time date, - / 登出时间 user_in_db varchar2(30), - 登入的 db user machine varchar2(20), - 机 器名 ip_address varchar2(20), - ip 地 址 run_program varchar2(20) - 以何程序 登入 ); create or replace trigger login_on_info - 记录登入信息的触发器 after logon on database Begin insert into login_log(session_id,login_on_time,login_of f_time,user_in_db,machine,ip_address,run_program ) select AUDSID,sysdate,null,sys.login_user,machine,SYS_CO NTEXT(USERENV,IP_ADDRESS),program / from v$session where AUDSID = USERENV(SESSIONID); -當前 SESSION END; create or replace trigger login_off_info - 记录登出信息的触发器 before logoff on database Begin update login_log set login_off_time = sysdate where session_id = USERENV(SESSIONID); -当前 SESSION exception when others then null; END; 回退方案 ALTER TRIGGER 名称 DISABLE; drop trigger 名称; 判断依据 判定条件判定条件 登录测试,检查相关信息是否被记录 补充说明补充说明 / 触发器与 AUDIT 会有相应资源开消,请检查系统资源是否 充足。特别是 RAC 环境,资源消耗较大。 实施风险低 重要等级 备注 2.1.22.1.22.1.22.1.2 SHG-Oracle-02-01-02SHG-Oracle-02-01-02SHG-Oracle-02-01-02SHG-Oracle-02-01-02 编号 SHG-Oracle-02-01-02 名称记录用户对设备的操作 实施目的数据库应配置日志功能,记录用户对数据库的操作 问题影响无法对用户的操作进行日志记录 系统当前状态 实施步骤 create table employees_log( who varchar2(30), action varchar2(20); when date); create or replace trigger biud_employ_copy before insert or update or delete on employees_copy declare l_action employees_log.action%type; / begin if inserting then l_action:=insert; elsif updating then l_action:=delete; elsif deleting then l_action:=update; else raise_application_error(-2001,you shoule never ever get this error.); end if; insert into employees_log(who,action,when) values(user,l_action,sysdate); end biud_employ_copy; 回退方案 ALTER TRIGGER 名称 DISABLE; drop trigger 名称; 判断依据 实施风险高 重要等级 / 备注 2.1.32.1.32.1.32.1.3 SHG-Oracle-02-01-03SHG-Oracle-02-01-03SHG-Oracle-02-01-03SHG-Oracle-02-01-03 编号 SHG-Oracle-02-01-03 名称记录系统安全事件 实施目的通过设置让系统记录安全事件,方便管理员分析 问题影响无法记录系统的各种安全事件 系统当前状态 实施步骤 参考配置操作参考配置操作 create table jax_event_table(eventname varchar2(30),time date); create trigger tr_startup after startup ondatabase begin insertinto jax_event_table values(ora_sysevent,sysdate); end; create trigger tr_shutdown beforeshutdownondatabase begin insertinto jax_event_table values(ora_sysevent,sysdate); / end; 回退方案 ALTER TRIGGER 名称 DISABLE; drop trigger 名称; 判断依据记录系统安全事件 实施风险高 重要等级 备注 2.1.42.1.42.1.42.1.4 SHG-Oracle-02-01-04SHG-Oracle-02-01-04SHG-Oracle-02-01-04SHG-Oracle-02-01-04 编号 SHG-Oracle-02-01-04 名称数据库审计策略 实施目的根据业务要求制定数据库审计策略 问题影响日志被删除后无法恢复。 系统当前状态 show parameter audit_sys_operations; show parameter audit_trail; 查看返回值,并记录. 实施步骤 1 1、参考配置操作、参考配置操作 SQL

    注意事项

    本文(Oracle数据库系统加固标准规范.doc)为本站会员(一***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开