oracle安全基线

上传人:鲁** 文档编号:543025021 上传时间:2023-07-11 格式:DOCX 页数:22 大小:374.08KB
返回 下载 相关 举报
oracle安全基线_第1页
第1页 / 共22页
oracle安全基线_第2页
第2页 / 共22页
oracle安全基线_第3页
第3页 / 共22页
oracle安全基线_第4页
第4页 / 共22页
oracle安全基线_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《oracle安全基线》由会员分享,可在线阅读,更多相关《oracle安全基线(22页珍藏版)》请在金锄头文库上搜索。

1、Oracle数据库安全配置基线加固操作指导书佛山供电局信息中心2014年4月目录1.1 Oracle数据库安全配置基线 21.1.1 确保数据库多余用户已锁定 21.1.2 口令力口密31.1.3 数据库SYSDBA 帐号登录控制 31.1.4 口令应有复杂度要求 51.1.5 应启用登录失败处理功能 91.1.6 网络通信加密101.1.7 应对数据库主机管理员帐号进行控制 101.1.8 依据安全策略控制用户对资源的访问 121.1.9 实现管理用户的权限分离 131.1.10 应对数据库数据字典保护 141.1.11 确保安全审计配置符合安全审计策略的要求 151.1.12 应保护审计记

2、录避免受到破坏 171.1.13 数据库系统应遵循最小安装的原则 171.1.14 应设置监听口令 171.1.15 应设置监听服务空闲连接超时时间 191.1 Oracle数据库安全配置基线1.1.1 确保数据库多余用户已锁定基线要求查看Oracle用户列表,确保数据库多余用户已锁定基线标准SYS/SYSMAN/SYSTEM和单独创建的业务账户外,其余账户均已锁定检查方法利用sqlplus登录进oracle数据库执行下列语句查看所有用户:select * from all_users;加固方法根据需要执行下列语句:alter user username(需要锁定的用户名)lock;(锁定用户

3、)drop user username (需要删除的用户名)cascade;(删除用户)一般不要去删除1.1.2 口令加密基线要求口令加密基线标准Sqlnet.ora 文件中的 ORA_ENCRYPT_LOGIN=TRUE init.ora 文件中的 dblink_encrypt_long=TRUE检查方法检测 $ORACLE_HOMEnetworkadmin目 录下的 Sqlnet.ora 文件中的ORA_ENCRYPT_LOGIN确保设为TRUE保证客户端口令力口密检测 $ORACLE_HOME/dbfe下的 init.ora 文件中的 dblink_encrypt_long 参数确保设为

4、TRUE保证服务器口令加密加固方法设置 $ORACLE_HOMEnetworkadmin目 录下的 Sqlnet.ora 文件中的ORA_ENCRYPT_LOGIN为TRUE保证客户端口令力口密设置$ORACLE_HOME/dbfe下的 init.ora 文件中的 dblink_encrypt_long参数为TRUE保证服务器口令加密1.1.3数据库SYSDBA帐号登录控制基线要求数据库SYSDBA帐号登录控制基线标准禁止远程登录(同时禁止远程和自动登录会sys用户无法登录数据库)检查方法1、远程登录利用sqlplus登录进oracle数据库使用 show parameter 命令来检查参数

5、REMOTE_LOGIN_PASSWORDFI“置为 NONE执行语句:Show parameter REMOTE_LOGIN_PASSWORDFILE;Ml 2 、自动登录在服务器上查找 SQLNET.ORA文件,一般是$ORACLE_HOME/network/admin目录中,不过有时路径会不一样(按实际情况查找,直接采用搜索功能也可)。查看该文件 SQLNET.AUTHENTICATION_SERVICES,确保为 none加固方法1、远程登录在 spfile 中设置 REMOTE_LOGIN_PASSWORDFILE=NONE SYSDBAi户从远程登陆 alter spfile RE

6、MOTE_LOGIN_PASSWORDFILE=NONE执行下列四个步骤:1、conn / as sysdba;2、 alter system set remote_login_passwordfile=none scope=spfile;3、shutdown immediate;(注意这里要重启才生效)4、Startup;Dadr通匕店写a inountpd.口甘.SQL shnu parwrer rfmoteogin_passuttrdF11 e;MAULlFLrriwt n _ 1 nii n pa-s iniiB(l f 1 Ip5trinj,型:匚、QL2、自动登录在$ORACLE_

7、HOMEnetworkadmin 目录下的 Sqlnet.ora 文件中设置SQLNET.AUTHENTICATION_SERVICES=(NONE)- lii草率文静g嗡IS通格式加重片旧书尉限Jit sqlntc.ora NtiMrk ComllgurAtln 111#: D:oriaci?|ijediuct.l9.1 -BVlb_l upti n r)lnrt .(irnIt Generated Uy Oracle canf iguration tools.中 M K T . 制 ITH1s HT rtflTI 限二底 HUT DENA IF 5. DI RECTO RV PiTH- (

8、THIS HAWS, FZCOHKCT)%! lii t . rscp!rf_t iiw id1.1.4 口令应有复杂度要求基线要求数据库系统管理用户身份标识应具有不易被冒用的特点,口令应有复杂度要求 并定期更换;基线标准PASSWORD_LIFE_TIME: 口令有效时间password_life_time= 90PASSWORD_LOCK_TIME:登录超过有效次数锁定时间password_lock_time=10*1/1440PASSWORD_REUSE_MAX: 口令历史记录保留次数 password_reuse_ max=5PASSWORD_REUSE_TIME: 口令再次被使用的间

9、隔时间password_reuse_ time= 365检查方法利用sqlplus登录进oracle数据库查询视图dba_profiles和dba_usres来检查profile确保已修改。执行语句查看:select * from dba_profiles order by PROFILE;加固方法密码长度检测:创建函数CREATE OR REPLACE FUNCTION my_verify_function(username varchar2,password varchar2,old_password varchar2)RETURN boolean ISn boolean;m intege

10、r;differ integer;isdigit boolean;ischar boolean;ispunct boolean;digitarray varchar2(20);punctarray varchar2(25);chararray varchar2(52);BEGINdigitarray:= 0123456789,;chararray:=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ; punctarray:=!#$%&()*+,-/:;?_;-Check if the password is same as the use

11、rnameIF NLS_LOWER(password) = NLS_LOWER(username) THENraise_application_error(-20001, Password same as or similar to user); END IF;-Check for the minimum length of the passwordIF length(password) 8 THENraise_application_error(-20002, Password length less than 4);END IF;-Check if the password is too

12、simple. A dictionary of words may be-maintained and a check may be made so as not to allow the words-that are too simple for the password.IF NLS_LOWER(password) IN (welcome, database, account, user, password, oracle, computer, abcd) THEN raise_application_error(-20002, Password too simple);END IF;-

13、-Check if the password contains at least one letter, one digit and one- -punctuation mark.- -1. Check for the digit isdigit:=FALSE;m := length(password);FOR i IN 1.10 LOOPFOR j IN 1.m LOOPIF substr(password,j,1) = substr(digitarray,i,1) THEN isdigit:=TRUE;GOTO findchar;END IF;END LOOP;END LOOP;IF is

14、digit = FALSE THEN raise_application_error(-20003, Password should contain at least one digit, one character and one punctuation);END IF;- -2. Check for the characterischar:=FALSE;FOR i IN 1.length(chararray) LOOPFOR j IN 1.m LOOPIF substr(password,j,1) = substr(chararray,i,1) THEN ischar:=TRUE;GOTO findpunct;END IF;END LOOP;END LOOP;IF ischar = FALSE THENraise_application_error(-20003, Password should contain at least one digit, one character and one punctuation);END IF;- -3. Check for the punctuation ispunct:=FALSE;FOR i IN 1.length(punctarray) LOOPFOR j IN 1.m LOOPIF substr(password,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号