一、前言

信息系统只要运行,就会产生数据,产生数据就需要存储,数据库就是所有信息系统所必需的,数据是信息系统最重要的东西,所以数据库的安全就是保障数据安全的重要屏障,现在市面上有许多数据库产品,其中使用比较广泛的就是Oracle数据库,今天我们就来讲一讲等保测评2.0中对Oracle数据库有哪些安全要求。

50017fd96ef7313a3a2c86804a6f5416.png

Oracle数据库

二、测评项

写到现在,其实等保2.0对于数据库的要求都是一样的,不同的是每个数据库都会有自己的实现方式,下面我们按照惯例列出等保2.0对于Oracle数据库在身份鉴别方面的要求。

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

b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;

c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听;

d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。

三、测评项a

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

Oracle数据库身份标识和鉴别有两种方式,一种是使用用户名和口令来实现,一种是通过操作系统用户来进行标识和鉴别,这种方式就像Windows操作系统和SQL Server数据库用户可以交叉登录一样,但是等保2.0一般不支持操作系统和数据库这样操作,因此应该采用用户名和口令的方式来进行身份标识和鉴别。

至于身份标识的唯一性,Oracle数据库是不允许拥有相同用户名的用户存在的,因此这一要求是默认符合的。

对于身份鉴别信息的复杂度要求,也就是口令的复杂度要求,一般情况下都是至少不少于8位,且包含大写字母、小写字母、数字、特殊字符这四类字符种的三种,也不能是这三种字符的简单排列,例如:admin@123;其次要查看数据库是否设置了一些口令复杂度的策略,PASSWORD_VERIFY_FUNCTION字段的值是一个函数值,当创建、更改用户口令时会调用到该函数对口令进行校验,Oracle数据库是通过各种语句来实现的,只要这个字段值不是null,就会对口令进行校验,一般会是DEFAULT,也就是按照默认策略来校验。我们可以使用语句:

select * from dba_profiles;

来查看PASSWORD_VERIFY_FUNCTION字段的值,如下图所示:

d87a870f71d0ca919a1590eeb5ca37bd.png

PASSWORD_VERIFY_FUNCTION字段

对于定期更换要求就需要用到PASSWORD_LIFE_TIME和PASSWORD_GRACE_TIME两个字段了,PASSWORD_LIFE_TIME代表口令过期时间,而PASSWORD_GRACE_TIME则代表口令过期后的宽恕时间,也就是说口令过期时间为PASSWORD_LIFE_TIME+PASSWORD_GRACE_TIME,单位为天,我们也可以通过以上语句查询这两个参数的值,如下图所示:

2ab7b28a63c3cde699f10538a8834a47.png

两个字段

四、测评项b

b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;

登录失败处理功能,我们可以使用查询语句:

select * from dba_profiles;

查看字段FAILED_LOGIN_ATTEMPTS和PASSWORD_LOCK_TIME的参数即可,一般情况下默认值为10和1,即连续输入错误密码10次,自动锁定登录1天,如下图所示:

8ef59a84566b4e29db825a6d2edf6f12.png

登录失败处理设置

至于超时自动退出,我们可以查看IDLE_TIME和CONNECT_TIME的参数值,其中IDLE_TIME参数可以指定某会话的最大时间,单位是分钟,超过设定值就会退出;CONNECT_TIME参数可以指定某会话可以持续的最大时间,单位也是分钟,超过设定值也会退出。

五、测评项c

c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听;

这一项听着比较复杂,实施起来也比较难操作,其实Oracle数据库从7.1版本开始就已经对连接数据库时进行的鉴别信息的传输进行加密了,因此这一项就变得比较简单了,只要Oracle数据库版本在7.1级以上,默认符合条件,至于7.1以下版本的Oracle数据库我还没有遇到过。

六、测评项d

d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。

至于双因素认证,除了口令之外那就是生物技术,最常见的就是指纹识别、视网膜识别和面部识别等,对于至少一种鉴别技术使用密码技术实现,其实Oracle数据库从7.1版本开始就默认对鉴别信息加密了,也就是在输入口令进行鉴别时,对口令就进行了加密,我觉得也算是符合其中一种鉴别技术至少应使用密码技术来实现。

至于采用其他方式实现密码技术来实现,例如采用堡垒机登录,我们可以具体问题具体分析,以上就是一项一项教你测等保2.0——Oracle身份鉴别的所有内容,希望对大家有所帮助,欢迎关注@科技兴了解更多科技尤其是网络安全方面的资讯与知识。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐