身份鉴别

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

1)访谈数据库管理员系统用户是否已设置密码,并查看登录过程中系统账户是否使用了密码进行验证登录
2) 检查数据库配置文件utlpwdmg.sql 中 
    “-- Check for the minimum length of the password“部分中“length(password)<"后的值(Linux 下 utlpwdmg.sql 默认路径为 $ORACLE_HOME/rdbms/admin/utlpwdmg.sql;Windows 需根据系统情况搜索)
3) 执行select resource_name,limit from dba_profiles where profile= ‘DEFAULT’;查看是否启用PASSWORD_VERIFY_FUNCTION(口令复杂度函数)
4) 查看是否设置PASSWORD_LIFE_TIME(口令过期时限)
5) 查看是否设置PASSWORD_REUSE_MAX(口令被修改后原有口令被修改多少次才允许被重新使用)
6) 查看是否设置PASSWORD_REUSE_TIME(口令被修改后原有口令隔多少天被重新使用)

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

执行select resource_name,limit from dba_profiles where profile= ‘DEFAULT’;
1)查看是否设置FAILED_LOGIN_ATTEMPTS(登录失败限制策略)
2)查看是否设置PASSWORD_ LOCK_TIME(登录失败锁定策略,单位为天)
3)查看是否设置IDLE_ TIME(登录超时退出策略,单位为分钟)

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

询问并查看所采用的数据库连接工具,是否具备加密措施(sql plus工具默认具备加密)
注;若是本地管理此项不适用

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

询问并查看是否采用两种及以上组合的鉴别方式,其中一种至少为密码技术

访问控制

a)应对登录的用户分配账户和权限
测评方法;

1)询问数据库管理员是否建立帐户权限表;
2)执行select * from dba_role_privs;查看设置的用户是否与权限表一致;
3)查看每个用户的登录状态,执行 select username,account_status from dba_users;
其实每个数据库都有个用户表,可以将此理解为用户权限表
OPEN 表示可用,可登录;
EXPIRED 表示过期,登录需验证两次口令;
LOCKED 表示锁定,不可登录
注;此项是默认符合的,因为只要你能登录数据库就相当于分配了一个账户和权限,不管是管理员账户还是普通账户

b)应重命名或删除默认账户,修改默认账户的默认口令;
测评方法;

1)登录验证:
sys 的口令是否为CHANGE_ON_INSTALL
system 的口令是否为 manager
dbsnmp 的口今是否为 dbsnmp
2)查看是否重命名或禁用了 SYS 、 SYSTEM 等系统默认账户,执行: select username,account_status from dba_users;
注;此项主要就看数据库的那些默认账户有没有重命名和修改默认口令,有就符合,没有就不符合或是部分符合

c)应及时删除或停用多余的、过期的账户,避免共享账户的存在;
测评方法;

1)访谈数据库管理员,当前数据库启用的账户是否每一个账户均为正式、有效的账户;
2)查看是否存在多余或过期的数据库账户,执行 select username ,account_status from dba_users;
3)访谈数据库管理员,是否存在多人共享账户的情况
注;此项主要就是调出user表,然后问管理员表中账户与使用者是否一一对应,有没有多余,过期的账户

d)应授予管理用户所需的最小权限,实现管理用户的权限分离;
测评方法;

调出user表,询问管理员是否设置审计员,安全员账户,并执行 select * from dba_role_privs;查看权限设置是否合理
注;要实现账户权限分离至少要有管理员账户和审计员账户

e)应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则;
测评方法;

1)询问数据库管理员是否统一配置用户的访问控制策略。
2)询问数据库管理员是否根据安全策略合理配置主体对客体的访问控制策略。
3)在数据库中输入SELECT*FROM DBA ROLE_PRIVS;查看分配的角色是否和安全策略一致。
注;此项一般都是由系统管理员账户来配置访问控制策略(最好还是问一下)

f)访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级;
测评方法;

此项基本是默认主体用户级,客体数据库表级

g)应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问。
测评方法;

询问管理员是否有采取措施对重要主体和客体做安全标记和控制标记信息资源访问
注;此项需要采用第三方主机加固软件来实现,如椒图等

安全审计

a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;
测评方法;

执行 show parameter audit,查看数据库是否启用了安全审计功能(audit_trail参数DB/OS), 查看是否对 DBA 用户的活动进行完整审计( audit_sys_operations 参数)
audit_sys_operations参数设置为True/false,审计范围才能够覆盖到管理用户,否则无法审计管理用户的操作
注;audit_sys_operations参数默认值为false,只记录:用管理员权限连接实例、启动数据库、关闭数据库这三种信息,参数为true后,能够记录所有用户的操作;
audit_trail参数:默认值NONE,不审计;DB:开启审计,将audit记录到sys.aud$表;OS:审计记录写入一个操作系统文件

b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;
测评方法;

与运维人员协商,调出sys.aud表进行查看(Oracle的审计记录以表格形式保存)select∗fromsys.aud表进行查看(Oracle的审计记录以表格形式保存)select * from sys.aud表进行查看(Oracle的审计记录以表格形式保存)select∗fromsys.aud; select * from dba_audit_trail;若上述查询为空,则代表审计相关的表没安装
注;只要开了审计,此项就默认符合的,数据库审计的主要对象包括数据库链接、SQL语句执行、数据库对象访问等方面
审计记录存储的位置有两种选择:一种是存储在操作系统文件中,一种是存储在system表空间的sys.aud$表中

c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;
测评方法;

此项主要查看数据库的审计记录是否大于6个月并询问管理员是否定期对审计记录做过备份,备份在哪里
注;通常情况下审计记录都是由审计管理员才有权限进行删除修改,若未设置审计管理员就只有数据库管理员具有此权限。

d)应对审计进程进行保护,防止未经授权的中断。
测评方法;

1)测试是否能够通过非审计管理员的其他账户来中断审计进程,执行 alter system set audit_trail=none (此命令是关闭Oracle审计功能)

可信验证

a)可基于可信根对计算设备的系统引导程序、系统程序、重要配置参数和应用程序等进行可信验证,并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心。
测评方法;

目前数据库未涉及可信技术的使用,故不适用

数据完整性

a)应采用校验技术或密码技术保证重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;
测评方法;

注;此项个人意见,若数据库中只存在鉴别信息,那么此项按照身份鉴别c项来描述,若还存在其他数据,绝大多数情况下考虑不适用,由应用层面来负责

b)应采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等。
测评方法;

个人意见;如果数据保密性满足要求则完整性也满足要求,可以根据数据保密性b)来写

数据保密性

a)应采用密码技术保证重要数据在传输过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等;
测评方法;

个人意见;数据库在传输过程中只涉及了身份鉴别数据,看身份鉴别c项来描述

b)应采用密码技术保证重要数据在存储过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等。
测评方法;

鉴别信息根据数据库采用了什么加密方式,其他重要数据根据现场查看情况来定

数据备份恢复

a)应提供重要数据的本地数据备份与恢复功能;
测评方法;

询问运维人员是否对数据库做过本地备份和恢复测试
注;通常测评业主只做过本地备份未做过恢复测试,不能给符合,要两者全做过才能给符合

b)应提供异地实时备份功能,利用通信网络将重要数据实时备份至备份场地;
测评方法;

询问运维人员是否有异地实时备份,备份在哪里

c)应提供重要数据处理系统的热冗余,保证系统的高可用性。
测评方法;

查看网络拓扑图并询问运维人员是否是否对数据库做了冗余,有就符合,没有就不符合

剩余信息保护

a)应保证鉴别信息所在的存储空间被释放或重新分配前得到完全清除;
测评方法;

数据库能保证鉴别信息所在的存储空间被释放或重新分配前得到完全清除

b)应保证存有敏感数据的存储空间被释放或重新分配前得到完全清除。
测评方法;

数据库能保证存有敏感数据的存储空间被释放或重新分配前得到完全清除

个人信息保护

a)应仅采集和保存业务必需的用户个人信息;
测评方法;

数据库不涉及对个人信息的采集,此项在应用层面进行判定

b)应禁止未授权访问和非法使用用户个人信息。
测评方法;

数据库不涉及对个人信息的采集,此项在应用层面进行判定

————————————————
版权声明:本文为CSDN博主「鹅鹅鹅饿鹅鹅鹅」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yuanqiangxiao/java/article/details/105943785

文档更新时间: 2020-07-21 11:57   作者:李延召