Oracle数据库系统加固规范.doc_第1页
Oracle数据库系统加固规范.doc_第2页
Oracle数据库系统加固规范.doc_第3页
Oracle数据库系统加固规范.doc_第4页
Oracle数据库系统加固规范.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I I OracleOracle 数据库系统加固规范数据库系统加固规范 II II 目目 录录 1 1账号管理 认证授权账号管理 认证授权 1 1 1 1账号 1 1 1 1 SHG Oracle 01 01 01 1 1 1 2 SHG Oracle 01 01 02 2 1 1 3 SHG Oracle 01 01 03 3 1 1 4 SHG Oracle 01 01 04 4 1 1 5 SHG Oracle 01 01 05 5 1 1 6 SHG Oracle 01 01 06 7 1 1 7 SHG Oracle 01 01 07 8 1 1 8 SHG Oracle 01 01 08 10 1 2口令 11 1 2 1 SHG Oracle 01 02 01 11 1 2 2 SHG Oracle 01 02 02 12 1 2 3 SHG Oracle 01 02 03 14 1 2 4 SHG Oracle 01 02 04 15 1 2 5 SHG Oracle 01 02 05 16 2 2日志配置日志配置 1818 2 1 1 SHG Oracle 02 01 01 18 2 1 2 SHG Oracle 02 01 02 21 2 1 3 SHG Oracle 02 01 03 22 2 1 4 SHG Oracle 02 01 04 24 3 3通信协议通信协议 2525 3 1 1 SHG Oracle 03 01 01 25 3 1 2 SHG Oracle 03 01 02 26 4 4设备其他安全要求设备其他安全要求 2727 4 1 1 SHG Oracle 04 01 01 27 4 1 2 SHG Oracle 04 01 02 29 1 1 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 2 2 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 删除用户 回退方案删除新增加的帐户 判断依据 首先锁定不需要的用户 在经过一段时间后 确认该用户对业务确无影响的情况下 可以删除 3 3 实施风险高 重要等级 备注 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 连接到数据 库需要输入口令 4 4 检测操作检测操作 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 记录用户拥有权限 5 5 实施步骤 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 6 6 实施步骤 一 创建角色 修改角色 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 7 7 回退方案 删除相应的 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 8 8 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 是否创建 实施风险高 重要等级 9 9 备注 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 1010 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 能保留原 有密码 1111 回退方案 还原 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 1212 实施步骤 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 将失败 实施风险低 重要等级 1313 备注 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 报错 实施风险低 1414 重要等级 备注 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 在 次修改密码内被使用 该操作将不能成功 1515 实施风险低 重要等级 备注 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 检测操作检测操作 1616 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 1717 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 检查数据库默认账户是否使用了用户名作为密码或默认 密码 实施风险中 重要等级 1818 备注 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 1919 登入的 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 2020 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 环境 资源消耗较大 实施风险低 2121 重要等级 备注 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 2222 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 名称 判断依据 实施风险高 重要等级 备注 2323 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 名称 2424 判断依据记录系统安全事件 实施风险高 重要等级 备注 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 alter system set audit sys operations TRUE scope spfile SQL alter system set audit trail db scope spfile SQL show parameter audit SQL audit all on table name 回退方案 noaudit all on table name 恢复 audit sys operations audit trail 属性 判断依据判定条件判定条件 2525 对审计的对象进行一次数据库操作 检查操作是否被记录 检测操作检测操作 1 检查初始化参数 audit trail 是否设置 2 检查 dba audit trail 视图中或 ORACLE BASE admin adump 目录下是否有数据 补充说明补充说明 AUDIT 会有相应资源开消 请检查系统资源是否充足 特别 是 RAC 环境 资源消耗较大 实施风险低 重要等级 备注 3 3 3 3 通信协议通信协议通信协议通信协议 3 1 13 1 13 1 13 1 1 SHG Oracle 03 01 01SHG Oracle 03 01 01SHG Oracle 03 01 01SHG Oracle 03 01 01 编号 SHG Oracle 03 01 01 名称信任 IP 连接监听器 实施目的设置只有信任的 IP 地址才能通过监听器访问数据库 问题影响数据库不安全 IP 访问 系统当前状态查看 ORACLE HOME network admin sqlnet ora 2626 实施步骤 参考配置操作参考配置操作 只需在服务器上的文件 ORACLE HOME network admin sqlnet ora 中设置以下行 tcp validnode checking yes tcp invited nodes ip1 ip2 回退方案 还原 ORACLE HOME network admin sqlnet ora 文件 判断依据 判定条件判定条件 在非信任的客户端以数据库账户登陆被提示拒绝 检测操作检测操作 检查 ORACLE HOME network admin sqlnet ora 文件中是否 设置参数 tcp validnode checking 和 tcp invited nodes 实施风险高 重要等级 备注 3 1 23 1 23 1 23 1 2 SHG Oracle 03 01 0SHG Oracle 03 01 0SHG Oracle 03 01 0SHG Oracle 03 01 02 2 2 2 编号 SHG Oracle 03 01 02 名称网络数据传输安全 2727 实施目的 使用 Oracle 提供的高级安全选件来加密客户端与数据库之 间或中间件与数据库之间的网络传输数据 问题影响数据传输的不安全性增加 系统当前状态 记录检查 ORACLE HOME network admin sqlnet ora 文件 实施步骤 参考配置操作参考配置操作 1 在 Oracle Net Manager 中选择 Oracle Advanced Security 2 然后选择 Encryption 3 选择 Client 或 Server 选项 4 选择加密类型 5 输入加密种子 可选 6 选择加密算法 可选 7 保存网络配置 sqlnet ora 被更新 回退方案 还原 ORACLE HOME network admin sqlnet ora 文件 判断依据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论