动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息



本月文章推荐
.在Oracle中重编译所有无效的存储.
.谁能讲讲WEB发布中使报表异步运行.
.Linux下XFConfig的有效使用.
.Oracle弱智900问九.
.Oracle逻辑备份的SH文件.
.Actualtests Oracle 1Z0-032 V8..
.使用dbms_repair修复块损坏的具体.
.嵌入式Linux指南.
.通过function解决部分复杂查询的.
.在Oracle iAS 10g中创建Report S.
.oracle性能---itpub.
.Oracle的左连接和右连接.
.Oracle10g的UNDO_RETENTION自动化.
.Oracle备份与恢复案例.
.Linux系统的防病毒方案.
.影响ORACLE汉字显示的字符集问题.
.ORACLE数据库管理员的职责.
.经典的Oracle图书推荐-之五.
.Linux之菜鸟日记(二).
.经典的问题与解答(1).

Oracle的口令管理

发表日期:2008-2-9 |



  编者按: 验证口令,获得访问授权,这是目前最常用的访问控制手段,Oracle数据库也采用这样的安全策略。在这一策略中,口令的治理是要害,然而要做好这项工作,既保证数据的安全也保证用户使用方便却并非易事。
  
  在Oracle数据库中,若要访问数据,必须先具有该数据库的一个账户。这个访问可以是直接访问(通过一个数据库的用户连接)或间接访问(通过在数据库链接中预设权限的访问)。每个账户必须有一个与其相关的口令,一个数据库账户可以连接到一个操作系统账户上。
  
  口令是在创建用户账户时为每一用户设置的,并可在该账户创建后对它们进行变更。用户变更账户口令的能力受他访问工具权限的限制。数据库以加密的形式将口令存储在一个数据字典表中。假如账户直接与操作系统账户相关,就可以旁路口令检查。在Oracle 8i中,口令可以无效。数据库治理员可以建立能重复使用口令的条件(通过一个数据库口令历史设置值),也可以使用环境文件为口令制定标准,如最小长度,或假如连续多次与账户连接不成功,就可以自动锁定账户。
  
  环境文件
  可以使用环境文件来限制用户能使用的系统和数据库资源,并治理口令限制。假如数据库中没有创建环境文件,将使用缺省环境文件(Default)。缺省环境文件对于所有用户资源没有限制,表1列出了可以通过环境文件限制的资源。
  
  
  Oracle的口令治理
  
  (注: PASSWord_REUSE_MAX和PASSWORD_REUSE_TIME互不相容,假如其中一个资源设置成一个值,另一个必须设置成Unlimited。)
  
  如表1所示,许多资源都可以被限制,在用户超过资源限制前不会发生任何动作,一旦到达限值, SQL语句就被停止。
  
  环境文件是通过“create profile”命令创建的,可以用“alter profile”命令修改。下例所示的“alter profile”命令用于修改现有的环境文件。在这个例子中,数据库的缺省环境文件被修改成答应最大空闲时间为1小时:
  
  alter profile DEFAULT limit idle_time 60;
  
  在Oracle 8i中,可以使用环境文件来治理口令的终止、重新使用和复杂性。例如,可以限制一个口令的寿命、锁定口令过旧的账户,也可以强制一个口令至少有一定程度的复杂性,并锁定一个多次注册失败的账户。
  
  口令的锁定与过期
  FAILED_LOGIN_ATTEMPTS用于设定账户答应的尝试次数,可以防止恶意人员无限制地尝试账户口令来破解口令。例如,假如设置用户环境文件的FAILED_LOGIN_ATTEMPTS资源为3,该账户答应连续注册失败3次,第4次失败就会引起账户被锁定。
  
  在下面的例子中,创建一个供用户TestUser使用的TEST_PROFILE环境文件:
  
  create profile TEST_PROFILE limit
  
  FAILED_LOGIN_ATTEMPTS 3;
  
  create user TESTUSER identified by abcd1234
  
  profile TEST_PROFILE;
  
  grant CREATE SESSION to TESTUSER;
  
  假如连续3次与TestUser账户的连接失败,该账户将自动被Oracle锁定。此后当输入TestUser账户的正确口令时,会收到一条错误信息:
  
  ERROR:ORA-28000: the account is locked
  
  要对账户解锁,可在数据库治理员账户中使用“alter user”命令的account unlock子句,如下所示:
  
  alter user TESTUSER account unlock;
  
  账户解锁后,TestUser账户再一次被答应连接。可以通过“alter user”命令的account lock子句来手动锁定一个账户。
  
  alter user TESTUSER account lock;
  
  若一个账户由于多次连接失败而被锁定,当超过其环境文件的PASSWORD_LOCK_TIME值时将自动解锁。
例如,假如PASSWORD_LOCK_TIME设为1,前面例子中的TestUser账户就被锁定1天,过后账户即被自动解锁。
  
  可以通过环境文件中的PASSWORD_LIFE_TIME资源建立一个口令的最大期限。例如,可以强制TEST_PROFILE环境文件的用户每30天改变一次口令。
  
  alter profile TEST_PROFILE limit
  
  PASSWORD_LIFE_TIME 30;
  
  在这个例子中,“alter profile”命令用于修改TEST_PROFILE环境文件。PASSWORD_LIFE_TIME值设为30,因此使用这个环境文件的每个账户在30天后口令就会过期。假如口令过期,就必须在下次注册时修改它,除非环境文件对过期的口令有一特定的宽限期。宽限期参数叫做PASSWORD_GRACE_TIME,假如在宽限期内没有修改口令,账户就会过期。
  
  (注: 假如使用PASSWORD_LIFE_TIME参数,就必须为用户提供一种便于其改变口令的方法。)
  
  “过期”账户与“锁定”账户不同。锁定账户会随着时间的推移自动解锁,而过期账户需要通过数据库治理员人工干预才能重新激活。
  
  (注:假如使用口令过期特性,就要确保拥有应用程序的账户具有不同的环境文件设置值,否则它们会被锁定,使得应用程序不能使用。)
  
  如前面例子所述,若要重新恢复一个过期账户,需使用“alter user”命令。在这个例子中,用户TestUser首先由数据库治理员手工使其口令过期。
  
  alter user TESTUSER password eXPire;
  
  接着,TestUser试图连接其账户。当他输入口令时,立即被提示输入账户的新口令。
  
  也可以使用“create user”命令的“password expire”子句,强制用户在第一次访问时修改口令。不过“create user”命令不答应对用户设置的新口令设置限期日期。要设置的话,必须使用前面例子中的PASSW??????餀???? ??ORD_LIFE_TIME环境文件参数。
  
  若要查看任一账户的口令限期,可查询DBA_USERS数据字典视图的Expire_Date列。若用户自己想查看,可查询USER_USERS数据字典视图的Expiry_Date列(通过SQL*Plus或一个基于客户机的查询工具)。
  
  防止口令重新使用
  若要防止一个口令被重新使用,可以使用两个环境文件参数的其中一个: PASSWORD_REUSE_MAX或PASSWORD_REUSE_TIME。这两个参数互不相容,假如给其中的一个设置了值,另一个就必须设为Unlimited。
  
  PASSWORD_REUSE_TIME参数规定一个口令可以重新使用前必须经过的天数。例如,假如设置PASSWORD_REUSE_TIME为60天,则在60天内不能使用同一个口令。
  
  PASSWORD_REUSE_MAX参数指定一个口令可以重新使用前必须对其改变的次数。假如试图在这个限制到达前重新使用该口令,Oracle会拒绝口令的修改。
  
  例如,可以为本章前面创建的TEST_PROFILE环境文件设置一个PASSWORD_REUSE_MAX参数。
  
  alter profile TEST_PROFILE limit
  
  PASSWORD_REUSE_MAX 3
  
  PASSWORD_REUSE_TIME UNLIMITED;
  
  假如用户TestUser现在试图重新使用一个最近的口令,修改口令就会失败。例如,如下修改口令:
  
  alter user TESTUSER identified by eye123;
  
  然后再次改变它:
  
  alter user TESTUSER identified by eye456;
  
  在下次修改口令时,试图重新使用最近的口令,就会失败。他不能重新使用任何他最近用过口令,必须提供一个新口令。
  
  口令历史被存储在SYS模式下一个叫USER_HISTORY$的表中。在这个表中,Oracle存储了用户资源识别符、加密的口令值和创建该口令的日期/时间标记。当PASSWORD_REUSE_TIME值已过期或口令修改次数超过PASSWORD_REUSE_MAX值时,这个老的口令记录就从SYS.USER_HISTORY$表中删除。假如一个新的密码与现有的密码一样,这个新口令就被拒绝。
  
  由于老口令存储在SYS拥有的一个表中,所以数据存储在System表空间中。因此,假如要为频繁修改口令的大量用户保留非常大的口令历史,口令历史表SYS.HISTORY$所需的空间就会影响System表空间的空间需求。
  
  设置口令复杂度
  可以强制用户的口令符合复杂度标准。例如,可以要求口令的最小长度,限制不能是一些简单的词,至少包括一个数字或标点符号等。“create profile”和“alter profile”命令的PASSWORD_VERIFY_FUNCTION参数指定用于评估口令的函数名。假如用户提出的口令不符合要求,就不会被接受。例如,可以拒绝“abcde”和“eye”作为口令,因为它们未包含任何数字值。为简化实施口令复杂度的过程,Oracle提供了一个函数VERIFY_FUNCTION。在缺省情况下,不创建这个函数。只有在运行utlpwdmg.sql脚本文件(该文件位于Oracle软件主目录下的/rdbms/admin子目录中)时才创建VERIFY_FUNCTION函数(注重这个函数应当在SYS模式下创建)。
  
  函数中的前三个条件子句检查口令是否与用户名相同,是否少于4个字符,是否是一组特定的词之一。可以任意修改这些检查或增加你的要求。
例如,安全原则可能要求口令最少有六个字符,运行前要简单地更新部分utlpwdmg.sql文件。
  
  函数的下一个主要部分是对口令字符串内容的三段检查。要通过这些检查,口令中至少要包含一个字符、一个数字和一个标点符号。同前面的检查一样,它们是可以编辑的。例如,可以不要求用户在其口令中使用标点符号,只要简单地绕过那部分口令检查就可以。
  
  函数的下一部分是将新口令与老口令逐字符进行比较。假如它们之间的不同之处少于三处,新口令将不予接受。
  
  这个脚本文件中最后一条命令不属于该函数,它是一条改变缺省环境文件的“alter profile”命令。假如改变了缺省环境文件,那么数据库中所有使用缺省环境文件的用户都会受到影响。
  
  要注重
上一篇:Oracle用户特权管理与审计(图) 人气:457
下一篇:Oracle FAQ 之网络与安全篇 人气:534
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-25 WikyBlog v1.7.0.1 多国语言版
2008-7-25 乐彼网上开店系统(56770 Eshop)
2008-7-25 赛特网站管理系统sitecms v3.6.0
2008-7-25 Modoer多功能点评系统 v1.0.1 Bu
2008-7-25 Shangducms Teamsuit! v1.1.0 开
2008-7-25 幻影动漫网视频系统(Ppdong) v1.
2008-7-25 acteecompany企业网站建设系统 v
2008-7-25 恒浪整合管理系统 ims v4.1 ACCE
2008-7-25 艺术图库系统 v1.0 beta
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号