Oracle Database权限与安全介绍.ppt
《Oracle Database权限与安全介绍.ppt》由会员分享,可在线阅读,更多相关《Oracle Database权限与安全介绍.ppt(46页珍藏版)》请在三一办公上搜索。
1、Oracle Database权限与安全介绍,赵元杰中程在线(北京)科技有限公司2009.8,2023年2月28日,2/45,内容提要,Oracle 各版本提供安全功能一般的安全问题Public与安全问题触发器-安全捕获方法数据库审计几个安全检查脚本,2023年2月28日,3/45,数据安全问题,外部安全问题:未正确处理坏损和更换的硬盘运输过程中备份介质丢失或被盗内部安全问题:DBA 可以访问应用程序数据,包括财务和人力资源部门的数据擅自访问应用程序和/或数据库合规性问题:Sarbanes-Oxley 和Graham-Leach Bliley 和Basel II 法案要求严格的内部控制和责任分
2、离访问敏感数据的用户、时间、位置和方式?,2023年2月28日,4/45,数据安全问题-不同版本,数据库安全技术在增强:每个版本都不一样,2023年2月28日,5/45,系统权限管理,授予系统权限:Oracle 系统约定好的与Oracle资源有关权限参考原版资料 Oracle database administrator用GRANT授权:GRANT system_privilege|role TO user|role|PUBLIC WITH ADMIN OPTIONWITH ADMIN OPTION表示被授权者可有权再将权限授予另外的用户,2023年2月28日,6/45,系统权限管理,授予系统
3、权限明细:Oracle 系统完整拼写见:参考Oracle Database SQL Reference10g Release 2(10.2)B14200-01 table p18-1 System Privileges撤消系统权限从用户或角色撤消Oracle 系统权限用REVOKE撤消,语法为:REVOKE system_privilege|ALL ON schema.object FROM user|role|PUBLIC CASCADE CONSTRAINTS其中:system_privilege 系统权限或角色,2023年2月28日,7/45,系统权限管理,授予系统权限明细:Adviso
4、r Framework Privileges:,2023年2月28日,8/45,系统权限管理,授予系统权限明细:Cluster:,2023年2月28日,9/45,系统权限管理,授予系统权限明细:TABLE:,2023年2月28日,10/45,内容提要,Oracle 各版本提供安全功能一般安全问题 Public与安全问题触发器-安全捕获方法数据库审计几个安全检查脚本,2023年2月28日,11/45,常见安全问题-口令,常见口令安全问题口令很短,如123456或888888password=usernameSys和SYSTEM 仍然采用默认口令避免口令安全问题认识安全的重要性强行口令安全-使用S
5、YS函数使用PROFILE 进行口令的安全管理,2023年2月28日,12/45,常见安全问题-口令,口令安全问题检查Oracle 系统提供chekpwd 实用程序,C:checkpwdsystem/strongpw66123.34.54.123:1521/ORCL password_list.txtCheckpwd 1.23 Win-(c)2007 byRed-Database-Security GmbHOracle Security Consulting,Security Audits&Security Traininghttp:/www.red-database-MDSYS has we
6、akpasswordMDSYS EXPIRED&LOCKEDORDSYS has weakpasswordORDSYS EXPIRED&LOCKEDDUMMY123 has weakpasswordDUMMY123 OPENDBSNMP OK OPENSCOTT has weakpasswordTIGER OPENCTXSYS has weakpasswordCHANGE_ON_INSTALL EXPIRED&LOCKEDSH has weakpasswordCHANGE_ON_INSTALL EXPIRED&LOCKEDOUTLN has weakpasswordOUTLN EXPIRED&
7、LOCKEDDIP has weakpasswordDIP EXPIRED&LOCKEDDUMMY321 has weakpassword123YMMUD OPEN.SYS OK OPENSYSTEM OK OPENDone.Summary:Passwordschecked:13900828Weakpasswordsfound:23 Elapsedtime(min:sec):0:54Passwords/second:265486,2023年2月28日,13/45,内容提要,Oracle 各版本提供安全功能一般安全问题 Public与安全问题触发器-安全捕获方法数据库审计几个安全检查脚本,202
8、3年2月28日,14/45,Public与安全,Public 与安全Public 虚拟用户,方便授权可能被滥用Public 的危险性Oracle安全清单(Oracle Security Checklist)UTL_TCPUTL_SMTPUTL_MAILUTL_HTTPUTL_INADDR UTL_FILE,2023年2月28日,15/45,Public与安全-包,Oracle 最危险的包:dbms_sql(No.1)utl_fileutl_mailutl_inaddrutl_tcp(No.3)dbms_lobdbms_xmlgen(No.2)dbms_aw_xmlctxsys.drithsxo
9、rdsys.ord_dicomkupp$proc,2023年2月28日,16/45,Public与安全-包,从Oracle 系统中撤销危险的包的权限:SQL revoke execute on utl_httpfrom public force;SQL revoke execute on utl_tcp from public force;SQL revoke execute on utl_filefrom public force;SQL revoke execute on utl_inaddrfrom public force;SQL revoke execute on utl_smtpf
10、rom public force;SQL revoke execute on utl_dbwsfrom public force;SQL revoke execute on dbms_lobfrom public force;SQL revoke execute on dbms_randomfrom public force;SQL revoke execute on dbms_obfuscation_toolkit from public force;,2023年2月28日,17/45,Public与安全-包,从Oracle 系统中撤销危险的包的权限(续):SQL revoke execut
11、e on dbms_crypto_toolkitfrom public force;SQL revoke execute on dbms_advisorfrom public force;SQL revoke execute on dbms_ldapfrom public force;SQL revoke execute on dbms_ldap_utlfrom public force;SQL revoke execute on dbms_jobfrom public force;SQL revoke execute on dbms_scheduler from public force;S
12、QL revoke execute on dbms_ddlfrom public force;SQL revoke execute on dbms_epgfrom public force;SQL revoke execute on dbms_xmlgenfrom public force;SQL revoke execute on dbms_aw_xmlfrom public force;SQL revoke execute on ctxsys.drithsxfrom public force;SQL revoke execute on ordsys.ord_dicomfrom public
13、 force;,2023年2月28日,18/45,Public与安全-DBMS_SQL包,DBMS_SQL包与安全10g及之前版本,借助光标技术可扩大其权限11g 修正了这个不足10g/9i做下面的修正(以sysdba连接):,SQL create role ROLE_DBMSSQL;SQL grant execute on dbms_sql to ROLE_DBMSSQL;SQL spool grantdbmssql.sqlSQL select distinct grant ROLE_DBMS SQL to|owner|;from all_dependencies where referen
14、ced_name=DBMS_SQL and owner not in(PUBLIC);SQL spool offSQL grantdbmssqlSQL revoke execute on dbms_sql from PUBLIC;,2023年2月28日,19/45,Public与安全-取消HTTP请求,HTTP安全一般默认下,运行任何用户使用HTTP请求HTTP可能导致SQL注入攻击(SQL Injection attacks),SQL connect as sysdba;SQL revoke execute on HTTPUriType from public force;,2023年2月2
15、8日,20/45,内容提要,Oracle 各版本提供安全功能一般安全问题 Public与安全问题触发器-安全捕获方法数据库审计几个安全检查脚本,2023年2月28日,21/45,数据库触发器,数据库触发器使用数据库触发器(LOGON,LOGOFF,DDL,GRANT,ERROR,SHUTDOWN,STARTUP)可监控数据库的活动尤其是:动态触发器和错误触发器(DLL trigger and Error trigger),2023年2月28日,22/45,数据库触发器-DDL触发器,DDL 触发器在Sys创建DDL数据库触发器,SQL connect as sysdba;SQL create
16、or replace trigger DDLTriggerAFTER DDL ON DATABASEDECLARErcVARCHAR(4096);BEGIN begin rc:=utl_http.request(http:/192.168.2.201/user=|ora_login_user|;DDL_TYPE=|ora_sysevent|;DDL_OWNER=|ora_dict_obj_owner|;DDL_NAME=|ora_dict_obj_name|;sysdate=|to_char(sysdate,YYYY-MM-DD hh24:mi:ss);exception when utl_h
17、ttp.REQUEST_FAILED then null;end;END;/,2023年2月28日,23/45,数据库触发器-Logon触发器,logon触发器在Sys创建Logon数据库触发器,SQL connect as sysdba;Create or replace trigger sec_logon after logon on databaseDECLARE rc VARCHAR(4096);begin begin rc:=utl_http.request(http:/192.168.2.201/logon_user=|user|;sessionid=|sys_context(US
18、ERENV,SESSIONID)|;host=|sys_context(USERENV,HOST)|;ip=|ora_client_ip_address|;sysdate=|to_char(sysdate,YYYY-MM-DD hh24:mi:ss);-exception when utl_http.REQUEST_FAILED then null;end;End sec_logon;/,2023年2月28日,24/45,数据库触发器-Error触发器,Error触发器这个触发器记录所有错误信息,对于检查攻击等好友用处,CREATE OR REPLACE TRIGGER after_error
19、 AFTER SERVERERROR ON DATABASE DECLARE pragma autonomous_transaction;id NUMBER;sql_text ORA_NAME_LIST_T;v_stmtCLOB;n NUMBER;BEGIN n:=ora_sql_txt(sql_text);IF n=1 THEN FOR i IN 1.n LOOP v_stmt:=v_stmt|sql_text(i);END LOOP;END IF;FOR n IN 1.ora_server_error_depth LOOP IF ora_server_error(n)in(900,906,
20、907,911,917,920,923,933,970,1031,1476,1719,1722,1742,1756,1789,1790,24247,29257,29540)THEN INSERT INTO system.oraerrorVALUES(SYS_GUID(),sysdate,ora_login_user,ora_client_ip_address,ora_server_error(n),ora_server_error_msg(n),v_stmt);END IF;END LOOP;END after_error;/,2023年2月28日,25/45,内容提要,Oracle 各版本提
21、供安全功能一般安全问题 Public与安全问题触发器-安全捕获方法数据库审计几个安全检查脚本,2023年2月28日,26/45,数据库审计,Oracle 系统的审计存在问题可用各种方法迂回(bypassed)感兴趣的语句/对象不被审计有时记录不正确的语句,2023年2月28日,27/45,数据库审计-迂回可逃过,Oracle 系统审计-被迂回问题下面问题在2009年1月已经修正使用在PL/SQL中用dbms_ijob包不留任何痕迹,Declarejj integer:=666666;-job numberbegin sys.dbms_ijob.submit(JOB=jj,LUSER=SYS,P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle Database权限与安全介绍 Database 权限 安全 介绍

链接地址:https://www.31ppt.com/p-2878308.html