安全计算环境
身份鉴别
a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换
select limit from dba_profiles where profile='DEFAULT'and resource_name='PASSWORD_VERIFY_FUNCTION';
//查看密码复杂度是否开启
select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
//密码有效期,单位天
b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施
select lower(limit),lower(resource_name) from dba_profiles;
failed_login_attempts //登录失败次数
password_lock_time //失败锁定时间,单位天
idle_time //登录连接超时
c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听
find / -name 'sqlnet.ora' //找到服务器中oracle配置文件
cat 安装路径/sqlnet.ora
SQLNET.ENCRYPTION_SERVER = REQUIRED ----加密级别
SQLNET.ENCRYPTION_TYPES_SERVER = RC4_256 ----加密算法
SQLNET.CRYPTO_CHECKSUM_SERVER = REQUIRED --- 一致性能校验
d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现
核查用户登录数据库外是否还需要动态令牌等另一种验证,oracle一般默认不符合。
访问控制
a)应对登录的用户分配账户和权限
select * from dba_role_privs; //每个用户的权限
b)应重命名或删除默认账户,修改默认账户的默认口令
select username from dba_users; //sys,system,scott均为默认用户
c)应及时删除或停用多余的、过期的账户,避免共享账户的存在
同上
d)应授予管理用户所需的最小权限,实现管理用户的权限分离
除sys、system用户外,还需要有安全员与审计员
e)应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则
核查是否由授权主体(如安全管理员用户)负责配置访问控制策略。
f) 访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级
访问控制粒度主体达到用户级,客体达到数据库表级
g)应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问
oracle数据库不具有强制访问控制功能,无安全标记
安全审计
a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计
select value from v$parameter where name='audit_trail';
//DB或DB_EXTENED为开启了审计,没开启为none
b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息
Oracle 数据库开启了审计功能,此项默认符合
c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等
询问是否有数据库审计设备,并将该数据库资产加入进去,或其他备份方式
d)应对审计进程进行保护,防止未经授权的中断
核查非审计管理员用户能否中断审计进程,若未进行三权分立,则为超管。
入侵防范
a)应遵循最小安装的原则,仅安装需要的组件和应用程序
不适用
b)应关闭不需要的系统服务、默认共享和高危端口
不适用
c)应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制
find / -name 'sqlnet.ora' //找到服务器中oracle配置文件
cat 安装路径/sqlnet.ora
# 开启ip限制功能
tcp.validnode_checking=yes
tcp.invited_nodes=(127.0.0.1) //允许访问
tcp.excluded_nodes=(192.168.1.111) //禁止访问
d)应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求
该项测评对象为应用系统,不适用
e)应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞
通过漏扫软件或设备进行扫描
f)应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警
不适用
恶意代码防范
a)应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断
不适用
可信验证
a)可基于可信根对计算设备的系统引导程序、系统程序、重要配置参数和应用程序等进行可信验证,并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心
可信验证需要从芯片等硬件层面进行,在金融行业少数能实现,默认不符合
数据完整性
a)应采用校验技术或密码技术保证重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等
核查数据库远程管理是否采用 SSL 安全连接。
b)应采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等
核查是否采用了 SM3、SHA256、SHA512等摘要算法对鉴别口令数据进行完整性计算后存储在数据表中。
数据保密性
a)应采用密码技术保证重要数据在传输过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等
核查数据库远程管理是否采用 SSL 安全连接。
b)应采用密码技术保证重要数据在存储过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等
核查数据库系统用户鉴别信息(如口令)是否以密文形式存储,Oracle数据库系统一般对用户口令进行 SHA 加密后存储。
微信公众号
扫一扫关注CatalyzeSec公众号
加入我们的星球,我们能提供:
Fofa永久高级会员
常态化更新最新的漏洞POC/EXP
常态化更新未公开、半公开漏洞POC
常态化更新优质外网打点、内网渗透工具
常态化更新安全资讯
开放交流环境,解决成员问题
https://t.zsxq.com/18Fq7QNgv