ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:45.65KB ,
资源ID:30388378      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30388378.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第三章Oracle安全管理.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第三章Oracle安全管理.docx

1、第三章Oracle安全管理本章课时要求:4课时本章内容提纲:安全管理概述(2课时)用户管理用户验证方式创建用户资源文件维护用户权限管理(2课时)系统权限实体权限角色管理角色的建立、删除、修改角色权限的授予和收回角色授予用户和收回审计管理语句级审计权限级审计实体级审计 3 第03章 ORACLE安全管理.1 安全管理概述数据库安全是指保护数据库,防止数据库的数据泄漏、更改和破坏。由于数据库是高度共享的大量数据集中的地方,所以安全问题尤其突出。Oracle的安全有物理安全和逻辑安全两个方面。物理安全是指数据库物理文件的安全。由操作系统进行管理,如物理数据文件、系统文件、进程的安全,又称为外部安全。

2、逻辑安全是指数据库内部使用的安全。主要指对使用数据库的用户进行安全管理(用户及权限)和跟踪审计,又称为内部安全。Oracle的安全管理主要是逻辑安全,物理安全由Oracle的运行环境进行管理。.2 用户管理用户管理主要管理用户名(口令、验证方式)、用户默认表空间、用户临时表空间、用户空间存储限制、用户资源限制等五个安全参数。是从用户的角度说明创建和修改用户时的设置。而用户操作权限的设置,是从权限的角度将权限赋予不同的用户,详见权限管理一节。.2.1 用户参数在讲述用户的具体操作前,介绍在参数文件中的系统级别的用户数和会话数的限制设置。所谓会话Session,是一个用户和数据库系统的一次连接,会

3、话是从认证通过后开始,到用户注销结束。可以将会话理解为一个用户连接Users Connect。许可方式:Oracle数据库服务器有两种许可协议,会话许可协议和用户许可协议。会话许可协议:是按并发会话数量购买Oracle服务器软件,并限制并发会话数,当超过并发会话数时,禁止许创建新的会话。一个用户可以同时创建多个会话,只对总会话数限制。用户许可协议:是按命令用户数购买Oracle服务器软件,并限制命名用户数量,当查过命令用户数量时,禁止创建新的用户。不允许一个用户同时创建多个会话,一个用户同时只能创建一个会话。参数文件中的用户参数限制有三个:1.连接用户最大数设置:license_max_use

4、rs设置允许同时连接的用户数(并发用户数)。当超过该限制时,不允许其它用户连接数据库。2.会话最大数设置:license_max_sessions设置允许同时发生的会话数(并发会话数)。当超过设定值时,禁止创建新的会话。3.会话警告数设置license_sessions_warning当用户的会话数超过警告设置时,发出警告提示用户,但还是允许创建新的会话,直到会话达到最大会话数。一般警告数小于或等于最大数会话数。修改:分静态修改和动态修改(1)静态修改:直接编辑参数文件initSID.ORA(2)动态修改:可以在线修改 ALTER SYSTEM SET parameter =integer。S

5、QL ALTER SYSTEM SET LICENSE_MAX_USRS = 100SQL ALTER SYSTEM SET LICENSE_MAX_SESSIONS = 50SQL ALTER SYSTEM SET LICENSE_SESSIONS_WARNING = 45注意:在正式运行的系统中,不要将设置的参数超过购买时的许可。查询:参数文件或SHOW PARAMETER 参数或参数视图v$parameter或$license视图;SQLSHOW PARAMETER license;NAME TYPE VALUElicense_max_sessions integer 0license_

6、max_users integer 0license_sessions_warning integer 0视图$license可查询当前情况USERS_MAX 最大用户数SESSIONS_MAX 最大会话数SESSIONS_WARNING 警告数SESSIONS_CURRENT 当前会话数SESSIONS_HIGHWATER 会话最高水平SQLSELECT * FROM $license.2.2 验证方式防止数据库被恶意破坏的第一道防线就是用户认证机制。在用户访问数据库之前,用户必须被验证。ORACLE提供了以下三种不同的验证方式:什么是验证:首先查询用户是否存在,如果存在,比较其密码是否正确

7、。若用户名和密码都正确,称为验证通过。若其中之一不正确,验证不通过。(1)数据库验证:由数据库进行验证,数据库中保存用户名和用户密码(密码加密保存),数据库验证简单一致,但增加了数据库系统开销。但是在数据库未打开之前,不能进行验证,所以对于链接后要进行数据库启动操作的系统账户,不能采用数据库验证。(2)操作系统验证:数据库的用户必须是操作系统的用户,操作系统用户=固定前缀+数据库用户名(由参数OS_AUTHENT_PREFIX确定),数据库见到此用户,交给操作系统验证。口令用关键字EXTERNALLY代替。数据库中只需要保存用户名,不需要保存用户口令,也不负责验证。减少数据库的负载,有许多基于

8、操作系统的验证方式都可以采用,如Kerberos验证、指纹验证等等,但是要创建操作系统用户,容易在操作系统管理员和数据库管理员之间造成不一致。(3)全局集中验证:基于LDAP(Lightweight Directory Access Protocol轻量级目录访问协议)将多个数据库的用户名和密码集中保存于全局验证服务器上,并统一管理。当用户访问各个数据库系统之前,由验证服务器统一验证。一个用户定义后,可以在分布式中的其它数据库中进行访问,并且使用不同的权限。使用关键字GLOBALLY。特点是集中管理,可以同时管理多个数据库用户,适合于分布式系统。Oracle提供了一个全局服务器管理系统OESM

9、(Oracle Enterprise Security Manager),进行全局验证。本章主要介绍使用比较多的数据库验证方式。数据库验证的先决条件是数据库的运行,因此启动实例、加载数据库、打开数据库等操作的sys用户使用其它验证方式。SYS用户的特殊验证方式:(1)使用操作系统验证在操作系统中创建用户组ora_dba,该组具有sysdba或sysoper权限。创建sys用户,并加入ora_dba组中。设置参数:remote_login_passwordfile=none登录用户CONNECT sys AS SYSDBA(2)使用口令文件验证使用orapwd.exe创建口令文件orapwdor

10、apwd file= password= entries=其中: 口令文件名,默认目录oracle_homedatabase,文件名pwdSID.ora SYS的口令 初始口令为change_on_install 可选项,设置具有SYSDBA/SYSOPER权限的最大用户数注意在建立数据库时,已经建立了该文件,当修改SYS用户密码时自动修改该文件。当普通用户被授予SYSDBA/SYSOPER权限时也自动修改该文件。设置参数:remote_login_passwordfile=EXCLUSIVE|SHARED其中:EXCLUSIVE 只有一个实例使用口令文件,并且允许除SYS意外的用户具有SYS

11、DBA/SYSOPER权限和使用口令文件。SHARED 多个实例使用口令文件,并且只有SYS用户具有SYSDBA/SYSOPER权限和使用口令文件。如果是EXCLUSIVE选项,可以创建具有SYSDBA/SYSOPER权限的用户SQLCREATE USER otherdba IDENTIFIED BY otherdbapassword;SQLGRANT sysdba TO otherdbaSQLSELECT * FROM v$pwfile_users; /查询口令文件中SYSDBA/SYSOPER权限的用户链接数据库SQLCONNECT sys AS SYSDBASQLCONNECT othe

12、rdba/otherdbapassword AS SYSDBA.2.3 创建用户在用户连接数据库之前,先要创建用户,并对用户进行安全设置。创建用户语法:CTEATE USER username /用户名IDENTIFIED BY password|EXTERNALLY|GLOBALLY/验证方式DEFAULT TABLESPACE tablespace /用户默认表空间TEMPORARY TABLESPACE tablespace /用户临时表空间QUOTA integer|UNLIMITED ON tablespace /用户使用表空间的限制PROFILE profilename /用户使用

13、的资源文件1.用户名和口令username: 用户名BY password: 数据库验证方式的口令,EXTERNALLY: 操作系统验证方式(无需口令)GLOBALLY: 全局集中验证方式(无需口令)2.用户默认表空间存储用户对象(称为用户模式对象)的默认表空间,主要是指用户创建的表、簇、索引等用户数据所在表空间,所以又称为默认数据表空间。为什么称为默认呢?因为用户在创建对象时,可以指明表空间(实体优先原则)。如果用户在创建时没有指明,则使用上述表空间,所以称为默认。如果在创建用户没有指明默认表空间,则SYSTEM表空间为用户默认表空间,所以一般要求指定用户默认表空间,以防将用户数据存储在系统

14、表空间SYSTEM中。如何查询用户的默认表空间呢?视图DBA_USERS中如:SQLSELECT username,default_tablespace FROM DBA_USERS;同时也可以查看每一个表使用的表、簇、索引所在表空间,如:SQLSELECT table_name,tablespace_name FROM User_Tables;3.用户临时表空间临时表空间是暂存用户排序、汇总等SQL语句产生临时数据的表空间,首先使用内存中的SORT_AREA区域,如果不够才使用临时表空间。临时表中的临时段由系统在默认的临时表空间中自动创建,由系统监控进程SMON回收。临时表空间容易产生磁盘碎

15、片,所以系统中要将开辟一个专用的表空间作为全部用户的临时段的表空间。创建本地方式的临时表空间时,必须使TEMPORARY 指定,其对应的数据文件用TEMPFILE指定,不能使用其它的表空间作为临时表空间,临时表空间也不能保存永久性的数据。如果在创建数据库时建立了系统默认临时表空间(DEFAULT TEMPORARY TABLESPACE),则所有用户默认的临时表空间为系统默认临时表空间。所以为了统一使用系统默认临时表空间,一般要求在数据库创建时建立默认临时表空间,而不用在创建用户时一一指定。如何查询用户的默认临时表空间?SQLSELECT username,temporary_tablespa

16、ce FROM DBA_USERS;4.用户使用表空间的限制用户在指定的表空间使用磁盘空间的限制,可以指定多个表空间(一般为默认数据表空间),其中UNLIMITED没有限制(相当于省略)。当用户在该表空间存储超过该限制后不能增加数据。查询DBA_TS_QUOTAS视图查询用户表空间的限制情况,其中-1为UNLIMITED。SQLSELECT tablespace_name,blocks,max_blocks,bytes,max_batesFROM dba_ts_quotas ORDER BY username;其中blocks表示用户占用的块数,max_blocks为用户块限制(-1无限制)。

17、5.用户资源文件指定用户使用的资源文件。如果缺省,使用系统默认的资源文件defualt。资源文件可以限制用户使用的资源,控制用户口令。在资源管理一节中专门资源文件。创建用户举例:CREATE USER user1 IDENTIFIED BY user1passwdDEFAULT TABLESAPCE saleTEMPORARY TABLESPACE tempQUOTA 50M ON salePROFILE profile_user1;.2.4 维护用户1.修改用户ALTER USER username /用户名IDENTIFIED BY password|EXTERNALLY|GLOBALLY

18、 /验证方式及口令DEFAULT TABLESPACE tablespace /用户默认表空间TEMPORARY TABLESPACE tablespace /用户临时表空间QUOTA integer|UNLIMITED ON tablespace /用户使用表空间的限制PROFILE profilename /用户使用的资源文件可以修改用户的5参数。但用户名不能修改,除非删除。另外ALTER USER username ACCONT LOCK 加锁,不能使用ALTER USER username ACCONT UNLOCK 解锁ALTER USER username PASSWORD EXP

19、IRE口令过期举例:ALTER USER angleIDENTIFIED EXTERNALLYDEFAULT TABLESPACE data_tablespaceTEMPORARY TABLESPACE temp_tablespaceQUOTA 50M ON data_tablespaceQUOTA 0M ON SYSTEMPROFILE filenew; 2.删除用户DROP USER username CASCADECASCADE标识删除用户的同时删除用户的模式对象(用户的拥有的实体),当没有CASCADE选项而用户有实体存在,则会提示并不允许删除。当前正在连接的用户不能删除。不能在线杀死

20、用户,但可以杀死用户会话,使用会话标识号(SID,SERIAL)。在V$SESSION中查询。(同一用户可以有不同的会话号)SQLSELECT SID,Serial#,logon_time,username,machine FROM v$session;SQLALTER SYSTEM KILL SESSION 7,3;3.查询用户信息系统视图DBA_USERS,ALL_USERS,USER_USERS保存用户的信息。如:USERNAME 用户名USER_ID 用户IDPASSWORD 口令(加密)ACCOUNT_STATUS 用户状态(加锁LOCK,口令失效EXPIRE)LOCK_DATE 加

21、锁日期EXPIRY_DATE 失效日期DEFAULT_TABLESPACE 默认数据表空间TEMPORARY_TABLESPACE 默认临时表空间CREATED 创建日期PROFILE 资源文件SQLSELECT username,account_status,default_tablespace,temporary_tablespace FROM dba_users;.2.5 特权用户特权用户是只具有特殊权限(sysdba或sysoper角色)的用户,其主要作用是执行数据库的管理和维护工作,如启动和关闭数据库、建立数据库、备份和恢复数据库、建立和授权用户等。从Oracle9i开始,在建立数据

22、库时,建立了特权用户sys。另外,当参数remote_login_ passwordfile=exclusive时,可以将普通用户授予sysdba或sysoper角色。需要注意的是,特权用户连接时,要使用AS SYSDBA或AS SYSOPER的子句。特权用户的模式为SYS。SYSDBA和SYSOPER的差别是,STSOPER不能进行建立和恢复数据库的操作。.3 资源管理.3.1 资源文件所谓资源文件Profile,就是对用户口令和用户访问数据库资源进行限制的文件。系统自动建立了一个默认的资源文件叫DEFAULT,用户缺省的资源文件。可以建立新的资源文件或修改原有的资源文件(包括默认的资源文件

23、)。无论是缺省的资源文件还是新建的资源文件,要想资源文件资源部分起作用(口令总都起作用),必须设置参数文件:RESOURCE_LIMIT=TRUE(默认为FALSE)建立:CREATE PROFILE profilename LIMIT 资源项 参数修改:ALTER PROFILE profilename LIMIT 资源项 参数其中,资源项在后面讲述,参数的取值可以为UNLIMITED(无限制)、NULL(无)或DEFAULT(缺省值:缺省资源文件DEFAULT的设置,当然缺省资源文件中就没DEFUAULT了,对DEFUALT的修改影响所有DEFAULT参数值)。删除:DROP PROFIL

24、E profilename CASCADE选项CASCADE,是删除用户正在使用的资源文件。不能删除DEFAULT资源文件。分配:CREATE/ALTER USER username IDENTIFIED BY password PROFILE profile;可以多个用户使用相同的资源文件。SQLCREATE PROFILE pfile LIMITSESSION_PER_USER 3CPU_PER_SESSION UNLIMITEDCPU_PER_CALL 5000;SQLALTER USER user1 PROFILE pfile;查询:视图DBA_Profiles保存了所有资源文件的设置

25、。PROFILE 资源文件名RESOURCE_NAME 资源项目名RESOURCE_TYPE 值类型(KERNEL核心PASSWORD口令)LIMIT 限制值资源文件注意事项:(1)动态分配新资源文件,不会影响当前会话。(2)资源文件只能分配用户,不能分配给角色。(3)建立用户时,未分配资源文件,使用默认的资源文件DEFAULT。(4)一个用户只能使用一个资源文件。(5)一个资源文件可以包含多个用户。(6)资源文件其作用,参数项RESOURCE_LIMIT设为TRUE。(7)资源文件包含了口令限制和资源限制。.3.2 口令管理虽然名称上称为资源文件,但其中有7个资源项是对口令进行限制(reso

26、urce_type= password)。(1)FAILED_LOGIN_ATTEMPTS 单位:次设置用户尝试登录的次数n,即连续登录失败的次数n。如果连续登录n次都不成功,该帐号被加锁,加锁后的帐号不能连接。如:设置连续登录3次失败后加锁帐号。FAILED_LOGIN_ATTEMPTS 3(2)PASSWORD_LOCK_TIME 单位:天数如果用户连续登录失败的次数超过FAILED_LOGIN_ATTEMPTS设定的次数,帐号被加锁。PASSWORD_LOCK_TUME设定加锁的天数。加锁天数到后,帐号自动解锁。当然在这期间,可以由DBA解锁。ALTER USER user1 ACCOU

27、NT UNLOCK。如设置加锁天数为10天:PASSWORD_LOCK_TIME 10(3)PASSWORD_LIFE_TIME 单位:天数为了保证口令的安全性,要求用户在一定时间内更改用户口令。PASSWORD_LIFE_TIME设置用户口令的有效期,到达有效后,要求用户修改口令,但不加锁帐号。如有效期为半月:PASSWORD_LIFE_TIME 15(4)PASSWORD_GRACE_TIME 单位:天数用户口令的有效期到后,要在多少天内修改(宽限期),宽限期从用户口令失效后的第一次登录开始计算,而不是从失效期到达后开始算。在宽限期内,没有更改口令之前,则显示一条警告信息,提示用户更改口令

28、。宽限期到后如果仍未更改用户口令,如果用户登录,则强制更改:changing password for user1,new password:宽限期到后如果仍未更改用户口令,如果用户未登录,则锁定用户。PASSWORD_GRACE_TIME 2(5)PASSWORD_REUSE_TIME 单位:天数为了防止用户反复使用相同的口令,对口令的历史进行限制。PASSWORD_RESUE_TIME设置一个原来使用过的口令经过多少天今才能重新使用。PASSWORD_REUSE_TIME 60(6)PASSWORD_REUSE_MAX 单位:次数除了可以限制重新使用旧口令的天数外,也可以从口令间隔来限制。

29、PASSWORD_REUSE_MAX设置一个旧重复使用前,必需使用其它口令的次数(间隔),无限制设置为null,不是UNLIMITED。注意不要理解为一个口令使用的总次数。注意:PASSWORD_REUSE_MAX和PASSWORD_REUSE_TIME只设置一个。PASSWORD_REUSE_MAX 10(7)PASSWORD_VERIFY_FUNCTION 函数名为了防止用户设置简单的口令,可以从口令长度、是否与用户名相同等方面对口令进行限制,该参数设置检验新口令是否有效的PL/SQL函数,称为口令检验函数。若无口令检验函数,设置为null。如果该函数返回true,则新口令有效,如果返回f

30、alse,则新口令无效。PASSWORD_VERIFY_FUNCTION password_verify_function口令检验函数必需以sys用户的身份建立,其函数规范如下:function_name(username in varchar2(30),new_password in varchar2(30),old_password in varchar2(30) )return booleanOracle提供了一个默认的口令检验函数verify_function,该函数由utlpwdmg.sql脚本生成。verify_function的口令限制是;口令长度最少为4字符;口令不能与用户名相同;新口令和旧口令至少有3个不同的字符;口令至少包含一个字母、一个数字、一个特殊符号。口令管理举例:SQLCREATE PROFILE password_profile LIMITFAILED_LOGIN_ATTEMPTS 5PASSWORD_LOCK_TIME 10PASSWORD_LIFE_TIME 30PASSWORD_GRACE_TIME 5PASSWORD_REUSE_TIME 60PASSWORD_REUSE_MAX 10PASSWORD_VERIFY_FUNCTION verify_function;SQLALTER USER user1 PRO

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1