oracle第六章 安全性笔记

目标

        1.     创建和管理数据库用户账户

        2. 授予和撤销权限

        3. 创建和管理角色

        4. 创建和管理配置文件

        5. 实现数据库安全和最小权限原则

        6. 使用标准数据库审核

  1. 创建和管理数据用户账户

    1. 用户账户属性

      1. 用户名

        1. 必须唯一

      2. 身份认证方法

      3. 默认表空间

      4. 表空间配额

      5. 临时空间配额

      6. 临时表空间

      7. 用户配置文件

      8. 账户状态

  2. 授予和撤销权限

      1. 创建会话  

        1. create session 允许用户连接

      2. 受限制的呼唤

        1. restricted session 

      3. 更改数据库

        1.  alter database 允许访问多个修改物理结构所需额命令

      4. 更改系统

        1. alter system  允许控制实例参数和内存结构

      5. 创建表空间

        1. alter tablespace    和 drop tablespace

      6. 创建表

        1. 允许被授权人在主机的模式中创建表

      7. 授予任何对象权限

        1. grant any object privilege

      8. 创建任何表

        1. create any table

      9. 删除任何表

        1. drop any table

      10. 插入任何表 更新任何表 删除任何表 

        1. insert any table,update any table,delete any table

      11. 选择任何表

        1. select any table  被授权人可以对数据库中的任何表执行select 任何操作。

      12. 授予权限

        1. grant create session to leipore;

      13. 允许一个变体被授权人将权限传递给第三方

        1. grant create table to leipore with admin option;

  3. 创建和管理角色

      1. grant insert,update,delete on hr.employees to leipore;

      2. 创建管理者角色

        1. create role hr_manager;

        2. grant all on hr.regions to hr_manager;

        3. grant all on hr.location to hr_manager;

        4. grant all on hr.ployees to hr_manager;

      3. 预先定义的角色

        1. connect 此版本只有create session权限

        2. resource   此角色可以创建数据对象的过程对象,包括unlimitedtablespace权限

        3. DBA 拥有绝大多数权限 除了unlimited tablespace

        4. select_catalog_role  拥有针对数据字典对象的2000多个对象权限,没有系统去啊年货针对用户的权限。

        5. scheduler_admin  拥有用于管理调度服务的调度程序作业所需的系统权限

      4. 启用角色

  4. 创建和管理配置文件

        1. 实施口令策略并限制会话可以占用的资源。配置文件的资源限制只有在实例参数 resource_limit 为ture才生效

      1. 管理口令

        1. faled_login_attempts 指定在锁定账户前,口令

        2. CPU_PER_SESSion 强制终止会话前,允许会话的服务器进程使用的CPU时间

        3. logical_reads_per_session 在墙绘终止某条SQL 语句前

        4. logical_reads_per_call 在强制终止单个语句前,此语句可以读取的块数

        5. priate_SGA 对于通过共享服务器体系结构连接的会话,允许会话的会话数据在SGA中占有的字节数

        6. CONNECT_TIME 在终止会话前 会话的最长持续时间

        7. IDLE_time在强制会话前允许会话处于闲置的状态的最长时间

      2. 配置文件的创建和分配

        1. select username,profile from dba_users;

        2. 为default 的配置文件

          1. select * from dba_profiles where profile='DEFAULT';

      3. 数据库安全和最小权限原则

            1. public 权限

              1. UTL_FILE 这个包含允许用户读写操作系统oracle所有者可以访问的任何文件和目录,这些文件和目录包括所有的数控文件以及oracle―_home目录

              2. UTL_TCP

              3. UTL_SMTP 

              4. UTL_SMTP_SERVER

              5. UTL_HTTP

            2. 对安全性至关重要的实例

                1. utl_file_dir    参数允许PL/SQL通过UTL_FILE包来访问服务器计算机的文件系统通过utl_file包来访问服务器就是就是的文件系统

                2. remote_os_authent     os_authent_prefix

                  1. remote_os_authent 这个参数控制某个用户是否能够在不需要给出口冷的情况下从远处计算机上连接数据库。

                3. 07_dictionary_accessibility  控制使用any关键字授予对象权限的效果

                4. remote_login_passwordfile 控制具有sysdba 或 sysoper 权限的用户能否通过网络实例。

      4. 使用标准数据库审核

        1. 除了sysdba审核之外,oracle提供下列三种审核技术

                1. 数据库审核:跟踪特定权限,特定命令执行,对特定表的访问以及登陆尝试

                2. 基于值的审核,使用数据库触发器,在插入 更新 或删除记录,记录改细节

                3. 细粒度审核: 允许根据所访问的记录来跟踪对表的访问。与数据库审核或基于值的审核相比,细粒度审核更为精准,并将生产的审核记录的范围限制为感兴趣的审核记录

            1. 审核sysdba

              1. 如果实例audit_sys_operations 设置为ture,那么sysdba和sysoper连接数据库的用户所发布的每条语句都会被写入操作系统的审核跟踪。

            2. 数据库审核

              1. audit_trail  

                1. none 无论视图配置哪一种审核,这个参数都会被禁用数据库审核

                2. os 审核记录会被写入操作系统的审核跟踪

                3. DB 审核记录会被写入书记点表sys.aud$。可以通过某些视图来查看合格表的内容

                4. DB_extended与DB的作用大体相同,单使用sql语句和绑定变量。



你可能感兴趣的:(oracle安全)