等保2.0测评深入理解 — Oracle 数据库

admin 2023年12月18日17:27:45评论21 views字数 2417阅读8分3秒阅读模式

知识宝库在此藏,一键关注获宝藏

登录数据库:
操作系统内:sqlplus / as sysdba
等保2.0测评深入理解 — Oracle 数据库
查询版本信息:登录时候会有显示  
等保2.0测评深入理解 — Oracle 数据库
命令:select * from v$version;

等保2.0测评深入理解 — Oracle 数据库

远程连接:
首先通过安装包,进行安装PLSQL软件(付费阅读后可私聊免费领取),完成后双击打开
等保2.0测评深入理解 — Oracle 数据库
然后点击cancel
等保2.0测评深入理解 — Oracle 数据库
就会弹出这样的界面
等保2.0测评深入理解 — Oracle 数据库
我们先把语言改成中文,按照如下步骤操作
等保2.0测评深入理解 — Oracle 数据库
图型化工具只是对 sqlplus 命令的外表封装,所以我们需要让 plsqldev 这个
工具能找到 sqlplus 命令,这里就需要对应的Oracle环境
配置客户端目录,工具--->首选项(Tools-->Preferences)
等保2.0测评深入理解 — Oracle 数据库
录入 oracle 客户端的目录
录入 oracle 客户端的目录+”oci.dll”
C:UsersAdministratorDesktopinstantclient_11_2
C:UsersAdministratorDesktopinstantclient_11_2oci.dll
等保2.0测评深入理解 — Oracle 数据库
配置 tnsnames.ora 文件
等保2.0测评深入理解 — Oracle 数据库
将host值改成对应接连IP
等保2.0测评深入理解 — Oracle 数据库
此时这个数据库的名字就是上述 tnsnames.ora 的配置,同时如果是SYS、SYSTEM账户登录,记得连接为修改成SYSDBA。
所以现场测评的时候,记得确认下IP地址是否正确,不要测错了数据库哦。
等保2.0测评深入理解 — Oracle 数据库
输入对应用户名口登录成功后会显示
等保2.0测评深入理解 — Oracle 数据库
然后选择对应的SQL或者命令窗口就可以进行交互了
等保2.0测评深入理解 — Oracle 数据库
PS:如果误操作左边对象浏览器没了,视图 → 对象浏览器

等保2.0测评深入理解 — Oracle 数据库

一、身份鉴别

a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换

1.  身份标识和鉴别

通过用户名+口令的方式进行鉴别

2.  身份标识唯一性

即用户名具有唯一性,无同名账户存在,oracle默认符合
等保2.0测评深入理解 — Oracle 数据库
user_id是唯一的,每个用户在数据库中都会被分配一个唯一的user_id,用于唯一标识该用户。查看用户user_id
select username,user_id from dba_users;
等保2.0测评深入理解 — Oracle 数据库

3.  身份鉴别信息具有复杂度

3.1 当前口令组成

首先确认用户当前口令是否具有一定的复杂度,即口令是否包含大写字母、小写字母、数字、特殊字符中的三种,长度8位以上。

3.2 强制密码策略

select * from dba_profiles where profile='DEFAULT';
查看PASSWORD_VERIFY_FUNCTION 的值
等保2.0测评深入理解 — Oracle 数据库
这里配置表的规则,用户时可以自定义多个配置给不同用户使用的
比如这里的 PASSWORD_VERIFY_FUNCTION 的profile字段值为DEFAULT,某用户要使用Default的相关配置,就要设置DBA_USERS表中的profile字段值为DEFAULT。
默认情况下,用户使用的都是DEFAULT
select username,profile from db_users;
等保2.0测评深入理解 — Oracle 数据库
当然使用plsql连接的话还可以通过图形化界面来看
等保2.0测评深入理解 — Oracle 数据库
右键查看
等保2.0测评深入理解 — Oracle 数据库
适用的用户也会有体现
等保2.0测评深入理解 — Oracle 数据库
3.2.1 utlpwdmg.sql
在安装oracle的时候,默认会有一个utlpwdmg.sql文件,是创建函数的一段语句。
首先,我们找到这个文件
使用,find / -name 'utlpwdmg.sql';
查询到文件在此位置,/data/oracle/product/11.2.0/db_1/rdbms/admin/utlpwdmg.sql
然后sqlplus / as sysdba 进入SQL
执行该SQL 文件
等保2.0测评深入理解 — Oracle 数据库
执行完毕后会生成两个函数
等保2.0测评深入理解 — Oracle 数据库
在oracle11g中,运行utlpwdmg.sql 会创建两个函数,一个是新版本的口令校验函数,一个是老版本的,在里面还会对配置表进行修改,让PASSWORD_VERIFY_FUNCTION 的值为新版本的口令校验函数的名字。
查看utlpwdmg.sql文件,最后有这么一段,但是不准确
等保2.0测评深入理解 — Oracle 数据库
实际引用的函数直接在数据库中查看相应的值,而不是去查看utlpwdmg.sql 文件。
等保2.0测评深入理解 — Oracle 数据库
3.2.2 PASSWORD_VERIFY_FUNCTION_11G
这里我们了解一下该函数的具体内容:
1)第一段就是检查口令的最小长度,如果小于8就返回错误,所以口令最小长度须为8
等保2.0测评深入理解 — Oracle 数据库
验证:
等保2.0测评深入理解 — Oracle 数据库
2)第二段检查用户口令是否和用户名一样,如果一样返回错误
并且同时检查口令不能是用户名后面加上1-100的数字
等保2.0测评深入理解 — Oracle 数据库
验证:
等保2.0测评深入理解 — Oracle 数据库
当口令为用户名的+101时,可以创建成功
等保2.0测评深入理解 — Oracle 数据库
3)第三段检查口令是否等于倒序的用户名
等保2.0测评深入理解 — Oracle 数据库
验证:
等保2.0测评深入理解 — Oracle 数据库
4)第四段检查用户口令是否和数据库名相等,以及是否为数据库名+(1-100)
等保2.0测评深入理解 — Oracle 数据库
验证:
因为我这里是默认数据库名:orcl,口令的长度不够,测试不出来
等保2.0测评深入理解 — Oracle 数据库
等保2.0测评深入理解 — Oracle 数据库
5)第五段,检查口令是否为一些简单的单词,用户意义根据需要自行添加一些弱口令
等保2.0测评深入理解 — Oracle 数据库
验证:
等保2.0测评深入理解 — Oracle 数据库
6)第六段,检查口令是否为oracle(1-100)
等保2.0测评深入理解 — Oracle 数据库
验证:
等保2.0测评深入理解 — Oracle 数据库
7)第七段,检查口令是否同时包含1个数字和1个字母
由于这里字母组、数字的定义是:等保2.0测评深入理解 — Oracle 数据库
所以大小写字母中有一个就可以满足了
等保2.0测评深入理解 — Oracle 数据库
验证:
等保2.0测评深入理解 — Oracle 数据库
8)第八段,检查新口令与旧口令的相似度
等保2.0测评深入理解 — Oracle 数据库
实验:
verify_function_11G,如果新口令和旧口令一样的话,应该通不过校验的才对。
经过实验,不知道是为什么old_password是空字符串,压根就没有传值进来,所以实际上直接跳过了旧口令和新口令的对比校验……
等保2.0测评深入理解 — Oracle 数据库
9)最后,第九字段,如果通过了所有校验(没有返回错误),就返回ture
等保2.0测评深入理解 — Oracle 数据库
总结:
从整个默认的新版校验函数来看,要求口令长度不低于8位,需要同时包含数字、字母(大小写均可),然后一些简单的弱密码不可以设置。
另外,针对SYS账户的口令更改,不受到这个校验函数的限制。
登录SYS按道理来说使用的是密码文件或操作系统的验证,所以不知道在USER$中SYS账户的PASSWORD字段的值有什么用,虽然也会跟着口令的更改而更改就是了。
等保2.0测评深入理解 — Oracle 数据库

原文始发于微信公众号(等保不好做啊):等保2.0测评深入理解 — Oracle 数据库

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月18日17:27:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   等保2.0测评深入理解 — Oracle 数据库http://cn-sec.com/archives/2312964.html

发表评论

匿名网友 填写信息