您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > Oracle漏洞扫描安全加固
关于操作系统和数据库合规检查漏洞的解决方案Oracle数据库分册适用软件版本Oracle10g、11g适用硬件版本主题关于操作系统和数据库合规检查漏洞的解决方案Oracle数据库分册1、问题描述与原因:Oracle数据库在合规检查时被扫描出漏洞,要求对这些漏洞进行解决。2、应对措施:对存在漏洞进行定制的安全加固操作。3、执行条件/注意事项:加固前确保服务器、数据库、网管运行均正常。最好重启下服务器、数据库和网管查看重启后网管是否能运行正常。如果加固前服务器本身有问题,加固后服务器运行异常会加大排查难度。本解决方案执行完成后,需要重启Oracle数据库来生效某些操作。本解决方案不必完全执行,请根据系统扫描出的漏洞选择对应的漏洞条目进行操作。如无特殊说明,本文中的执行用户均为oracle4、操作步骤:漏洞清单(单击可跳转):(注:漏洞名称与配置项信息中的配置项名称对应。)漏洞1.检查是否对用户的属性进行控制(5)漏洞2.检查是否配置Oracle软件账户的安全策略(2)漏洞3.检查是否启用数据字典保护漏洞4.检查是否在数据库对象上设置了VPD和OLS(6)漏洞5.检查是否存在dvsys用户dbms_macadm对象(14)漏洞6.检查是否数据库应配置日志功能(11)漏洞7.检查是否记录操作日志(13)漏洞8.检查是否记录安全事件日志(7)漏洞9.检查是否根据业务要求制定数据库审计策略漏洞10.检查是否为监听设置密码漏洞11.检查是否限制可以访问数据库的地址(1)漏洞12.检查是否使用加密传输(4)漏洞13.检查是否设置超时时间(15)漏洞14.检查是否设置DBA组用户数量限制(3)漏洞15.检查是否删除或者锁定无关帐号漏洞16.检查是否限制具备数据库超级管理员(SYSDBA)权限的用户远程登录(10)漏洞17.检查口令强度设置(17)漏洞18.检查帐户口令生存周期(12)漏洞19.检查是否设置记住历史密码次数(8)漏洞20.检查是否配置最大认证失败次数漏洞21.检查是否在配置用户所需的最小权限(9)漏洞22.检查是否使用数据库角色(ROLE)来管理对象的权限(16)漏洞23.检查是否更改数据库默认帐号的密码执行Oracle安全加固操作前备份文件:bash-3.2$cp$ORACLE_HOME/network/admin/listener.ora$ORACLE_HOME/network/admin/listener.ora.orgbash-3.2$cp$ORACLE_HOME/network/admin/sqlnet.ora$ORACLE_HOME/network/admin/sqlnet.ora.orgOracle数据库漏洞的解决方案全部执行完成后,需要重启Oracle实例来生效某些操作。漏洞1.检查是否对用户的属性进行控制类型:Oracle数据库类问题:SQLselectcount(t.username)fromdba_userstwhereprofilenotin('DEFAULT','MONITORING_PROFILE');COUNT(T.USERNAME)-----------------0解决方案:暂时不处理。漏洞2.检查是否配置Oracle软件账户的安全策略类型:Oracle数据库类问题:略解决方案:暂时不处理漏洞3.检查是否启用数据字典保护类型:Oracle数据库类问题:SQLselectvaluefromv$parameterwherenamelike'%O7_DICTIONARY_ACCESSIBILITY%';selectvaluefromv$parameterwherenamelike'%O7_DICTIONARY_ACCESSIBILITY%'*ERRORatline1:ORA-01034:ORACLEnotavailableProcessID:0SessionID:0Serialnumber:0解决方案:在数据库启动的情况下,通过下面的命令检查o7_dictionary_accessibility的参数值:bash-3.2$sqlplussystem/oracle@SIDSQL*Plus:Release10.2.0.4.0-ProductiononThuJan911:33:562014Copyright(c)1982,2007,Oracle.AllRightsReserved.Connectedto:OracleDatabase10gEnterpriseEditionRelease10.2.0.4.0-ProductionWiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptionsSQLshowparametero7_dictionary_accessibility;NAMETYPEVALUE-----------------------------------------------------------------------------O7_DICTIONARY_ACCESSIBILITYbooleanFALSE检查出默认的结果是FALSE后,使用下面的命令退出SQL*PLUS:SQLexitDisconnectedfromOracleDatabase11gEnterpriseEditionRelease11.2.0.3.0-64bitProductionWiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptions漏洞4.检查是否在数据库对象上设置了VPD和OLS类型:Oracle数据库类问题:SQLselectcount(*)fromv$vpd_policy;COUNT(*)----------0解决方案:暂时不处理。漏洞5.检查是否存在dvsys用户dbms_macadm对象类型:Oracle数据库类问题:SQLselectcount(*)fromdba_userswhereusername='DVSYS';COUNT(*)----------0解决方案:暂时不处理。漏洞6.检查是否数据库应配置日志功能类型:Oracle数据库类问题:SQLselectcount(*)fromdba_triggerstwheretrim(t.triggering_event)=trim('LOGON');COUNT(*)----------0解决方案:暂时不处理。漏洞7.检查是否记录操作日志类型:Oracle数据库类问题:SQLselectvaluefromv$parametertwheret.name='audit_trail';selectvaluefromv$parametertwheret.name='audit_trail'*ERRORatline1:ORA-01034:ORACLEnotavailableProcessID:0SessionID:0Serialnumber:0解决方案:暂时不处理。漏洞8.检查是否记录安全事件日志类型:Oracle数据库类问题:SQLselectcount(*)fromdba_triggerstwheretrim(t.triggering_event)=trim('LOGON');COUNT(*)----------0解决方案:暂时不处理。漏洞9.检查是否根据业务要求制定数据库审计策略类型:Oracle数据库类问题:SQLselectvaluefromv$parametertwheret.name='audit_trail';selectvaluefromv$parametertwheret.name='audit_trail'*ERRORatline1:ORA-01034:ORACLEnotavailableProcessID:0SessionID:0Serialnumber:0解决方案:暂时不处理。漏洞10.检查是否为监听设置密码类型:Oracle数据库类问题:$cat`find$ORACLE_HOME-namesqlnet.ora`|grep-v#|grep-v^$find:0652-081cannotchangedirectoryto/oracle/app/oracle/dbhome_1/sysman/config/pref::Thefileaccesspermissionsdonotallowthespecifiedaction.$cat`find$ORACLE_HOME-namelistener.ora`|grep-v#|grep-v^$find:0652-081cannotchangedirectoryto/oracle/app/oracle/dbhome_1/sysman/config/pref::Thefileaccesspermissionsdonotallowthespecifiedaction.SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=PLSExtProc)(ORACLE_HOME=/oracle/app/oracle/dbhome_1)(PROGRAM=extproc))(SID_DESC=(GLOBAL_DBNAME=minos)(ORACLE_HOME=/oracle/app/oracle/dbhome_1)(SID_NAME=minos)))LISTENER=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=100.92.255.141)(PORT=1521))))ADR_BASE_LISTENER=/oracle/app/oracle解决方案:bash-3.2$lsnrctlLSNRCTLforIBM/AIXRISCSystem/6000:Version11.2.0.3.0-Productionon08-JAN-201415:11:21Copyright(c)1991,2011,Oracle.Allrightsreserved.WelcometoLSNRCTL,typehelpforinformation.LSNRCTLchange_passwordOldpassword:如果之前没有密码则这里不填,直接按Enter键Newpassword:Reenternewpassword:Connectingto(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.92.243.82)(PORT=1521)))PasswordchangedforLISTENERThecommandcompletedsuccessfullyLSNRCTLsave_configConnectingto(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.92.243.82)(PORT=1521)))SavedLISTENERconfigurationparameters.ListenerParameterFile/oracle/app/oracle/11.2.0.3/dbhome_1/network/admin/listener.oraOldParameterFile/oracle/app/oracle/11.2.0.3/dbhome_1/network/admin/listener.bakThecommandcompletedsuccessfullyLSNRCTLexitbash-3.2$设置完成后通过下面的命令检查:bash-3.2$cat$ORACLE_HOME/network/admin/listener.ora|grep^PASSWORDS有输出则说明已经设置成功了。漏洞11.检查是否限制可以访问数据库的地址类型:Oracle数据库类问题:$cat`
本文标题:Oracle漏洞扫描安全加固
链接地址:https://www.777doc.com/doc-5563055 .html