欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Oracle数据库系统安全配置手册 .docx

    • 资源ID:13058948       资源大小:112.26KB        全文页数:13页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Oracle数据库系统安全配置手册 .docx

    精品名师归纳总结附件四: Oracle 数据库系统安全配置本标准适用于 Unix/Linux操作系统下的Oracle 数据库系统,版本为8i、9i、10g.1 安全补丁的更新加固目的准时更新数据库的安全补丁,削减数据库系统可能受到的攻击.加固方法查看,下载并安装相关的安全补丁.参考 Oracle 厂商建议,仅对已发觉的特定漏洞或缺陷安装相应补丁.2 $ORACLE_HOME/bin目录权限爱护加固目的确保对 $ORACLE_HOME/bin目录的拜访权限尽可能少加固方法运行命令:chown R oracle:dba $ORACLE_HOME/bin验证: ls l $ORACLE_HOME/bin确保该目录下的文件属主为oracle 用户, 且其他用户没有写权限.3 Oracle 数据字典的爱护加固目的设置爱护后,可防止其他用户(具有ANY system privileges)使用数据字典时,具有相同的 ANY权限 .加固方法使 用 文 本 方 式 , 打 开 数 据 库 配 置 文 件 init<sid>.ora 。 更 改 以 下 参 数O7_DICTIONARY_ACCESSIBILITY.1. Oracle 9i 、10g:缺省值是 False2. Oracle 8i :缺省值是 True,需要改成 False 3假如用户必需需要该权限,给予其权限SELECT ANY DICTIONARY 验证: SQL> show parameter O7_DICTIONARY_ACCESSIBILITYNAMETYPEVALUEO7_DICTIONARY_ACCESSIBILITYbooleanFALSE可编辑资料 - - - 欢迎下载精品名师归纳总结4 加强拜访掌握加固目的设置正确识别客户端用户,并限制操作系统用户数量(包括治理员权限、root 权限、一般用户权限等)加固方法1 使 用 文 本 方 式 , 打 开 数 据 库 配 置 文 件 init<sid>.ora 。 设 置 参 数REMOTE_OS_AUTHENT值为 FALSE SAP 系统不行设置为 False2 在数据库的账户治理中删除不必要的操作系统账号设置(需重启数据库):alter system set remote_os_authent=false scope=spfile。验证:SQL> show parameter remote_os_authent NAMETYPEVALUEremote_os_authentbooleanFALSE5 监听程序的治理加固目的通过设置 listener.ora 文件中的参数ADMIN_RESTRICTIONS_listener_name来防止远程对监听程序的非授权治理.加固方法在 listener.ora 文件中,设置ADMIN_RESTRICTIONS_listener_name=ON. LISTENER 加拜访密码: only 9i$ORACLE_HOME/network/admin/listener.oraPASSWORDS_LISTENER =10g : 监听默认为本的操作系统帐号认证,即禁止远程治理验证:Lsnrctl status,查看输出SecurityON: Local OS Authentication6 关闭 Extproc 功能加固目的由于 extproc 存在安全问题答应用户不进行身份认证就可以调用系统函数, 因此,假如不需要该功能必需关闭.加固方法修改 TNSNAMES.ORA和 LISTENER.ORA文件,删除以下条目:可编辑资料 - - - 欢迎下载精品名师归纳总结icache_extproc PLSExtproc Extproctnsnames.ora : #EXTPROC_CONNECTION_DATA = # DESCRIPTION =#ADDRESS_LIST =#ADDRESS = PROTOCOL = IPCKEY = EXTPROC0 #CONNECT_DATA =#SID = PLSExtProc#PRESENTATION = RO # listener.ora :#SID_DESC =#SID_NAME = PLSExtProc#ORACLE_HOME = /opt/oracle/product/10.2.0/db_1 #PROGRAM = extproc#ADDRESS = PROTOCOL = IPCKEY = EXTPROC07 密码文件治理加固目的配置密码文件的使用方式加固方法使 用 文 本 方 式 , 打 开 数 据 库 配 置 文 件 init<sid>.ora。 设 置 参 数REMOTE_LOGIN_PASSWORD_FILE=NONE.只能使用 OSNone: 使得 oracle 不使用密码文件,只能使用OS 认证,不答应通过担心全网络进行远程治理.Exclusive:可以使用唯独的密码文件,但只限一个数据库.密码文件中可以包括除了 sys 用户的其他用户 .Shared: 可以在多个数据库上使用共享的密码文件.但是密码文件中只能包含sys用户 .设置:(需重启数据库)alter system set remote_login_passwordfile=nonescope=spfile 。验证:SQL> show parameter remote_login_passwordfile NAMETYPEVALUEremote_login_passwordfilestringNONE可编辑资料 - - - 欢迎下载精品名师归纳总结8 用户账号治理加固目的为了安全考虑,应用锁定Oracle 当中不需要的用户。或转变缺省用户的密码.加固方法锁 定 不 需要 的 用 户 , 使用 SQL 语 句: ALTERUSERuser PASSWORD EXPIRE 。留意锁定 MGMT_VIEW、DBSNMP 、SYSMAN帐号或修改密码 .假如要使用 DBConsole , DBSNMP 、SYSMAN不能锁定,请修改密码DIP 、EXFSYS 、OUTLN 、TSMSYS 、WMSYS 默认已锁定,请验证 .9 最小权限使用规章加固目的1 应当只供应最小权限给用户(包括SYSTEM 和 OBJECT 权限)2 从 PUBLIC 组 中 撤 回 不 必 要 的 权 限 或 角 色 . ( 如 : UTL_SMTP 、UTL_TCP 、 UTL_HTTP 、 UTL_FILE 、 DBMS_RANDON 、DBMS_SQL 、DBMS_SYS_SQL 、DBMS_BACKUP_RESTORE )加固方法撤销不需要的权限和角色,使用SQL 语句REVOKE EXECUTE ON SYS.UTL_HTTP FROM PUBLIC。REVOKE EXECUTE ON SYS.UTL_FILE FROM PUBLIC。REVOKE EXECUTE ON SYS.UTL_SMTP FROM PUBLIC。REVOKE SELECT ON ALL_USERS FROM PUBLIC。验证:OEM 治理器中,安全性 ->用户 ->PUBLIC-> 已授予的对象权限col pp format a35SELECTs.privilege|'ON'|s.owner|'.'|NVLl.longname,s.table_namepp, s.grantable FROMsys.dba_tab_privss,javasnmlWHEREs.table_name=l.short+AND s.grantee='PUBLIC'and s.privilege = 'EXECUTE' and s.table_name like 'UTL%'。10 DBSNMP 用户的爱护加固目的Oracle 数据库系统假如采纳典型安装后,自动创建一个叫做DBSNMP的用户,该用户答应Oracle 系统的智能代理 intelligentAgent ,该用户的缺省密码也是 “DBSNM”P .假如遗忘修改该用户的口令,任何人都可以通过该用户存 取 数 据 库 系 统 . 其 他 有 威 胁 的 帐 号 仍 有 : CTXSYS , MDSYS ,可编辑资料 - - - 欢迎下载精品名师归纳总结ORDPLUGINS , ORDSYS , OUTLN 等.加固方法锁定该账号,或者更换密码11 SYS 用户加固目的Oracle 数据库系统安装后,自动创建一个叫做SYS 的数据库治理员用户, 当该用户 sysdba 方式连接数据库时,便具有全部系统权限,因而对它的保护尤为重要 .加固方法更换 SYS 用户密码,符合密码复杂度要求。 新建一个 DBA 用户,作为日常治理使用.12 密码策略加固目的在 Oracle,我们可以通过修改用户概要文件来设置密码的安全策略,可以自定义密码的复杂度.在概要文件中有以下参数是和密码安全有关怀的:FAILED_LOGIN_ATTEMPTS: 最大错误登录次数PASSWORD_GRACE_TIME:口令失效后锁定时间PASSWORD_LIFE_TIME:口令有效时间PASSWORD_LOCK_TIME:登录超过有效次数锁定时间PASSWORD_REUSE_MAX:口令历史记录保留次数PASSWORD_REUSE_TIME:口令历史记录保留时间PASSWORD_VERIFY_FUNCTION:口令复杂度审计函数加固方法说明:PASSWORD_LIFE_TIME:口令有效时间 口令使用期限(应用系统帐号暂不修改).password_grace_time 指的是在你的密码已经过期以后, 第一次登录时间开头往后统计 , 使系统可以使用的日期限度.PASSWORD_REUSE_TIME是重用密码的最小时间间隔,单位是天.可以给出整数或分数,如1/1440 表示 1 分钟(出于效率的考虑,oracle 不会每分钟都去进行检查,一般来说,有5 分钟左右的误差,因此假如这个数小于 1/144 就没有多大的意义) .PASSWORD_REUSE_MAX是重用密码前更换密码的最小次数. ALTER PROFILE default LIMIT FAILED_LOGIN_ATTEMPTS 60。可编辑资料 - - - 欢迎下载精品名师归纳总结ALTER PROFILE default LIMIT PASSWORD_LOCK_TIME 0.5。修改 Oracle 供应的验证函数文件$ORACLE_HOME/rdbms/admin/utlpwdmg.sql其中 IF lengthpassword < 4一行改为 < 8,并将最终一段修改为ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 60 PASSWORD_LOCK_TIME 30/1440PASSWORD_VERIFY_FUNCTION verify_function。执行 start utlpwdmg.sql设置后,密码复杂度必需包含字母、数字、标点(密码不区分大小写),最小长度为8.最大错误登录次数为60 次,账号锁定时间为30 分钟验证: OEM 安全性概要文件select * from dba_profiles 。创建验证函数:CREATE OR REPLACE FUNCTION verify_function username varchar2,password varchar2, old_password varchar2RETURN boolean IS n boolean。m integer。differ integer。isdigit boolean。ischar boolean。ispunct boolean。digitarray varchar220。punctarray varchar225。chararray varchar252。BEGINdigitarray:= '0123456789'。chararray:='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'。punctarray:='."#$%&*+,-/:。<=>._'。- Check if the password is same as the usernameIF NLS_LOWERpassword = NLS_LOWERusername THEN raise_application_error-20001, 'Password same as orsimilar to user'。END IF。- Check for the minimum length of the password IF lengthpassword < 8 THEN可编辑资料 - - - 欢迎下载精品名师归纳总结raise_application_error-20002, 'Password length less than 8'。END IF。- Check if the password is too 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_LOWERpassword IN 'welcome', 'database', 'account', 'user', 'password', 'oracle', 'computer', 'abcd' THENraise_application_error-20002, 'Password too simple'。END IF。- Check if the password contains at least one letter, one digit and one- punctuation mark.- 1. Check for the digit isdigit:=FALSE。m := lengthpassword。FOR i IN 1.10 LOOP FOR j IN 1.m LOOPIF substrpassword,j,1 = substrdigitarray,i,1 THENisdigit:=TRUE。GOTO findchar。END IF。END LOOP。END LOOP。IF isdigit = FALSE THENraise_application_error-20003, 'Password should contain at least one digit, one character and one punctuation'。END IF。- 2. Check for the character<<findchar>> ischar:=FALSE。FOR i IN 1.lengthchararray LOOPFOR j IN 1.m LOOPIF substrpassword,j,1 = substrchararray,i,1 THENischar:=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<<findpunct>> ispunct:=FALSE。FOR i IN 1.lengthpunctarray LOOP FOR j IN 1.m LOOPIF substrpassword,j,1 = substrpunctarray,i,1 THENispunct:=TRUE。GOTO endsearch。END IF。END LOOP。END LOOP。IF ispunct = FALSE THENraise_application_error-20003, 'Password should contain at least one digit, one character and one punctuation'。END IF。<<endsearch>>- Check if the password differs from the previous password by at least- 3 lettersIF old_password IS NOT NULL THENdiffer := lengthold_password - lengthpassword。IF absdiffer < 3 THENIF lengthpassword < lengthold_password THEN m := lengthpassword。ELSEm := lengthold_password。END IF。differ := absdiffer。FOR i IN 1.m LOOPIF substrpassword,i,1 .= substrold_password,i,1 THENdiffer := differ + 1。END IF。END LOOP。IF differ < 3 THENraise_application_error-20004, 'Password should differ by at least 3 characters'。END IF。END IF。END IF。- Everything is fine。 return TRUE。RETURNTRUE。可编辑资料 - - - 欢迎下载精品名师归纳总结END。/ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 60 PASSWORD_LOCK_TIME 30/1440PASSWORD_VERIFY_FUNCTION verify_function。13 数据库操作审计加固目的ORACLE数据库具有对其内部全部发生的活动的审计才能,审计日志一般放在 sys.aud$表中,也可以写入操作系统的审计跟踪文件中.可审计的活动有三种类型:登录尝试、数据库活动和对象存取,缺省情形下,数据库不启动审计,要求治理员配置数据库后才能启动审计.加固方法使用文本方式,打开数据库配置文件init<sid>.ora 。更换以下参数配置AUDIT_TRAIL True.alter system set audit_trail='OS' scope=spfile 。alter system set Audit_sys_operations=true scope=spfile 。默认为 false,当设置为 true 时,全部 sys 用户(包括以 sysdba,sysoper身份登录的用户)的操作都会被记录验证:SQL> show parameter auditNAMETYPEVALUEaudit_sys_operationsbooleanTRUEaudit_trailstringOSTRANSACTION_AUDITING :the transaction layer generates a special redo record which contains session and user information.These records might be useful if using a redo log analysis tool.AUDIT_FILE_DEST指定了当审外部审记文件目标储备路径,其缺省值是$ORACLE_HOME/rdbms/auditaudit_file_deststring/opt/oracle/admin/cognos/adump监听器日志 错误登录/opt/oracle/product/10.2.0/db_1/network/log/listener.log14 本的缓存区溢出防护可编辑资料 - - - 欢迎下载精品名师归纳总结加固目的'oracle'程序存在本的缓冲区溢出.在传递命令行参数给 'oracle' 程序时缺少充分的边界缓冲区检查,可导致以进行有效加固 .'oracle'进程权限在系统上执行任意代码,需要加固方法以系统治理员权限登录操作系统,进入Oracle 安装目录运行: chmod o-x oracle 加强对 Oracle 文件的可执行掌握验证非 oracle 帐号对该文件没有读取、运行权限:ll $ORACLE_HOME/bin/oracle-rwsr-s-1oracledba1107589762021-01-23/opt/oracle/product/10.2.0/db_1/bin/oraclechmod o-x $ORACLE_HOME/bin/oracle15 监听 listener 作 ip 拜访限制修改(需重启监听)$ORACLE_HOME/network/admin/sqlnet.ora : tcp.validnode_checking=yestcp.invited_nodes=localhost,注:对二层结构的应用,不需设置该选项本机 ip,.应用服务器 ip ,治理机 ip等16 修改默认的监听端口修改(需重启监听)$ORACLE_HOME/network/admin/listener.ora:ADDRESS = PROTOCOL = TCPHOST = 127.0.0.1PORT = 1521修改 PORT 的值为新的监听端口 ->ADDRESS = PROTOCOL = TCPHOST = 127.0.0.1PORT = 3521确认:lsnrctl status17 日志目录SQL> show parameter dumpNAMETYPEVALUEbackground_core_dumpstringpartialbackground_dump_deststring/opt/oracle/admin/portaldb/bdump core_dump_deststring/opt/oracle/admin/portaldb/cdump max_dump_file_sizestringUNLIMITEDshadow_core_dumpstringpartial可编辑资料 - - - 欢迎下载精品名师归纳总结user_dump_deststring/opt/oracle/admin/portaldb/udump SQL> show parameter auditNAMETYPEVALUEaudit_file_deststring/opt/oracle/admin/portaldb/adump18 启用资源限制Profile分两部分 资源参数和密码参数 , resource_limit为 TRUE限定资源参数(resource parameters)设置有效。不管 resource_limit的值为 TRUE或 FALSE密码参数( password parameters)设置始终有效 .alter system set resource_limit=true scope=both。常用资源参数(除非应用程序有明确的资源规划,一般不需修改):CPU_PER_SESSION 、CPU_PER_CALL 、 LOGICAL_READS_PER_SESSION 、 LOGICAL_READS_PER_CALL 、IDLE_TIME 、CONNECT_TIME 、PRIVATE_SGA19 监听器跟踪级别可依据需要设定监听级别,开启跟踪会对性能有所影响.监听器跟踪级别有四个状态: OFF - 未启用跟踪功能,是默认值 .USER - 用户级别,标识用户导致的错误条件 .ADMIN - 数据库治理员级别,标识特定的安装问题 .SUPPORT - 客户支持人员级别,跟踪文件可能会变得很大 . 建议在进行网络问题诊断时开启跟踪功能 .LSNRCTL> set trc_directory /network/trace LSNRCTL> set trc_file .trcLSNRCTL> set trc_level <级别> LSNRCTL> save_config20 XDB 服务Oracle XDB是 Oracle的 XML数据库, Oracle XDB数据可以通过基于HTTP服务的8080端口或者基于 FTP服务的 2100端口拜访 .XDB的 HTTP和 FTP服务存在多个缓冲区溢出问题,远程攻击者可以利用这些漏洞对服务进行拒绝服务攻击,细心提交字符串数据可能以服务进程权限在系统上执行任意指令.show parameter dispatchers如为空,表示无该服务 .去掉相应的数据库的初始化参数中的如下行:可编辑资料 - - - 欢迎下载精品名师归纳总结dispatchers='( PROTOCOL=TCP) (SERVICE=sidXDB)'说明: sid为数据库的实例名,再重启数据库.21 SYS.DBMS_DEFER_SYS.DELETE_TRAN存在 SQL 注入漏洞DELETE_TRAN 对 DESTINATION 参数的处理存在问题,可能导致 SQL 注入攻击 . 攻击者利用该漏洞可以提升权限,仍可以以系统治理员权限执行 SQL 命令.查看哪些用户有执行权限:col pp format a35SELECT s.privilege|' ON '|s.owner|'.'|NVLl.longname, s.table_name pp, s.grantable, s.grantee FROMsys.dba_tab_privs s, javasnm l WHERE s.table_name = l.short+and s.privilege = 'EXECUTE' and s.table_name like 'DBMS_DEFER_SYS%'。回收权限:REVOKE EXECUTE ON SYS. DBMS_DEFER_SYS FROM DBA。REVOKE EXECUTE ON SYS. DBMS_DEFER_SYS FROM WMSYS。22 DBMS_AQELM缓冲区溢出漏洞由于没有对其传入参数进行缓冲区边界检查,当传入超长字符串时,就会引起缓冲区溢出. 攻击者利用此漏洞可以在服务器上执行任意代码 . 默认情形下,属于 AQ_ADMINISTRATOR_ROLE 角色的用户才有 DBMS_AQELM 包的执行权限 .SELECT s.privilege|' ON '|s.owner|'.'|NVLl.longname, s.table_name pp, s.grantable, s.grantee FROMsys.dba_tab_privs s, javasnm l WHERE s.table_name = l.short+and s.privilege = 'EXECUTE' and s.table_name like 'DBMS_AQELM%'。回收权限:REVOKE EXECUTE ON SYS. DBMS_AQELM FROM AQ_ADMINISTRATOR_ROLE。REVOKE EXECUTE ON SYS. DBMS_AQELM FROM EXECUTE_CATALOG_ROLE。REVOKE EXECUTE ON SYS. DBMS_AQELM FROM SYSTEM。23 UTL_TCP 、DBMS_RANDOM包可编辑资料 - - - 欢迎下载精品名师归纳总结utl_tcp包答应 Oracle用户通过 TCP 建立连接,从而从网络上得到可执行文件. 这个包的使用权限应当受到限制.DBMS_RANDO包M可被用来加密储备的数据. 通常,大多数用户不应当具有加密数据的权限,由于假如没有安全的生成、储存和治理密钥的话被加密的数据将不行复原.revoke EXECUTE on sys.utl_tcp from PUBLIC。revoke EXECUTE on sys.dbms_random from PUBLIC。可编辑资料 - - - 欢迎下载

    注意事项

    本文(Oracle数据库系统安全配置手册 .docx)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开