当前位置: 首页 > news >正文

oracle 安全基线配置

DB-Oracle-数据库帐号策略
要求

应更改数据库账号的默认口令,避免使用默认口令的账号登陆到数据库(Oracle数据库中的默认账号/默认密码如下:sys/change_on_install、system/manager、sysman/oem_temp、scott/tiger、aqadm/aqadm、dbsnmp/dbsnmp)

风险描述

Oracle数据库中的默认账号/默认密码可能被攻击者尝试破解,给数据库安全带来威胁。

检查方法

使用sqlplus命令或者plsql工具等进入管理员账号:

sqlplus / as sysdba

conn sys/change_on_install

conn system/manager

conn sysman/oem_temp

conn scott/tiger

conn aqadm/aqadm

conn dbsnmp/dbsnmp

使用默认口令登录,查看是否可以登录成功。若可登录成功则不合规,否则合规。

配置方法

使用sqlplus命令或者plsql工具等进入管理员账号

两种合规方法(任选其一):

1、修改密码:

alter user scott identified by password;

alter user aqadm identified by password;

2、锁定用户:

alter user scott account lock;

alter user aqadm account lock;

要求

对于采用静态口令认证技术的数据库,应开启账号口令策略,口令长度应为8个字符及以上,口令应至少包含以下四种类别的字符中的三种:

  1. 英语大写字母 A, B, C, … Z ;
  2. 英语小写字母 a, b, c, … z ;
  3. 西方阿拉伯数字 0, 1, 2, … 9 ;

特殊符号 @, #, $, %, &, *等。

风险描述

如果账号口令不满足复杂度要求,会存在账号弱口令的风险,增加账号口令被暴力破解的概率,从而使得数据库受到安全威胁。

检查方法

select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_VERIFY_FUNCTION';

是 null则不合规,否则合规。

dba_profiles 视图
这是 Oracle 数据库里的一个数据字典视图,其中存储了各种配置文件所对应的资源限制信息。

PASSWORD_VERIFY_FUNCTION
它属于 Oracle 数据库的一种资源限制类型,其作用是设定密码复杂度验证函数。
要是将其限制值设为 NULL,那就意味着不会对密码复杂度进行验证。
若限制值为某个具体的函数名(例如 verify_function_11g),那么在创建或修改用户密码时,就会调用该函数来检验密码是否符合复杂度要求。

limit 列
在 dba_profiles 视图里,limit 列的作用是存储针对特定资源所设置的限制值。
就 PASSWORD_VERIFY_FUNCTION 这种资源限制类型来说,limit 列存储的就是密码验证函数的名称

    配置方法

    开启密码复杂度验证:

    sqlplus / as sysdba

    @?/rdbms/admin/utlpwdmg.sql

    ? 代表 Oracle 的 ORACLE_HOME 环境变量。utlpwdmg.sql 是 Oracle 自带的一个脚本,存放在 $ORACLE_HOME/rdbms/admin/ 目录下,它的主要作用是管理密码复杂度策略。
    utlpwdmg.sql的作用
    创建密码验证函数:它会创建一个名为 VERIFY_FUNCTION_11G 的函数(在 Oracle 11g 及更高版本中),这个函数定义了密码必须满足的一系列规则,比如密码长度、是否包含数字和特殊字符等。
    修改 DEFAULT 配置文件:该脚本会把 DEFAULT 配置文件中的 PASSWORD_VERIFY_FUNCTION 资源限制设置为 VERIFY_FUNCTION_11G,这样一来,新创建或者修改的用户密码就都需要通过复杂度检查了。

    DB-Oracle-数据字典访问权限策略
    要求

    应启用数据字典保护,只有SYSDBA账号才能访问数据字典基础表。数据字典可能包含的信息如:数据库设计资料、储存的SQL程序、账号权限、账号统计、数据库的过程中的信息。

    启用数据库字典保护达到保护数据库的目的,而普通dba登陆到数据库,不具备访问X$开头的表,以此来加强对数据库的保护。

    风险描述

    数据字典中可能包含数据库设计资料、储存的SQL程序、账号权限、账号统计、数据库进程信息、数据库的增长统计、数据库性能统计等重要信息,未对数据字典进行安全防护会导致信息泄露风险提升。

    检查方法

    检查O7_DICTIONARY_ACCESSIBILITY是否配置为FALSE,命令如下:

    SQL>show parameter O7_dictionary_accessibility;

    若为FALSE则合规,否则不合规。

    配置方法

    以下操作需DBA权限

    1、通过设置下面初始化参数来限制只有SYSDBA权限的用户才能访问数据字典。

    SQL>alter system set O7_DICTIONARY_ACCESSIBILITY=FALSE scope=spfile;

    关闭、重新启动数据库。

    解释

    数据字典访问权限:
    当设置为 TRUE 时,允许普通用户直接访问数据字典基表(如 SYS.OBJ$),这是 Oracle 7.x 时代的兼容行为。
    当设置为 FALSE(默认值)时,强制用户通过视图(如 DBA_OBJECTS)访问数据字典,提高安全性。
    安全风险:
    TRUE 值会绕过 Oracle 的标准权限检查,可能导致未授权用户获取敏感信息或执行特权操作。因此,生产环境中强烈建议保持默认值 FALSE。

    DB-Oracle-账号登录超时时间配置策略
    要求

    应配置数据库管理账号远程连接超时策略,超时等待时间应不超过10分钟。

    风险描述

    长时间远程连接可能被攻击者窃听到敏感信息。远程人员在离开时可能未锁屏或未采取有效保护措施,存在恶意人员借助此时间空闲进行违规操作的风险。

    检查方法

    select limit from dba_profiles where profile='DEFAULT' and resource_name='IDLE_TIME';

    查询结果值小于等于10合规,否则不合规

    profile = 'DEFAULT':指定查询默认配置文件(所有新创建用户默认继承此配置)。
    resource_name = 'IDLE_TIME':查询与 会话空闲时间相关的限制。
    limit:返回具体的限制值(以分钟为单位)。

    配置方法

    使用sqlplus命令或者plsql工具等进入管理员账号

    修改超时时间(分钟):

    ALTER PROFILE DEFAULT LIMIT IDLE_TIME 10;

    DB-Oracle-服务运行策略
    要求

    应设置单独账号,用于启动并运行oracle数据库,只授予该账号为完成操作所需的最小权限,禁止以操作系统超级管理员账号运行oracle;

    检查方法

    应设置单独账号,用于启动并运行oracle数据库,只授予该账号为完成操作所需的最小权限,禁止以操作系统超级管理员账号运行oracle;

    配置方法

    linux:

    切换到oracle用户启动服务

    监听:lsnrctl start

    实例:sqlplus / as sysdba → startup

    windows:

    1、新建oracle管理账号

    2、使用services.msc 进入服务管理,找到Oracle(OracleServiceORCL)服务和tnslistener(xxxTNSListener)服务服务 右键属性→登录→此账号 更改成oracle

    DB-Oracle-重要文件权限策略
    描述

    Linux应设置软件安装目录权限不高于755,配置文件及数据文件权限不高于644。Windows的软件目录及数据文件等权限仅限管理员账号完全控制,其他账号如有需求仅限读取和执行权限。

    检查方法1、Oracle主目录的权限查看:
    ls –ld ${ORACLE_HOME} # 不高于755
    2、数据文件权限查看:
    ls –l $ORACLE_BASE/oradata/{orcl}/  #不高于644
    3、进入配置文件目录:$ORACLE_HOME/dbs
    ls –l $ORACLE_HOME/dbs  #不高于644
    windows:
    对目录和配置文件点击右键属性-安全-点击用户查看相关权限。
     
    配置方法inux:
    1、修改Oracle安装目录权限:
    chmod 755 $ORACLE_HOME 
    2、修改数据文件权限:
    chmod 644  -R  $ORACLE_BASE/oradata/{orcl}/
    3、修改配置文件权限
    chmod 644 –R $ORACLE_HOME/dbs
    windows:
    oracle安装目录【右键】-【属性】-【安全】设置oracle主目录和数据存储目录的权限system组、administrators组和服务启动用户为完全控制,其余用户权限全部删除。

    相关文章:

  • MySQL主从复制实现指南
  • [2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
  • 2025蓝奏云软件库合集分享链接汇总:极刻云搜 - 一站式获取海量资源
  • 人脸识别技术应用备案材料揭秘
  • 24-Oracle 23 ai ​Lock-Free Reservations​(无锁列值保留)
  • 恶意流量异同
  • python打卡day50@浙大疏锦行
  • Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
  • 【MySQL数据库】InnoDB存储引擎:事务原理redolog、undolog与版本控制MVCC
  • windows上tensorrt国内镜像下载和安装教程
  • 欧盟手机和平板电脑生态设计和能源标签法案解析
  • Java八股文——JVM「垃圾回收篇」
  • 用C#实现单向链表和双向链表
  • vs2022中detach qt widgets designer
  • Python----OpenCV(图像处理——图像的多种属性、RGB与BGR色彩空间、HSB、HSV与HSL、ROI区域)
  • Vim 撤销 / 重做 / 操作历史命令汇总
  • Java事务回滚详解
  • 2025-03-14-Google检索技巧
  • CentOS7下的Redis部署
  • JavaScript事件循环机制详解
  • 成都网站设计培训/营业推广经典案例
  • 设计师网站 知乎/百度搜索推广官网
  • 网站 app 公众号先做哪个/百度快速收录办法
  • 菠菜建设网站/网络营销产品策略分析
  • 石家庄网站建设模板服务/seo线上培训多少钱
  • 红安县城乡建设局网站/浙江网络推广公司