等保测评 安全计算环境之oracle数据库管理系统

安全计算环境之oracle数据库管理系统

1. 身份鉴别

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

“1)访谈数据库管理员系统用户是否已设置密码,并查看登录过程中系统账户是否使用了密码进行验证登录
2)查看是否启用口令复杂度函数: select limit from dba_profiles where profile= ’ DEFAULT’ and resource_name=’ PASSWORD_VERIFY_FUNCTION’
3)检查utlpwdmg.sql 中“-- Check for the minimum length of the password“部分中“length(password)<”“后的值
4) PASSWORD_LIFE_TIME(口令过期时限)”

“1)需要登录密码
2)dba_profiles 策略中PASSWORD_VERIFY_FUNCTION’的值不为UNLLIMITED
3)utlpwdmg.sql 中“-- Check for the minimum length of the password“部分中“length(password)<”“后的值为8或以上
4)dba_profiles策略中 PASSWORD_LIFE_TIME不为UNLIMITED”

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

“1)查看是否启用登录失败限制策略,执行: select limit from dba_profiles where profile= ’ DEFAULT’ and resource name=’ FAILED_LOGIN_ATTEMPTS
2)查看是否启用登录失败锁定策略,执行: select limit from dba_profiles where profile= ‘DEFAULT’ and resource_ name= PASSWORD_ LOCK_TIME”"
3)查看是否启用登录超时退出策略,执行:select limit from dba_profiles= 'DEFAULT and resource name= ‘IDLE_ TIME’ "

“1)dba_pofiles策略中 FAILED_LOGIN_ATTEMPTS不为UNLIMITED
2)dba_pofiles策略中 PASSWORD_LOCK_TIME不为UNLIMITED
3)dba_pofiles策略中IDLE_ TIME不为UNLIMITED”

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

“1)查看initsSID.ora (%ORAClE_HOME\db_1\NETWORK\ADMIN)中REMOTE_0S _AUTHENT的赋值
2)查看listene.ora (%ORAClE_HOME\db_1\NETWORK\ADMIN)文件中的”“LISTENER”-”“DESCRIPTION “”-”“ADDRESS_LIST”"-"“ADDRESS”"- "“PROTOCOL”“项目的
赋值
3)执行show parameter remote_login_passwordfile”

“1)符合,且本项为false, 则符合(为true,远程操作系统认证。
2)应存在以下项目: PROTOCOL=TCPS (实际为TCP)
3)结果应为NONE,远程无法登录,Exclusive (唯 一的数据库密码文件登录”

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

查看和询问系统管理员在登录数据库的过程中使用了哪些身份鉴别方法,是否采用了两种或两种以上组合的鉴别技术,如口令、数字证书Ukey. 令牌、指纹等,是否有一种鉴别方法使用密码技术

除口令之外,采用了另外一种鉴别机制,此机制采用了密码技术,如调用了密码机或采取SM1-SM4等算法

2. 访问控制

a)应对登录的用户分配账户和权限

查看每个登录用户的角色和权限,是否是该用户所需的最小权限

MGMT_UIEW, SYS, SYSTEM, DBSNMP, SYSMAN是open的状态,其他都是锁定

b)应重命名或删除默认账户,修改默认账户的默认口令

“1)登录验证sys的口令是否为CHANGE_ON_INSTALL
2)登录验证system的口令是否为manager
3)登录验证dbsnmp的口今是否为dbsnmp”

1)2)3)使用默认口令无法登陆数据库账户

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

“1)在sqIplus中执行命令: select username , account_ status_from dba users
2)查看返回结果中是否存在scott. out1n、 ordsys 等范例数据库帐号
3)针对上述命令获得的用户帐号,查看是否存在过期账户,询问数据库管理员是否每一个账户均为正式、有效的账户
4)针对上述命令获得的用户帐号,询问是否存在多人共享账户的情况”

“1)不存在示例帐户
2)应不存在acount status 为“expired”“的帐户;所有帐户均为必要的管理帐户或者数据库应用程序帐户(不存在测试帐户/临时账户)
3)每一个数据库帐户与实际用户应为一一对应关系
4)不存在多人共享帐户的情况”

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

询问是否由不同员工分别担任操作系统管理员与数据库管理员

"
由不同员工分别担任操作系统管理员与数据库管理员"

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

询问数据库管理员,数据库系统是否由特定账户进行配置访问控制策略,具体访问控制策略是什么

由特定账户进行配置访问控制策略,并根据用户角色限制账户权限

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

询问数据库管理员, 访问控制的粒度主体是否用户级或进程级,客体是否为文件、数据库表级

由管理用户进行用户访问权限分配进行设置,依据访问控制策略,对各类文件和数据库表级进行访问

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

“1)检查是否安装Oracle Lable Security模块
2)查看是否创策略:SELECT policy_name,status form DBA_SA_POLICIES
3)查看是否创建级别: SELECT * form dba_sa_levels ORDER BY level_number
4)查看标签创建情况: select * from dba_sa_labels.
5)询问重要数据存储表格名称
6)查看策略与模式|表的对应关系: select * from dba_sa_tables policles, 判断是否针对重要信息资源设置敏感标签”

“1)返回的用户用户中应存在’LBACSYS’
2)存在状态为”“enable’ 的标签策略
3) -4)返回结果不为空
5)重要资源所在的表格名称
6)返回结果应不为空,且项目包含5)的结果”

3. 安全审计

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

“1)执行: selecet value form v$parameter where name=‘audit_trail’, 查看是否开启审计功能
2)用不同的用户登录数据库系统并进行不同的操作,在Oracle数据库中查看日志记录是否满足要求。”

“1) audit_trail 结果应不为pone
2)可在Oracle数据库中查看不同的用户登录数据库系统并进行不同的操作日志记录。”

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

“1)show parameter audit_trail
?>show parameter audit_sys_operations
3)select sel,upd,del,ins,gra from dba_obj_audit _opts
4)select sel,upd,del,ins,gra from dba_stmt_audit _opts
5)select sel,upd,del,ins,gra from dba_priv_audit _opts
6)记录一条日志内容,确认其包括事件发生的日期与时间、触发事件的主体与客体、事件的类型、事件成功或失败、身份鉴别事件中请求的来源(如末端标识符)、事件的结果等内容”

“1)应不为none
2)应为true
3)返回对象审计选项,应不全部为“-/-”
4)返回语句审计选项,应不全部为“-/-”
5)返回特权审计选项,应不全那为“-/-”
6)默认满足”

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

是否严格限制用户访问审计记录的权限,如采用audit vault 等

安全审计管理员定期对审计记录进行备份,对审计记录的维护和导出由专人负责

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

“1)询问是否严格限制管理员权限
2)用户可以通过alter system set audit_trail=none并重启实例关闭审计功能,查看是否成功”

“1)已限制管理员审计功能权限
2)测试其他人员无法对审计进程开启、关闭操作,并记录”

4. 入侵防范

a)应遵循最小安装的原则,仅安装需要的组件和应用程序;

b)应关闭不需要的系统服务、默认共享和高危端口;

c)应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制;

“查看在sqlnet. ora文件中是否配置参数: tcp.validnode_checking ,tcp,invited_nodes
tcp.validnode_checking=yes
tcp.invited_nodes=() #运维访问的IP列表,各IP之间用逗号分隔”

“在sqlnet. ora文件中tcp.validnode_checking=yes
tcp.invited_nodes已配置参数ip列表”

d)应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求;

e)应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞;

“访谈Oracle补丁升级机制,查看补丁安装情况:
#cd $ORACLE HOME/0patch
opatch lsinventory”

返回OPatch version信息和OUI version信息

f)应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警;

5. 恶意代码防范

a)应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断;

6. 可信验证

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

7. 数据完整性

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

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

8. 数据保密性

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

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

9. 数据备份恢复

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

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

“1)询问系统管理员是否提供异地数据备份功能,是否定时批量传送至备用场地
2)如果条件允许,则查看其实现技术措施的配置情况”

“1)已部署异地备份机房,并符合备份策略通过网络定期进行异地备份
2)查看实现的配置结果与备份策略一致”

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

“1)询间系统管理员数据库的备份和恢复策略是什么,查看是否达到上述要求
2)检查相关文档和配置,查看是否与系统管理员回答的一致”

“)核查备份结果与备份策略一致
2)核查近期恢复测试记录能够进行正常的数据恢复”

10. 剩余信息保护

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

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

11. 个人信息保护

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

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

猜你喜欢

转载自blog.csdn.net/weixin_45380284/article/details/113917709