Oracle漏洞扫描安全加固_第1页
Oracle漏洞扫描安全加固_第2页
Oracle漏洞扫描安全加固_第3页
Oracle漏洞扫描安全加固_第4页
Oracle漏洞扫描安全加固_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

关于操作系统和数据库合规检查漏洞的解决方案Oracle数据库分册适用软件版本Oraclelog、11g适用硬件版本主题关于操作系统和数据库合规检查漏洞的解决方案Oracle数据库分册1、 问题描述与原因:Oracle数据库在合规检查时被扫描出漏洞,要求对这些漏洞进行解决。2、应对措施:对存在漏洞进行定制的安全加固操作。3、 执行条件/注意事项:加固前确保服务器、数据库、网管运行均正常。最好重启下服务器、数据库和网管查看重启后网管是否能运行正常。如果加固前服务器本身有问题,加固后服务器运行异常会加大排查难度。本解决方案执行完成后,需要重启Oracle数据库来生效某些操作。本解决方案不必完全执行,请根据系统扫描出的漏洞选择对应的漏洞条目进行操作。

如无特殊说明,本文中的执行用户均为oracle4、操作步骤:漏洞清单(单击可跳转):(注:漏洞名称与配置项信息中的配置项名称对应。)漏洞1・检查是否对用户的属性进行控制(5)漏洞2・检查是否配置Oracle软件账户的安全策略(2)漏洞3・检查是否启用数据字典保护漏洞4・检查是否在数据库对象上设置了VPD和OLS(6)漏洞5・检查是否存在dvsys用户dbmsmacadm对象(14)漏洞6・检查是否数据库应配置日志功能(11)漏洞7・检查是否记录操作日志(13)漏洞&检查是否记录安全事件日志(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安全加固操作前备份文件:Ibash-gEWdpsoRACLEiHOME/network/admin/nsteneEorayoRACLEiHOME/neiwork]|/admin/|bash-3.2$cp$ORACLE_HOME/network/admin/sqlnet.ora$ORACLE_HOME/network/|ladmin/Oracle数据库漏洞的解决方案全部执行完成后,需要重启Oracle实例来生效某些操作。漏洞1.检查是否对用户的属性进行控制类型:Oracle数据库类问题:$QL>seiectcount(t:username)iromdba_users「whereprofneno「in('DEFAULT;'MONi]|toring_profilf);|COUNT(T.USERNAME)TOC\o"1-5"\h\z| |i i0I I解决方案:暂时不处理。漏洞2.检查是否配置Oracle软件账户的安全策略类型:Oracle数据库类问题:略解决方案:暂时不处理漏洞3・检查是否启用数据字典保护类型:Oracle数据库类问题:|SQL>seiec『vaiuefromv$parameterwherenameiike'%O7_DTcnoNARY_ACCESsiBiii|Ity%';[selectvaluefromv$parameterwherenamelike'%O7_dictionary_accessibiuty%'|I*〔ERRORatline1:|ora-01034:oraclenotavailable〔ProcessID:0[SessionID:0Serialnumber:0解决方案:在数据库启动的情况下,通过下面的命令检查o7_dictionary_accessibility的参数值:|bash-3.2$sqlplUssystem/oracle@<SlD>|SQL*Plus:Release.0-ProductiononThuJan911:33:562014〔Copyright(c)1982,2007,Oracle.AllRightsReserved. i[Connectedto:iOracleDatabaselogEnterpriseEditionRelease.0-Production[withthePartitioning,OLARDataMiningandRealApplicationTestingoptions|SQL>showparametero7_dictionary_accessibility;TOC\o"1-5"\h\zi ii iIname typevalue1 1I I|o7_dictionary_accessibiuty booleanfalseI I|检查出默认的结果是FALSE后,使用下面的命令退出SQL*PLUS: ||SQL>exit〔DisconnectedfromOracleDatabase11gEnterpriseEditionRelease.0-64bit|production[WiththePartitioning,OLARDataMiningandRealApplicationTestingoptionsTOC\o"1-5"\h\z1 1I I漏洞4・检查是否在数据库对象上设置了VPD和OLS类型:Oracle数据库类问题:fsQL>'serectcoUnt(*)ffomv$vpd_p6ricy; 〕|COUNT(*)0解决方案:暂时不处理。漏洞5.检查是否存在dvsys用户dbms_macadm对象类型:Oracle数据库类问题:lSQL>seiec『丽uni(*)from0ba_userswhereusernamie='DVSYS';|COUNT(*)I0TOC\o"1-5"\h\zI I1 1I I解决方案:暂时不处理。漏洞6・ 检查是否数据库应配置日志功能类型:Oracle数据库类问题:fSQL>'sereCiCoUni(*)froffiaba_iriggerS"iwherelriffi(i:triggefing_eveni)=irim('LOG|ON'); ||COUNT(*)0I1I 解决方案:暂时不处理。漏洞7・ 检查是否记录操作日志类型:Oracle数据库类问题:|SQL>seiec『vaiuefromrv$parameteFiWherei・name='audii_traii';[selectvaluefromv$='audi,i_i:rail'i!*[errorailine1:|ora-01034:ORACLEnoiavailableProcessid:0I〔Sessionid:0Serialnumber:0解决方案:暂时不处理。漏洞8・ 检查是否记录安全事件日志类型:Oracle数据库类问题:$QL>seiec『couni(*jfrimdba_triggersfWhere而m(ifriggering_eveni)三trim('LOG|ON');ICOUNT(*)0I解决方案:暂时不处理。漏洞9・检查是否根据业务要求制定数据库审计策略类型:Oracle数据库类问题:|SQL>seiecivaiue】romrv$parameieiTWherei:name='audit_iraii';[selectvaluefromv$='audii_i:rail'ii*[erroratline1:|ora-01034:ORACLEnotavailableprocessid:0[Sessionid:0Serialnumber:0解决方案:暂时不处理。漏洞10・检查是否为监听设置密码类型:Oracle数据库类问题:IFcaninffWACiooME-fiamesqifieLora'T酰P可"#"lgrep可呗$" find:0652-081cannotchangedirectoryto</oracle/app/oracle/dbhome_1/sysman^|/config/pref>:|:Thefileaccesspermissionsdonotallowthespecifiedaction・|$cat'find$ORACLE_HOME-namelistener.ora'Igrep-v"#"|grep-v"人$"find:0652-081cannotchangedirectorytov/oracle/app/oracle/dbhome_1/sysman|l/config/pref>:TOC\o"1-5"\h\z|:Thefileaccesspermissionsdonotallowthespecifiedaction・|SID_LIST_LISTENER二I(SID_LIST二|(SID_DESC= ||(SID_NAME=PLSEXtProc)(ORACLE_HOME=/oracle/app/oracle/dbhome_1)I(PROGRAM=extproc) Ii) I|(SID_DESC= ||(GLOBAL_DBNAME=minos)(ORACLE_HOME=/oracle/app/oracle/dbhome_l)I (SID_NAME=minos) Ii i1)I II ) I〔LISTENER= II(DESCRIPTION_LIST二I II(DESCRIPTION二|(ADDRESS=(PROTOCOL=TCPMHOST=100・92・255・141)(PORT=1521))I ) I1 1! ) !I " I|adr_base_listener=/oracie/app/oracieI I解决方案:^Bash-3.2$isnrctl ]i ii ii iIlsnrctlfor IBM/AIXRISCSystem/6000:Version.0-Productionon08-JAN-201Il415:11:21〔Copyright(c)1991,2011,Oracle.Allrightsreserved・TOC\o"1-5"\h\zI Ii ii ii iIWelcometolsnrctl,type"help"forinformation.11I I|lsnrctl>change_password®ldpassword:<如果之前没有密码则这里不填,直接按Enter键〉 ||Newpassword:[Reenternewpassword:[Connectingto(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10・92・243・82MPORT||=1521)))passwordchangedforLISTENER[Thecommandcompletedsuccessfully|lsnrctl>save_configI I〔Connectingto(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10・92・243・82MPORT||=1521)))〔SavedLISTENERconfigurationparameters・I IlistenerParameterFile/oracle/app/oracle/11・2・0・3/dbhome_1/network/admin/1[listener.ora|OldParameterFile/oracle/app/oracle/11・2・0・3/dbhome_1/network/admin/liste|iner・bak[Thecommandcompletedsuccessfully|lsnrctl>exit|bash-3.2$|设置完成后通过下面的命令检查: ||bash-3.2$cat$ORACLE_HOME/network/admin/listener・ora|grep"PASSWORDS"||有输出则说明已经设置成功了。 |漏洞11・检查是否限制可以访问数据库的地址类型:Oracle数据库类问题:l$canffiff$ORAcioOME:naffiesqlffle[・oran酰p可"#"igiw可叹$" find:0652-081cannotchangedirectorytov/oracle/app/oracle/dbhome_l/sysman||/config/pref>:I:Thefileaccesspermissionsdonotallowthespecifiedaction・$cat'find$ORACLE_HOME-namelistener.ora'Igrep-v"#"|grep-v"人$"find:0652-081cannotchangedirectorytov/oracle/app/oracle/dbhome_1/sysman|l/config/pref>:|:Thefileaccesspermissionsdonotallowthespecifiedaction・|SID_LIST_LISTENER二

|ADR_base_listener=/oracle/app/oracle解决方案:检查$ORACiooME/neiw而admn/sqin丽ra文件■中是否有■以下■行;…|tcrvalidnode_checking=YES|t«UNVITED_NODES=(<host_1>,vhost_2>,…)TOC\o"1-5"\h\zI其中<host_x>是允许访问本数据库的IP地址。 II II如果没有,则根据需要在文件中添加,随后重启数据库。 I|重启完成后,则数据库只允许tcp.invited_nodes列出的IP来访问。 |11I I|如果不存在sqlnet.ora文件,请使用以下命令创建此文件后再实施上面的操|作: II Ijbash-3.2$touch$ORACLE_HOME/network/admin/sqlnet・ora漏洞12・检查是否使用加密传输类型:Oracle数据库类问题:$canind$ORACLE_HOME:namesqinei[・0ra'Tgfep可"#"Tgre0-v"/$" I Ifind:0652-081cannotchangedirectorytov/oracle/app/oracle/dbhome_l/sysman||/config/pref>:i:Thefileaccesspermissionsdonotallowthespecifiedaction・i$cat'find$ORACLE_HOME-namelistener.ora'Igrep-v"#"|grep-v"人$"find:0652-081cannotchangedirectorytov/oracle/app/oracle/dbhome_1/sysman||/config/pref>:I:Thefileaccesspermissionsdonotallowthespecifiedaction・|SID_LIST_LISTENER二TOC\o"1-5"\h\z|(SID_LIST二|(SID_DESC= |I(SID_NAME=PLSEXtProc)(ORACLE_HOME=/oracle/app/oracle/dbhome_l)|(PROGRAM=extproc)I) I| (SID_DESC= |I(GLOBAL_DBNAME=minos)(ORACLE_HOME=/oracle/app/oracle/dbhome_l)| (SID_NAME=minos) |!)I II ) I〔LISTENER= |i(DESCRIPTION_LIST二I(DESCRIPTION二|(ADDRESS=(PROTOCOL=TCPMHOST=100・92・255・141)(PORT=1521))TOC\o"1-5"\h\zI) Ii iI) IIadr_base_listener=/oracie/app/oracie解决方案:暂时不处理。漏洞13.检查是否设置超时时间类型:Oracle数据库类问题:l$canififf$ORSciOOME:fiamrsqifiei(・orangrep可"#"]grep;v斥$" find:0652-081cannotchangedirectorytov/oracle/app/oracle/dbhome_1/sysman|l/config/pref>:I I|:Thefileaccesspermissionsdonotallowthespecifiedaction・|$cat'find$ORACLE_HOME-namelistener.ora'Igrep-v"#"|grep-v"人$"find:0652-081cannotchangedirectorytov/oracle/app/oracle/dbhome_1/sysman||/config/pref>:|:Thefileaccesspermissionsdonotallowthespecifiedaction・

TOC\o"1-5"\h\zI) I|adr_base_listener=/oracie/app/oraciei ii i解决方案:通过下面的命令检查是否设置了dQiNETIXPIREJIME的参数值为而: ||bash-3.2$grep-i"SQLNET・EXPIRE_TIME"$ORACLE_HOME/network/admin/sqlnet.or|i ii i如果没有设置,在$ORACLE_HOME/network/admin/sqlnet・ora文件中添加一I行 II I〔SQLNET・EXPIRE_TIME=10随后重新启动监听和数据库。|如果不存在sqlnet.ora文件,请使用以下命令创建此文件后再实施上面的操|作: ||bash-3.2$touch$ORACLE_HOME/network/admin/sqlnet・oraI I漏洞14・检查是否设置DBA组用户数量限制类型:Oracle数据库类问题:略解决方案:手动将其他非oracle的用户从dba组中删除,将oracle用户从root或system组中删除。查询用户所属组的命令是groupsvusername〉。改变用户所属组的命令是usermod-G<groupnamel>,<groupname2><username>。漏洞15・检查是否删除或者锁定无关帐号类型:Oracle数据库类问题:FSQL>'serectt;usernamelromaba_user^twherei.aCCount_sta(us='OPENi;[selectt.usernamefromdba_userstwheret.account_status='OPEN'i*Terroratline1:Iora-01034:ORACLEnotavailableprocessid:0[Sessionid:0Serialnumber:0解决方案:暂时不处理。漏洞16・检查是否限制具备数据库超级管理员(SYSDBA)权限的用户远程登录类型:Oracle数据库类问题:ISQL>seiec『t.VALUHrom-v$parameiferTWhereupper(匸NAME)Tike'%REMOTE_LOGiN口〔PASSWORDFILE%';〔VALUE〔EXCLUSIVE解决方案:在数据库启动时,通过下面的命令检香remote_iOgin_passWordiiie……的参数〕TOC\o"1-5"\h\z值: I|bash-3.2$sqipiussys/oracie@<SlD>assysdba|SQL*Plus:Release.0-ProductiononThuJan911:33:562014〔Copyright(c)1982,2007,Oracle.AllRightsReserved.i ii ii i〔Connectedto:〔OracleDatabase10gEnterpriseEditionRelease.0-Production[WiththePartitioning,OLARDataMiningandRealApplicationTestingoptionsi ii ii i|SQL>showparametersremote_login_passwordfile;[name typevalueTOC\o"1-5"\h\zi ii i|remote_login_passwordfilestringEXCLUSIVEI如果参数值为NONE,则默认满足安全要求。否则,通过下面的SQL语句修||改参数值为NONE: ||sql>altersystemsetremote_login_passwordfile二nonescope二spfile;〔Systemaltered.I II II修改后重启数据库: II I|sql>shutdownimmediate[Databaseclosed・〔Databasedismounted.|ORACLEinstanceshutdown・lbash-3.2$exportORACLE_SID=<SID>|bash-3.2$sqlplus/nolog|SQL*Plus:Release.0-ProductiononTueMay2011:01:552014〔Copyright(c)1982,2010,Oracle.AllRightsReserved.1Iii|SQL>conn/assysdba〔Connectedtoanidleinstance.|sql>startup[ORACLEinstancestarted.[TotalSystemGlobalArea8589934592bytes〔FixedSize 2065744bytes[variableSize3238009520bytes〔DatabaseBuffers 5301600256bytesI〔RedoBuffers 48259072bytes〔Databasemounted.[Databaseopened.|sql>|检查参数值是否修改成功:|SQL>showparametersremote_login_passwordfile;I〔NAME TYPEVALUE|remote_login_passwordfilestringNONETOC\o"1-5"\h\zI修改成功后退出SQL*PLUS: I|SQL>exit〔Disconnectedfrom OracleDatabaselogEnterpriseEditionRelease.0-Produ||ction[WiththePartitioning,OLARDataMiningandRealApplicationTestingoptions漏洞17・检查口令强度设置类型:Oracle数据库类问题:|SQL>§elecicouni(*)fr6m0ba_0roiiles_wheFe〒esource]name='PASSWORD_VERiFY_FUNCTION'andlimit='NULL';|COUNT(*)TOC\o"1-5"\h\zi iI ii iI1 I解决方案:暂时不处理。漏洞18・检查帐户口令生存周期类型:Oracle数据库类问题:]sql>seieciiimitfromdba_proiiiesTWhereTesource_name三'password_life_time]TOC\o"1-5"\h\zi i!| 1';:, :LIMITi iI Ii i〔UNLIMITED〔DEFAULT〔DEFAULTi i解决方案:暂时不处理。漏洞19・检查是否设置记住历史密码次数类型:Oracle数据库类问题:iSQL>seiectiimiifrom「dba_proiiiestwhereTesource_name='PASSWORD_]MUSE_MA咕・ - - 一「|X;I I〔LIMIT[UNLIMITED〔DEFAULTI I〔DEFAULT解决方案:暂时不处理。漏洞20・检查是否配置最大认证失败次数类型:Oracle数据库类问题:$QL>seiectiimiifrom「dba_proiiiestwhere”resource_name='FAiLED_LOGiN_ATTEM]|PTS';[selectlimitfromdba_profilestwhereresource_name='FAILED_LOGIN_ATTEMPTS'|i*〔ERRORatline1:I IIora-01034:oraclenotavailable[ProcessID:0〔SessionID:0Serialnumber:0I I解决方案:在数据库启动的情况下,,通过下面的命令检查"FAiLED_LbGlN_ATTEMPfS的值訂ibash-3.2$sqlplussystem/oracle@<SlD>|SQL*Plus:Release.0-ProductiononThuJan911:33:562014〔Copyright(c)1982,2007,Oracle.AllRightsReserved.〔Connectedto:〔OracleDatabase10gEnterpriseEditionRelease.0-Production[withthePartitioning,OLARDataMiningandRealApplicationTestingoptions|SQL>SELECTRESOURCE_NAME,LIMITFROMDBA_PROFILESWHERERESOURCE_NAME='F||AILED_LOGIN_ATTEMPTS'ANDPROFILE二'DEFAULT';TOC\o"1-5"\h\zi ii i|resource_namelimiti ii ii————————————————————————————————————————————————————|failed_login_attemptsunlimitedi i|如果LIMIT的值为6,则符合安全要求。否则,通过下面的SQL语句修改参|数值: ||sql>alterprofiledefaultLIMITFAILED_LOGIN_ATTEMPTS6;1 1I II II Iprofilealtered.TOC\o"1-5"\h\zI检查参数值是否修改成功: II I|SQL>SELECTRESOURCE_NAME,LIMITFROMDBA_PROFILESWHERERESOURCE_NAME='F||AILED_LOGIN_ATTEMPTS'ANDPROFILE二'DEFAULT';1 II IIresource_namelimiti !i ii————————————————————————————————————————————————————>AILED_LOGIN_ATTEMPTS6|修改成功后退出SQL*PLUS: ||sql>exit〔DisconnectedfromOracleDatabase10gEnterpriseEditionRelease.0-Produ1I IAction〔WiththePartitioning,OLARDataMiningandRealApplicationTestingoptions漏洞21・检查是否在配置用户所需的最小权限类型:Oracle数据库类问题:fSQL>'serectcouni(a:username)fromdBa_usersa'lerfjoinaba_roie_privsbona.use|rname=b・granteewheregranted_role='DBA'anda.usernamenotin('SYS','SYSMA||N','SYSTEM','WKSYS','CTXSYS');|COUNT(A.USERNAME)I I19TOC\o"1-5"\h\zI Ii ii i解决方案:暂时不处理。漏洞22・ 检查是否使用数据库角色(ROLE)来管理对象的权限类型:Oracle数据库类问题:|SQL>seiec『couni(a・username)fromdba_usersaief『joindba_roie_privsbona・use]|rname=b・granteewheregranied_role='DBA'anda.usernamenotin('SYS','SYSMA||n','SYSTEM','WKSYS','CTXSYS');|COUNT(A.USERNAME)TOC\o"1-5"\h\zH; II II I解决方案:暂时不处理。漏洞23.检查是否更改数据库默认帐号的密码类型:Oracle数据库类问题:|SQL>seiectusername;passwordfomdba_userswherepasswordin('DF02A496267DE]|E66','2BE6F80744E08FEB','9793B3777CD3BD1A','CE4A36B8E06CA59C','9C30855E7E0i|CB02D','6399F3B38EDF3288');〔USERNAME PASSWORDTOC\o"1-5"\h\zi ii ii———————————————————————————————————————————————————————————— j〔DIP CE4A36B8E06CA59C[MDDATA DF02A496267DEE66|SQL>selectusername,passwordfromdba_userswherepasswordin('66F4EF5650C20i|355','BFBA5A553FD9E28A','7C9BA362F8314299','71E687F036AD56E5','anonymous','II I〔88D8364765FCE6AF');〔USERNAME PASSWORDI I|EXFSYS66F4EF5650C20355〔ANONYMOUSanonymousWMSYS7C9BA362F8314299CTXSYS71E687F036AD56E5DMSYSBFBA5A553FD9E28A|XDB88D8364765FCE6AFi6rowsselected・TOC\o"1-5"\h\zi iI Ii i|SQL>

温馨提示

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

评论

0/150

提交评论