最新oracle数据库系统加固规范.doc

上传人:1595****071 文档编号:35395431 上传时间:2022-08-21 格式:DOC 页数:33 大小:548KB
返回 下载 相关 举报
最新oracle数据库系统加固规范.doc_第1页
第1页 / 共33页
最新oracle数据库系统加固规范.doc_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《最新oracle数据库系统加固规范.doc》由会员分享,可在线阅读,更多相关《最新oracle数据库系统加固规范.doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateoracle数据库系统加固规范OOracle 数据库系统加固规范2010 年 9 月-3.1.1 SHG-Oracle-03-01-01 . 253.1.2 SHG-Oracle-03-01-02 . 264 设备其他安全要求 . 284.1.1 SHG-Oracle-04-01-01 . 284.1.2 SHG-Oracle-04-01-02 . 291账号管理、认

2、证授权1.1 账号1.1.1 SHG-Oracle-01-01-01编号SHG-Oracle-01-01-01名称为不同的管理员分配不同的账号实施目的应按照用户分配账号,避免不同用户间共享账号,提高安全性。问题影响账号混淆,权限不明确,存在用户越权使用的可能。系统当前状态select * from all_users;select * from dba_users;记录用户列表实施步骤1、参考配置操作create user abc1 identified by password1;create user abc2 identified by password2;建立 role,并给 role

3、授权,把 role 赋给不同的用户2、 补充操作说明1、abc1 和 abc2 是两个不同的账号名称,可根据不同用户, 取不同的名称;回退方案删除用户:例如创建了一个用户 A,要删除它可以这样做connect sys/密码 as sysdba;drop user A cascade;/就这样用户就被删除了判断依据标记用户用途,定期建立用户列表,比较是否有非法用户实施风险高重要等级备注1.1.2 SHG-Oracle-01-01-02编号SHG-Oracle-01-01-02名称删除或锁定无效账号实施目的删除或锁定无效的账号,减少系统安全隐患。问题影响允许非法利用系统默认账号系统当前状态sele

4、ct * from all_users;select * from dba_users;记录用户列表实施步骤1、参考配置操作alter user username lock;/锁定用户drop user username cascade;/删除用户回退方案删除新增加的帐户判断依据首先锁定不需要的用户 在经过一段时间后,确认该用户对业务确无影响的情况下,可以删除实施风险高重要等级备注1.1.3 SHG-Oracle-01-01-03编号SHG-Oracle-01-01-03名称限制超级管理员远程登录实施目的限制具备数据库超级管理员(SYSDBA)权限的用户远程登录。问题影响允许数据库超级管理员远

5、程非法登陆系统当前状态查看 spfile,sqlnet.ora 内容实施步骤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连接到数据库需

6、要输入口令。检测操作1. 以 Oracle 用户登陆到系统中。2. 以 sqlplus /as sysdba登陆到 sqlplus 环境中。3. 使 用 show parameter 命 令 来 检 查 参 数REMOTE_LOGIN_PASSWORDFILE 是否设置为 NONE。Show parameter REMOTE_LOGIN_PASSWORDFILE4. 检查在$ORACLE_HOME/network/admin/sqlnet.ora文件中参数 SQLNET.AUTHENTICATION_SERVICES 是否被设置成 NONE。实施风险高重要等级备注1.1.4 SHG-Oracl

7、e-01-01-04编号SHG-Oracle-01-01-04名称权限最小化实施目的在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权限。问题影响账号权限越大,对系统的威胁性越高系统当前状态select * from user_sys_privs; select * from user_role_privs; select * from user_tab_privs; 记录用户拥有权限实施步骤1、 参考配置操作grant 权限 to username;revoke 权限 from username;2、 补充操作说明 用第一条命令给用户赋相应的最小权限用第二条命令收回用户多余的权限

8、回退方案还原添加或删除的权限判断依据业务测试正常实施风险高重要等级备注1.1.5 SHG-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 passw

9、d;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 r

10、ole testrole;回退方案删除相应的 Rolerevoke role_name from user_name判断依据对应用用户不要赋予 DBA Role 或不必要的权限实施风险高重要等级备注1.1.6 SHG-Oracle-01-01-06编号SHG-Oracle-01-01-06名称用户 profile实施目的对用户的属性进行控制,包括密码策略、资源限制等。问题影响账号安全性低.系统当前状态SELECT profile FROM dba_users WHEREusername=user_name;记录用户赋予的 profile实施步骤可通过下面类似命令来创建 profile,并把它赋

11、予一个用户SQL show parameter resource_limit SQL alter system set resource_limit=true; CREATE PROFILE profile_name LIMITFAILED_LOGIN_ATTEMPTS 6PASSWORD_LIFE_TIME 60PASSWORD_REUSE_TIME 60PASSWORD_REUSE_MAX 5PASSWORD_VERIFY_FUNCTION verify_functionPASSWORD_LOCK_TIME 1/24PASSWORD_GRACE_TIME 90;ALTER USER use

12、r_name PROFILE profile_name;回退方案alter user dinya profile default;恢复默认判断依据1. 可通过设置 profile 来限制数据库账户口令的复杂程度, 口令生存周期和账户的锁定方式等。2. 可通过设置 profile 来限制数据库账户的 CPU 资源占用。4、检测操作1. 以 DBA 用户登陆到 sqlplus 中。2. 查询视图 dba_profiles 和 dba_usres 来检查 profile 是 否创建。实施风险高重要等级备注1.1.7 SHG-Oracle-01-01-07编号 SHG-Oracle-01-01-07名

13、称数据字典保护实施目的启用数据字典保护,只有 SYSDBA 用户才能访问数据字典基础表。问题影响数据库安全性低.系统当前状态Show parameter O7_DICTIONARY_ACCESSIBILITY记录当前状态实施步骤通过设置下面初始化参数来限制只有 SYSDBA 权限的用户才 能访问数据字典。alter system setO7_DICTIONARY_ACCESSIBILITY=FALSEscope=spfile;回退方案修改 O7_DICTIONARY_ACCESSIBILITY 为原来属性判断依据以普通用户登陆到数据库,不能查看 X$开头的表,比如:select * from

14、sys. x$ksppi;检测操作1. 以 Oracle 用户登陆到系统中。2. 以 sqlplus /as sysdba登陆到 sqlplus 环境中。3. 使用 show parameter 命令来检查参数 O7_DICTIONARY_ACCESSIBILITY 是否设置为 FALSE。 Showparameter O7_DICTIONARY_ACCESSIBILITY实施风险高重要等级备注1.1.8 SHG-Oracle-01-01-08编号SHG-Oracle-01-01-08名称检查 DBA 组用户实施目的限制在 DBA 组中的操作系统用户数量,通常 DBA 组中只有Oracle 安

15、装用户。问题影响影响组用户管理系统当前状态Cat /etc/passwd实施步骤参考配置操作通过/etc/passwd 文件来检查是否有其它用户在 DBA 组中。 删除用户:#userdel username;锁定用户:1) 修改/etc/shadow 文件,用户名后加*LK*2) 将/etc/passwd 文件中的 shell 域设置成/bin/false3) #passwd -l username 只有具备超级用户权限的使用者方可使用 ,#passwd -l username 锁定用户,用#passwd d username 解锁后原有密 码失效,登录需输入新密码,修改/etc/shado

16、w 能保留原有 密码。回退方案还原/etc/passwd 文件判断依据判定条件无其它用户属于 DBA 组。 检测操作通过/etc/passwd 文件来检查是否有其它用户在 DBA 组中。实施风险高重要等级备注1.2 口令1.2.1 SHG-Oracle-01-02-01编号SHG-Oracle-01-02-01名称缺省密码长度复杂度限制实施目的对于采用静态口令进行认证的数据库,口令长度至少 6 位, 并包括数字、小写字母、大写字母和特殊符号 4 类中至少 2类。问题影响增加密码被暴力破解的成功率系统当前状态SELECT profile FROM dba_users WHERE username

17、=user_name; 记录用户赋予的 profile实施步骤1、参考配置操作为用户建 profile,调整 PASSWORD_VERIFY_FUNCTION,指定 密码复杂度示例:SQLCREATE OR REPLACE FUNCTION my_password_verify(username VARCHAR2 ,passwordVARCHAR2 ,old_password VARCHAR2 ) RETURN BOOLEANIS2 BEGIN3 IF LENGTH(password) create profile TEST_PROFILE limit2 password_verify_fun

18、ctionMY_PASSWORD_VERIFY;回退方案alter user user_name profile default;判断依据1、 判定条件 修改密码为不符合要求的密码,将失败2、 检测操作alter user user_name identified by passwd;将失败实施风险低重要等级备注1.2.2 SHG-Oracle-01-02-02编号 SHG-Oracle-01-02-02名称缺省密码生存周期限制实施目的对于采用静态口令认证技术的设备,帐户口令的生存期不长于 90 天,减少口令安全隐患。问题影响密码被非法利用,并且难以管理系统当前状态SELECT profile

19、 FROM dba_users WHEREusername=user_name; 记录用户赋予的 profile实施步骤1、 参考配置操作为用户建相关 profile,指定 PASSWORD_GRACE_TIME 为 90 天2、 补充操作说明在 90 天内,需要修改密码回退方案alter user user_name profile default;判断依据3、 判定条件 到期不修改密码,密码将会失效。连接数据库将不会成功4、 检测操作connect username/password 报错实施风险低重要等级备注1.2.3 SHG-Oracle-01-02-03编号SHG-Oracle-01

20、-02-03名称密码重复使用限制实施目的对于采用静态口令认证技术的设备,应配置设备,使用户不能重复使用最近 5 次(含 5 次)内已使用的口令。问题影响密码破解的几率增加系统当前状态SELECT profile FROM dba_users WHEREusername=user_name; 记录用户赋予的 profile实施步骤1、 参考配置操作为用户建 profile,指定 PASSWORD_REUSE_MAX 为2、 补充操作说明 当前使用的密码,必需在密码修改次后才能再次被使用回退方案alter user user_name profile default;判断依据3、 判定条件 重用修

21、改次内的密码,将不能成功4、 检测操作alter user username identified by password1; 如果 password1 在次修改密码内被使用,该操作将不能成功实施风险低重要等级备注编号SHG-Oracle-01-02-04名称密码重试限制实施目的对于采用静态口令认证技术的设备,应配置当用户连续认证失败次数超过 6 次(不含 6 次),锁定该用户使用的账号。问题影响允许暴力破解密码系统当前状态SELECT profile FROM dba_users WHEREusername=user_name; 记录用户赋予的 profile实施步骤1、 参考配置操作为用户

22、建 profile,指定 FAILED_LOGIN_ATTEMPTS 为2、 补充操作说明 如果连续次连接该用户不成功,用户将被锁定回退方案alter user user_name profile default;判断依据3、 判定条件 连续次用错误的密码连接用户,第次时用户将被锁定4、 检测操作connect username/password,连续次失败,用户被锁定实施风险中重要等级备注编号SHG-Oracle-01-02-05名称修改默认密码实施目的更改数据库默认帐号的密码。问题影响可能被破解密码系统当前状态询问管理员账号密码,并记录实施步骤参考配置操作1. 可通过下面命令来更改默认用户

23、的密码:ALTER USER user_name IDENTIFIED BY passwd;2. 下面是默认用户密码列表:CTXSYS CTXSYS DBSNMP DBSNMP LBACSYS LBACSYS MDDATA MDDATA MDSYS MDSYS DMSYS DMSYS OLAPSYS MANAGERORDPLUGINS ORDPLUGINS ORDSYS ORDSYSOUTLN OUTLNSI_INFORMTN_SCHEMA SI_INFORMTN_SCHEMA SYS CHANGE_ON_INSTALLSYSMAN CHANGE_ON_INSTALLSYSTEM MANAGE

24、R回退方案ALTER USER user_name IDENTIFIED BY passwd;判断依据判定条件 不能以用户名作为密码或使用默认密码的账户登陆到数据 库。检测操作1. 以 DBA 用户登陆到 sqlplus 中。2. 检查数据库默认账户是否使用了用户名作为密码或默认 密码。实施风险中重要等级备注2日志配置2.1.1 SHG-Oracle-02-01-01编号SHG-Oracle-02-01-01名称启用日志记录功能实施目的数据库应配置日志功能,对用户登录进行记录,记录内容包 括用户登录使用的账号、登录是否成功、登录时间以及远程 登录时用户使用的 IP 地址。问题影响无法对用户的登

25、陆进行日志记录系统当前状态实施步骤create table login_log -登入登出信息表(session_id int not null, - sessionidlogin_on_time date, -登入时间login_off_time date, -登出时间user_in_db varchar2(30), -登入的 db usermachine varchar2(20), - 机器名ip_address varchar2(20), - ip 地址run_program varchar2(20) - 以何程序登入);create or replace trigger login_o

26、n_info- 记录登入信息的触发器 after logon on database Begininsert into login_log(session_id,login_on_time,login_off_time,user_in_db,machine,ip_address,run_program)selectAUDSID,sysdate,null,sys.login_user,machine,SYS_CO NTEXT(USERENV,IP_ADDRESS),programfrom v$session where AUDSID = USERENV(SESSIONID); -當前 SESSI

27、ONEND;create or replace trigger login_off_info -记录登出信息的触发器 before logoff on database Beginupdate login_log set login_off_time =sysdatewhere session_id = USERENV(SESSIONID);-当前 SESSIONexceptionwhen others then null;END;回退方案ALTER TRIGGER 名称 DISABLE;drop trigger 名称;判断依据判定条件 登录测试,检查相关信息是否被记录 补充说明触发器与 AU

28、DIT 会有相应资源开消,请检查系统资源是否充足。特别是 RAC 环境,资源消耗较大。实施风险低重要等级备注2.1.2 SHG-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

29、 or update or delete on employees_copydeclarel_action employees_log.action%type;beginif inserting then l_action:=insert;elsif updating thenl_action:=delete;elsif deleting then l_action:=update;elseraise_application_error(-2001,you shoule never ever get this error.);end if;insert into employees_log(w

30、ho,action,when)values(user,l_action,sysdate);end biud_employ_copy;回退方案ALTER TRIGGER 名称 DISABLE;drop trigger 名称;判断依据实施风险高重要等级备注2.1.3 SHG-Oracle-02-01-03编号SHG-Oracle-02-01-03名称记录系统安全事件实施目的通过设置让系统记录安全事件,方便管理员分析问题影响无法记录系统的各种安全事件系统当前状态实施步骤参考配置操作create table jax_event_table(eventname varchar2(30),time dat

31、e);create trigger tr_startup after startup ondatabase begininsertinto jax_event_table values(ora_sysevent,sysdate); end;create trigger tr_shutdown beforeshutdownondatabase begininsertinto jax_event_table values(ora_sysevent,sysdate);end;回退方案ALTER TRIGGER 名称 DISABLE;drop trigger 名称;判断依据记录系统安全事件实施风险高重

32、要等级备注2.1.4 SHG-Oracle-02-01-04编号SHG-Oracle-02-01-04名称数据库审计策略实施目的根据业务要求制定数据库审计策略问题影响日志被删除后无法恢复。系统当前状态show parameter audit_sys_operations; show parameter audit_trail; 查看返回值,并记录.实施步骤1、参考配置操作SQL alter system set audit_sys_operations=TRUEscope=spfile;SQL alter system set audit_trail=db scope=spfile; SQL

33、show parameter audit;SQL audit all on table_name;回退方案noaudit all on table_name;恢复 audit_sys_operations, audit_trail 属性判断依据判定条件 对审计的对象进行一次数据库操作,检查操作是否被记录。 检测操作1. 检查初始化参数 audit_trail 是否设置。2. 检 查 dba_audit_trail 视 图 中 或$ORACLE_BASE/admin/adump 目录下是否有数据。 补充说明AUDIT 会有相应资源开消,请检查系统资源是否充足。特别是 RAC 环境,资源消耗较大实

34、施风险低重要等级备注3通信协议3.1.1 SHG-Oracle-03-01-01编号SHG-Oracle-03-01-01名称信任 IP 连接监听器实施目的设置只有信任的 IP 地址才能通过监听器访问数据库。问题影响数据库不安全 IP 访问系统当前状态查看$ORACLE_HOME/network/admin/sqlnet.ora实施步骤参考配置操作只 需 在 服 务 器 上 的 文 件$ORACLE_HOME/network/admin/sqlnet.ora 中设置以下行:tcp.validnode_checking = yes tcp.invited_nodes = (ip1,ip2)回退方

35、案还原$ORACLE_HOME/network/admin/sqlnet.ora 文件判断依据判定条件 在非信任的客户端以数据库账户登陆被提示拒绝。 检测操作检查$ORACLE_HOME/network/admin/sqlnet.ora 文件中是否 设置参数 tcp.validnode_checking 和 tcp.invited_nodes。实施风险高重要等级备注3.1.2 SHG-Oracle-03-01-02编号SHG-Oracle-03-01-02名称网络数据传输安全实施目的使用 Oracle 提供的高级安全选件来加密客户端与数据库之 间或中间件与数据库之间的网络传输数据问题影响数据传输的不安全性增加系统当前状态记录检查$ORACLE_HOME/network/admin/sqlnet.ora 文件

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 成人自考

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

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