兴盛棋牌手机版

等保测评2.0:Oracle身份鉴别(中)

兴盛棋牌手机版 3343 兴盛棋牌手机版

@AnsonC@SEO@一、说明

本篇文章主要说一说oracle数据库中身份鉴别控制点中测评项a的相关内容和理解,关于身份鉴别的基础知识点在《等保测评2.0:Oracle身份鉴别(上)》中,请大家先阅读它。

@AnsonA@SEO@二、测评项a

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

三、测评项a要求1

@AnsonB@SEO@应对登录的用户进行身份标识和鉴别

oracle使用用户名对登录用户进行身份标识,这没啥好说的。oracle在身份鉴别这一块,拥有密码文件验证和操作系统验证两种方式。

密码文件验证的话,是需要登录用户输入用户名、口令的,但是操作系统验证则不需要。

对于数据库特殊账户的操作系统验证,仅由sqlnet.ora文件中的SQLNET.AUTHENTICATION_SERVICES进行控制,至于它有什么值以及代表什么意义,请大家去看上篇。

这里大家如果不想麻烦的话,其实也没有必要把SQLNET.AUTHENTICATION_SERVICES参数的值在linux和windows系统中代表的意义都搞清楚,测评的时候直接测试即可。

以centos系统为例子,也就是测评的时候先登录oracle数据库服务器的oracle账户,如果被测评方不清楚oracle账户的口令,也可以登录到root账户,然后使用“su – oracle”命令切换过去。

其实这里需要登录的是属于oinstall用户组的用户,但是一般情况下没人会去改默认配置,默认安装情况下操作系统的oracle用户会属于oinstall用户组。

登录oracle账户成功后,使用sqlplus / as sysdba命令去登录oracle数据库,这里就是使用数据库特殊账户的操作系统验证方式去验证。

如果能登录成功则说明开启了这种验证方式,不能则说明没开启。

如果开启了,那么这个要求项它就不能满足了,顶多是部分符合,因为这种方式登录数据库特殊账户不需要用户名、密码(虽然只能在本地登录,且登录的操作系统账户需要隶属于oinstall用户组),是一个比较大的安全隐患。

还有一种针对数据库普通账户的操作系统验证方式,这种验证方式对于登录的操作系统账户没有啥要求。

先去查看remote_os_authent和os_authent_prefix参数,它们的默认值分别是FALSE和ops$。

如果remote_os_authent是FALSE,那么是否开启这种验证方式还是由SQLNET.AUTHENTICATION_SERVICES决定。

如果开启了,假定os_authent_prefix的值是ops$,假定操作系统中存在一个cv的账户。

那么只要oracle数据库中建立一个名为ops$cv的账户并给与基础权限(连接权限等),用户在登录操作系统中的cv后,可以直接使用sqlplus /或sqlplus / as normal(两个命令是一个意思),以普通账户的身份登录ops$cv账户(当然这里需在cv账户的环境变量里配置一下好方便的使用sqlplus命令)。

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~