ORACLE_OCP之管理用户安全

ORACLE_OCP之管理用户安全

一、数据库用户

  • 每个数据库用户帐户都有:
    • 唯一的用户名
    • 认证方式
    • 默认表空间
    • 临时表空间
    • 用户密码的相关参数
    • 一组默认的资源配置
    • 帐户状态
  • 模式(SCHEMA):
    • 是数据库用户拥有的数据库对象的集合
    • 与用户的名称相同

二、特权帐户

  • SYS:
    • 管理所有的数据字典和AWR报告
    • 用于启停数据库实例。
  • SYSTEM:拥有和管理其他管理表和视图
  • SYSBACKUP: 操作 Oracle Recovery Manager (RMAN) 备份与恢复操作
  • SYSDG: 对Oracle Data Guard (DG)操作
  • SYSKM: 管理透明数据加密钱包操作
用户管理特权
权限描述
SYSDBA标准数据库操作,例如启动和关闭数据库实例,创建服务器参数文件(SPFILE)以及更改ARCHIVELOG模式允许被授权者查看用户数据
SYSOPER标准数据库操作,例如启动和关闭数据库实例,创建服务器参数文件(SPFILE)以及更改ARCHIVELOG模式
SYSBACKUP使用RMAN或SQL * Plus的Oracle Recovery Manager(RMAN)备份和恢复操作
SYSDG使用Data Guard Broker或DGMGRL命令行界面进行Data Guard操作
SYSKM管理透明数据加密操作
  • 保护特权帐户
    • 特权帐户可以通过:
      • 增加密码复杂度
      • 对管理员角色启用更强身份验证

三、用户验证

  • 密码:用户定义一个密码,当用户尝试登录数据库时必须提供该密码
  • 外部:通过数据库外部的方法(操作系统,Kerberos或Radius)进行身份验证
  • 全局:通过使用基于LDAP的目录服务来标识用户

四、管理员认证

  • 操作系统安全:
    • DBA必须具有OS特权才能创建和删除文件。
    • 非DBA的数据库用户不应具有操作系统特权来创建或删除数据库文件.
  • 管理员安全:
    • 当SYSDBA and SYSOPER连接时:
      • 已按名称审核DBA用户的密码文件和强身份验证方法。
      • 已对OS帐户名进行审计以进行OS身份验证。
      • 对于特权用户,操作系统身份验证优先于密码文件身份验证。
      • 密码文件使用区分大小写的密码.

五、权限

  • 数据库中包含两种用户权限:
    • 系统权限:使用户能够执行数据库中的特定操作
    • 对象权限:使用户能够访问和操作特定对象

六、使用角色管理权限

  • 角色:
    • 把一组特定权限赋予角色
    • 可以通过角色向用户授予多个权限
  • 角色的优点:
    • 更简单的权限管理
    • 更动态的权限管理
    • 更好的权限选择性

七、预定义角色

RolePrivileges Included
CONNECTCREATE SESSION
DBAMost system privileges; several other roles. Do not grant to non-administrators.
RESOURCECREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE TRIGGER, CREATE TYPE
SCHEDULER_ADMINCREATE ANY JOB, CREATE EXTERNAL JOB, CREATE JOB, EXECUTE ANY CLASS, EXECUTE ANY PROGRAM, MANAGE SCHEDULER
SELECT_CATALOG_ROLESELECT privileges on data dictionary objects

八、角色的安全

  • 默认角色,可以在需要时启用

    SET ROLE vacationdba;

  • 可以通过身份验证保护角色。

  • 角色也可以通过编写存储过程等方式进行保护.

    CREATE ROLE secure_application_role
    IDENTIFIED USING <security_procedure_name>;

九、权限分析

  • 分析现有权限以撤消不必要的权限。
  • 使用DBMS_PRIVILEGE_CAPTURE包.
    在这里插入图片描述
  • 权限分析流程
    在这里插入图片描述

十、USER的PROFILE文件(概要文件)

  • 一个用户只能分配一个概要文件:
    • 控制资源消耗
    • 管理帐户状态和密码有效期

Note:必须先将RESOURCE_LIMIT设置为TRUE,概要文件才能施加资源限制。

在这里插入图片描述

十一、ORACLE解除密码180天限制(dbca建库成功以后就进行相关操作)

  • 1、进入sqlplus模式

    sqlplus / as sysdba;

  • 2、查看用户密码的有效期设置(一般默认的配置文件是DEFAULT)

    SELECT * FROM dba_profiles WHERE profile=‘DEFAULT’ AND resource_name=‘PASSWORD_LIFE_TIME’;

  • 3、将密码有效期由默认的180天修改成“无限制”,修改之后不需要重启动数据库,会立即生效

    ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ;

  • 4、如果在账户进不去,或者账户锁定。帐户再改一次密码

    alter user 用户名 identified by 原密码;

  • 5、使用修改后的用户登录,如果报“ORA-28000:用户已被锁”,解锁

    alter user db_user account unlock;
    commit;

十二、实施密码安全功能

在这里插入图片描述

Note:请勿使用会导致SYS,SYSMAN和DBSNMP密码过期且帐户被锁定的配置文件。

  • 提供的密码验证功能

    • 以下功能是由$ORACLE_HOME/rdbms/admin/utlpwdmg.sql 脚本提供:
      • VERIFY_FUNCTION_11G
      • ORA12C_VERIFY_FUNCTION
      • ORA12C_STRONG_VERIFY_FUNCTION
    • 该功能提供以下用处:
      • 最少字符数
      • 不能是用户名,带数字的用户名或反向的用户名
      • 不是数据库名称或带数字的数据库名称
      • 至少包含一个字母和一个数字字符
      • 与上一个密码至少相差三个字母
  • 对默认概要文件的修改

    • utlpwdmg.sql脚本还修改了DEFAULT配置文件,如下所示:

      ALTER PROFILE DEFAULT LIMIT
      PASSWORD_LIFE_TIME 180
      PASSWORD_GRACE_TIME 7
      PASSWORD_REUSE_TIME UNLIMITED
      PASSWORD_REUSE_MAX UNLIMITED
      FAILED_LOGIN_ATTEMPTS 10
      PASSWORD_LOCK_TIME 1
      PASSWORD_VERIFY_FUNCTION ora12c_verify_function;

  • 为用户分配配额

    • 不具有UNLIMITED TABLESPACE系统权限的用户必须获得配额,然后才能在表空间中创建对象.
    • 配额可以是:
      • 特定值,以兆字节或K字节为单位 M K G T P E
      • 无限 UNLIMITED
    • 延迟段:
      • 当延迟段打开的时候,当某个具有建表权限的用户建表时,实际上并不是真正的建立了段,而是建立了一个延迟段,然后插入数据时这个延迟段,才会变成一个真正的段。
        当延迟段关闭的时候,当某个具有建表权限的用户建表时,就会马上建立一个真正的段。

      注:以上操作必须具有已分配或者不限制使用某个表空间的磁盘配额。

十三、应用最小特权原则

  • 保护数据字典:

    O7_DICTIONARY_ACCESSIBILITY=FALSE

  • 从PUBLIC撤消不必要的特权。

  • 使用访问控制列表(ACL)来控制网络访问。

  • 限制用户可访问的目录。

  • 使用管理特权限制用户。

  • 限制远程数据库身份验证:

    REMOTE_OS_AUTHENT=FALSE

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值