Oracle数据库安..全建议.doc_第1页
Oracle数据库安..全建议.doc_第2页
Oracle数据库安..全建议.doc_第3页
Oracle数据库安..全建议.doc_第4页
Oracle数据库安..全建议.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle数据库安全建议数据库安全建议 目目 录录 1ORACLE数据库安全管理数据库安全管理 1 1 1目的和意义 1 1 2安全管理流程 1 1 3安全策略 3 1 4管理用户 权限和资源 8 1 5审计准则 11 1 6管理审计跟踪信息 15 1 7细粒度审计 23 第 1 页 Copyright 2015 Oracle Corporation All rights reserved 1 oracle数据库安全管理数据库安全管理 1 1 目的和意义目的和意义 基于数据库管理应用平台的社保业务管理系统已成为大连社保信息 管理系统的核心业务 如何利用数据库安全技术建立和完善大连社 保核心业务系统的安全架构 消除已存在的和可能潜在的安全隐 患 保证核心业务系统安全可靠的运行 规范业务管理机制 对网 络信息安全管理和建设是非常必要的 1 2 安全管理流程安全管理流程 在制定安全管理策略之前 一定要定义好安全管理的工作流程 因 为一个好的安全策略必须要有一个很好的执行策略 才能达到更好 的系统安全 安全管理流程最重要的是管理 即制定良好的工作流程 制定相应 的模板 同时加强审批流程和监控力度 做到有章可循 有证可 查 同时流程的制定 也使系统维护更加角色明确 责任清晰 达 到 进不来 改不了 赖不掉 的管理水平 对于数据库的管理 维护工作 要制定好工作流程 特别是在运营 维护时期 消除任何操作失误 要制定定期检查流程 数据库日常 维护流程和数据库修改 维护 升级和调优的工作流程 其中最重 要的是要让主管领导清楚 到底作了哪些工作 同时也为审计工作 提供依据 安全管理工作流程如下图所示 第 2 页 Copyright 2015 Oracle Corporation All rights reserved 上面是一个简单的安全管理流程 用户可以参考指定符合自己运行 的工作流程 同时指派合适的人员和角色 或是结合目前流行的监 控设备 让自己的系统更加安全可靠 下面对流程有关的角色作一 介绍 以帮助用户更好地理解安全管理流程 主管领导 主管领导 主管领导 是具有决定能否对数据库进行维护 修改 升级和调优 等工作的业务主管和运营维护主管 当然上面只是一个简单的图 例 用来说明对于关键业务平台而言 任何操作都是很重要的 尤 其是对数据库的操作 对业务系统影响最大 所以必须有相应领导 的认可 才能进行操作 系统维护人员 系统维护人员 这里特意强调系统维护人员 原因很简单 系统和数据库的关系十 分密切 对于系统的升级 维护 硬件更换 网络调整 打Patch 等操作对数据库有很大的影响 因此也需要和数据库管理人员共同 协作 作好充分的准备工作和恢复策略 以免因系统原因导致数据 库的崩溃或数据丢失 数据库管理人员 数据库管理人员 第 3 页 Copyright 2015 Oracle Corporation All rights reserved 数据库管理人员对于数据库的安全来讲 位置十分重要 任何数据 库相关的维护 升级 管理等都由他来具体实现 因而技术的熟练 和对每一个操作可能带来的损失都要清清楚楚 以免造成重大损 失 审计人员 审计人员也是一个很重要的角色 要对数据库管理人员的操作进行 监督和管理 以避免数据库管理人员恶意的修改数据库中的数据 监控设施 监控设施也是现在系统安全中必不可少的设施 从生物识别 指 纹 掌纹 瞳孔 到普通的IC卡 可以进行身份的确认 同时摄 像仪器的广泛使用 也为安全带来了相当大的优势 可以全程监控 对系统的任何操作 包括任何人 任何时间和任何指令 对安全带 来了更好的监控记录 以便进行问题和事故分析 业务人员 只能从业务应用中操纵数据 不能进行任何数据库维护工作 其他用户 只能从业务应用中操纵数据 不能进行任何数据库维护工作 1 3 安全策略安全策略 制定了完善的安全管理工作流程后 需要制定数据库的安全管理策 略 Oracle数据库的安全管理策略包括 1 系统安全策略 2 数据安全策略 3 用户安全策略 4 口令管理策略 第 4 页 Copyright 2015 Oracle Corporation All rights reserved 5 审计策略 1 3 1 系统安全策略系统安全策略 系统安全策略包括 数据库用户管理 数据库操作规范 用户认 证 操作系统安全 1 数据库用户管理 在Oracle数据库中 数据库用户是对信息访问 的途径 因此 对数据库用户的管理应当进行严格安全维护 只有 可信的人员才拥有管理数据库用户的强大权限 2 数据库操作规范 由于数据是所有系统的核心 不能有任何篡改 和破坏 而数据库管理人员是唯一能直接访问数据库的人员 其重 要性和安全性可想而知 因此 必须加强对Oracle数据库维护人员 的监控 规范操作流程 1 操作内容文档化 将操作内容形成文档 而且对可能产生的后果 和如何提前进行预防措施都要写清楚 特别是对数据库结构的更 改 要考虑相关的操作 如备份等 2 加强审批过程管理 相关领导必须清楚数据库维护人员要进行 什么样的操作和相关后果 并签字审批 3 加强操作过程的管理 对数据库管理维护人员的操作 要有至 少一人陪同 以进行操作监督 尽量避免误操作 同时可以进行摄 像监控操作屏幕 对整个操作过程进行记录 4 加强问题处理的管理 对于数据库所出现的问题要书写相应报 告 分析原因 同时避免下次出现同样问题 5 加强数据库文档管理 对于数据库的设计 开发 实施过程中 涉及数据库的工作很多 包括数据库的结构设计 物理和逻辑设 计 建模脚本 协助开发人员工作 调优工作等等 都要予以记 录和归档 以便于后期的维护和工作交接 3 用户认证 Oracle可以使用主机操作系统认证用户 也可以使 用数据库的用户认证 从安全的角度出发 建议将initSID ora文 第 5 页 Copyright 2015 Oracle Corporation All rights reserved 件中的remote os authent参数设成FALSE 以防止没有口令的连 接 建议将remote os roles设成FALSE 防止欺骗性连接 4 操作系统安全 对运行Oracle和任何数据库应用程序的操作系统 环境考虑如下安全问题 1 数据库管理员必须拥有操作系统权限来创建和删除文件 2 通常的应用用户不应拥有操作系统权限来创建或删除与数据库 有关的文件 3 如果操作系统识别对用户的数据库角色 安全管理员就必须拥 有操作系统权限来修改操作系统帐户的安全域 应用用户或第三方软件用户对数据库的访问要有合适的系统权限 而不是dba或oinstall用户组 数据库管理员系统账户 如oracle 的口令必须符合规定 不能太 简单 而且要定期更改口令 另外不准泄漏口令 系统管理员在做系统维护的同时 应与数据库管理员协作 避免破 坏数据库的有关操作发生 1 3 2 数据安全策略数据安全策略 数据安全策略决定哪些用户可以访问特定的对象 以及对象上的每 个用户允许执行的特定类型的操作 整体的数据安全性应当基于数据的敏感程度 如果信息不是太敏 感 那么数据安全策略可以松一些 如果数据是敏感的 就应制定 安全策略 以保持对对象访问的严格控制 如对敏感数据进行加密 处理 1 3 3 用户安全策略用户安全策略 用户安全策略包括 一般用户安全 最终用户安全 管理员安全 应用程序开发人员安全 应用程序管理员安全 第 6 页 Copyright 2015 Oracle Corporation All rights reserved 1 3 3 1一般用户安全 1 口令安全 如果用户认证由数据库管理 则安全管理员应制定 口令安全策略来维护数据库访问的安全性 可以配置oracle使用加密口令来进行客户机 服务器和服务器 服务 器连接 ORA ENCRYPT LOGIN TRUE DBLINK ENCRYPT LOGIN TRUE 2 权限管理 管理有多用户 多应用程序或多对象的数据库的安 全管理员应当利用角色提供的优势 角色大大简化了在复杂环境中 的权限管理任务 3 最终用户安全 安全管理员必须为最终用户安全制定策略 如 果数据库很大且有很多用户 安全管理员可以决定如何对用户组进 行分类 为这些用户组创建用户角色 对每个角色授予必要的权限 或应用程序角色 以及对用户指定用户角色 角色是授权和管理不同数据库用户组需要的公用权限的最简单方 式 4 管理员安全 安全管理员应当拥有阐述管理员安全的策略 在数据库创建后 应对SYS和SYSTEM用户名更改口令 以防止对数 据库的未认证访问 且只有数据库管理员才可用 5 应用程序开发人员安全 安全管理员必须为使用数据库的应用 程序开发人员制定一套特殊的安全策略 安全管理员可以把创建必 要对象的权限授予应用程序开发人员 反之 创建对象的权限只能 授予数据库管理员 他从开发人员那里接收对象创建请求 6 应用程序管理员安全 在有许多数据库应用程序的大型数据库 系统中 可以设立应用程序管理员 第 7 页 Copyright 2015 Oracle Corporation All rights reserved 1 3 4 口令管理策略口令管理策略 口令管理包括 帐户锁定 口令老化及到期 口令历史记录 口令 复杂性校验 1 帐户锁定 当某一特定用户超过了失败登录尝试的指定次数 服务器会自动锁定这个用户帐户 例如 用户ASHWINI 的失败登录尝试的最大次数为4 帐户保 持锁定的时间是30天 经过30天后这一帐户会自动解锁 CREATE PROFILE prof LIMIT FAILED LOGIN ATTEMPTS 4 PASSWORD LOCK TIME 30 ALTER USER ashwini PROFILE prof 2 口令老化及到期 DBA使用CREATE PROFILE语句指定口令的 最大生存期 当到达了指定的时间长度则口令到期 用户或DBA必 须变更口令 例如 ASHWINI可以在90天内使用同样的口令直至它到期 CREATE PROFILE prof LIMIT FAILED LOGIN ATTEMPTS 4 PASSWORD LOCK TIME 30 PASSWORD LIFE TIME 90 ALTER USER ashwini PROFILE prof 3 口令历史记录 DBA使用CREATE PROFILE语句指定时间间 隔 在这一间隔内用户不能重用口令 例如 DBA说明在60天中用户不能重用自己的口令 CREATE PROFILE prof LIMIT 第 8 页 Copyright 2015 Oracle Corporation All rights reserved PASSWORD REUSE TIME PASSWORD REUSE MAX UNLIMITED 4 口令复杂性校验 通过使用PL SQL脚本utlpwdmg sql 它设置缺 省的概要文件参数 可以指定口令复杂性校验例行程序 口令复杂性校验例行程序执行下列检查 1 口令最小长度为4 2 口令与用户ID不同 3 口令至少有一个字母 一个数字和一个标点符号标记 4 口令不和welcome account database 或user 之类的简 单字匹配 5 口令与以前的口令至少有3个字母不同 1 3 5 审计策略审计策略 安全管理员应为每个数据库审计过程定义一套策略 例如 可以禁 用数据库审计 除非察觉可疑活动 当需要审计时 安全管理员必 须决定用何种明细级别审计数据库 通常 根据查明的可疑操作 当进行普通系统审计之后 再进行特定类型的审计 InitSID ora中audit trail参数设置成OS DB或TRUE 确保基本的审 计功能被使用 建议将此参数设置成OS 设置audit file dest参数 指定到某一Oracle为属主的目录 设置该 目录的权限为读 写 1 4 管理用户 权限和资源管理用户 权限和资源 Oracle 用户管理 1 用户名称命名规则 用户名称必须遵循命名规则 如命名长度 名字缩写规范 名字同 时也必须能明确表示与其应用系统的关联关系 第 9 页 Copyright 2015 Oracle Corporation All rights reserved 例如 CGAC DEC 表示海关的报关子系统的数据库用户名称 其 中CGAC是海关总署的缩写 DEC是报关的缩写 而中间用下划线分 隔 很清晰 也容易管理 2 用户口令设置规则 用户口令设置 必须保证至少6位长度 而且要包含大小写字母 数字和特殊字符 同时不能使用自己名称 常用电话和生日等安全 性极低的口令 同时好的口令管理 要保证口令定期更换 同时在一定周期范围内 不要重复使用 3 用户名和密码保密规则 用户和密码必须妥善保管和使用 相应用户和管理人员必须保守秘 密 不要造成人为地口令泄露 也不要擅自互相交换用户名和口 令 自己只负责相关的口令管理 4 用户统一管理规则 用户的命名 创建 修改 授权等管理必须由数据库管理员统一管 理 不能擅自更改 必须遵守一定的流程 1 4 1 权限和角色权限和角色 权限分为系统权限和对象权限 1 对象权限 select insert update delte index alter on table grant insert column1 on test to john 2 系统权限 alter system alter database create table connect sysdba sysoper 通过下列命令授权和回收权限 grant sysdba to system 第 10 页 Copyright 2015 Oracle Corporation All rights reserved revoke sysdba from system grant select on test to system revoke select on test from system 通过下列数据字典 查询权限信息 dba tab privs dba sys privs dba role privs 角色是一组权限的集合 或没有权限 方便dba对权限集合的管理 如 imp full database exp full database 通过下列数据字典 查询角色信息 dba roles session rolesk role role privs 1 4 2 用概要文件 用概要文件 profile 管理数据库系统资源 管理数据库系统资源 概要文件用来限制和管理数据库系统资源的使用 当数据库创建 时 会创建default的概要文件 它主要包含以下内容 1 每个用户能够打开的并发会话数 2 连接到数据库的使用或空闲时间 3 cpu的使用时间 4 private sql 和 pl sql 在SGA区的使用 5 执行的逻辑读 例子 create profile account user limit session per user 6 connect time 1440 idle time 120 logical reads per call 1000000 第 11 页 Copyright 2015 Oracle Corporation All rights reserved password life time 60 password reuse time 90 password reuse max unlimited failed login attempts 6 password lock time unlimited 通过下列数据字典 查询profile的信息 dba profiles user resource limits user password limits resource cost 1 5 审计准则审计准则 在当今繁杂的数据事务处理环境中 需要对系统内部进行的工作有 所监控 不仅需要知道谁连到哪台主机 还需要统计数据 监控数 据访问 或对那些可疑的操作进行监控 所有这些工作的完成都可 以利用审计的特点 1 5 1 决定是否使用数据库或操作系统的审计跟踪功能决定是否使用数据库或操作系统的审计跟踪功能 用户的操作系统也可以包含审计跟踪 用它来存储由操作系统审计 程序生成的审计记录 操作系统特定的审计程序也许支持或者不支 持对操作系统审计跟踪的数据库审计功能 使用数据库审计跟踪会带来下列好处 1 根据预先定义的数据字典的审计跟踪视图来查看所选的审计跟 踪部分 2 可以使用Oracle 工具 比如Oracle 报表 生成审计报表 操作系统的审计跟踪也可以合并来自多个源的审计记录 这些源包 括Oracle 和其他应用程序 因此如果所有审计记录都来自同一个 地方那么检验系统活动会更加有效 第 12 页 Copyright 2015 Oracle Corporation All rights reserved 1 5 2 保持审计过的信息可管理保持审计过的信息可管理 尽管相对来说审计的花费不是很多 但是要尽可能地限制经过审计 的事件的数目 这样将会最低限度地减小执行经过审计的语句所带 来的性能方面的影响 并且减小审计跟踪的大小 当设计审计策略时使用下面的常用准则 1 评价审计的目的 在对审计的原因有清晰地了解之后 可以设计合适的审计策略并避 免不必要的审计 2 理智地进行审计 审计必要的最少数目的语句 用户或对象来获得目标信息 这样避 免了从混乱的重要的信息中审计不必要的信息 并因此防止消耗 SYSTEM 表空间中的宝贵空间 平衡一下你的需求来收集足够的 信息 以便有能力存储和处理这些信息 1 5 3 审计可疑的数据库活动的准则审计可疑的数据库活动的准则 当执行审计以便监控可疑的数据库活动时 使用以下一些准则 1 先进行一般的审计 再进行特别的审计 当开始审计可疑的数据库活动时 通常 可以用于目标指定用户或 模式对象的信息并不是很多 因此 必须首先设置一些更加普通的 审计选项 一旦记录并分析了初步的审计信息 就应该关掉这些普 通的审计选项 并启用更特殊的审计选项 这种处理过程一直继续 直到收集了足够证据可以对可疑数据库活动的可疑起因做明确而具 体的结论时为止 2 保护审计跟踪 当审计可疑的数据库活动时 需要保护审计跟踪以便在没有经过审 计时不能添加 更改或删除审计信息 第 13 页 Copyright 2015 Oracle Corporation All rights reserved 1 5 4 审计正常的数据库活动的准则审计正常的数据库活动的准则 当审计的目的是收集特定的数据库活动的历史信息时 使用以下准 则 1 只审计适当的操作 要避免在混乱的重要信息中得到无用的审计记录 并减少审计跟踪 管理的数量 只需要审计目标数据库活动就可以 2 存档审计记录并清除审计跟踪 在收集到所需的信息之后 将感兴趣的审计记录存档并清除这些信 息的审计跟踪 1 5 5 ORACLE数据库的审计功能数据库的审计功能 ORACLE数据库审计的功能允许对表的访问 权限的使用以及指定 的SQL语句的使用这些操作进行跟踪 除此之外 它还提供了一种 办法 代表终端用户去跟踪中间层的连接 对数据库的审计分三类 1 语句级审计 2 特权级审计 3 对象级审计 1 语句审计 语句审计 只允许对SQL语句进行审计 语法 AUDIT option option BY username proxy name ON BEHALF OF ANY username BY SESSION ACCESS 第 14 页 Copyright 2015 Oracle Corporation All rights reserved WHENEVER NOT SUCCESSFUL 在以下两组SQL语句上使用审计语句 1 DDL 语句 对于具体的数据库模式对象类型 而不是具体某个对象 下面的审 计命令可以对所有的CREATE TABLE和DROP TABLE语句进行审 计 AUDIT TABLE 2 DML 语句 对特定类型的数据库对象的操作 而不是具体地对某一命令对象的 操作 下面的审计命令对所有的SELECT FROM TABLE语句审 计 这条SQL语句而不适用于个别表 AUDIT SELECT TABLE 审计命令可以对所有用户或部分用户的操作进行审计 2 特权审计特权审计 特权审计是用来审计系统特权的使用情况 例如 CREATE TABLE或SELECT ANY TABLE 可以对任何系统特权的使用情况 进行审计 语法 AUDIT option ALL ON username objectname BY SESSION ACCESS WHENEVER NOT SUCCESSFUL 例子 AUDIT CREATE TABLE 第 15 页 Copyright 2015 Oracle Corporation All rights reserved AUDIT UPDATE DELETE ON john cumstomer BY ACCESS WHENEVER SUCCESSFUL 可以设置特权审计去审计一个数据库的所有用户或部分用户的系统 特权行为 3 对象审计 对象审计 对象审计可以对特定DML语句进行审计 与以下对象相关的SQL语 句的执行情况可被审计 这些对象包括 表格 视图 序列 存储 过程 函数和包 语法 AUDIT option ALL ON username objectname BY SESSION ACCESS WHENEVER NOT SUCCESSFUL 对象审计应用于数据库的所有用户 1 6 管理管理审计跟踪信息审计跟踪信息 1 6 1 审计跟踪信息内容审计跟踪信息内容 审计跟踪记录可以包含不同类型的信息 这要根据审计的事件和设 置的审计选项来定 通常每个审计跟踪记录要包括下面的信息 操作系统登录用户名 用户名 会话标识符 终端标识符 第 16 页 Copyright 2015 Oracle Corporation All rights reserved 访问的模式对象的名称 已经执行的操作或者计划执行的操作 操作的完成代码 日期和时间戳 写入操作系统审计跟踪中的审计跟踪记录是加密的 并且不可读但 是这些记录可以在数据字典文件中解密 审计跟踪不存储有关数据值的信息 因为这可能涉及到经过审计的 语句 例如 当审计UPDATE 语句时 就不存储更新过的行的新 数据值和原来的旧数据值 但是 使用细粒度审计方法可以执行这 种特定类型的审计 1 6 2 默认的审计事件默认的审计事件 不管是否启用数据库审计 Oracle 通常会审计某些关系数据库动 作并写入操作系统审计跟踪中 这些事件包括以下一些内容 1 启动实例 2 关闭实例 3 使用管理员权限连接数据库 1 6 3 设置审计选项设置审计选项 使用AUDIT 语句来指定审计选项AUDIT 语句允许用户在下列三种 级别下设置选项 级别效果 导致影响特定类型数据库对象的特殊的SQL 语句或 语句组的审计 例如AUDIT TABLE审计CREATE TABLE TRUNCATE TABLE COMMENT ON TABLE 和DELETE FROM TABLE 语句 权限审计授予特殊系统权限的语句 例如AUDIT 第 17 页 Copyright 2015 Oracle Corporation All rights reserved CREATE ANY TRIGGER 审计使用CREATEANY TRIGGER 系统权限发布的语句 对象审计作用在特殊对象上的语句 比如emp 表上的 ALTER TABLE 语句 要使用AUDIT 语句来设置语句以及权限选项 就必须拥有AUDIT SYSTEM 权限 要使用AUDIT 语句来设置对象审计选项 就必须 拥有经过审计的对象或者拥有AUDIT ANY权限 设置语句和权限审计选项的审计语句可以包含一个BY 子句 用这 个子句来指定用户或者应用程序代理的列表 以便限制语句和权限 审计选项的范围 当设置审计选项时 也可以为审计指定以下条件 BY SESSION BY ACCESS BY SESSION 将使得Oracle 为在相同会话中发布的同一种类型的 所有SQL 语句写入一条记录 BY ACCESS 将使得Oracle 为每一 个访问写入一条记录 WHENEVER SUCCESSFUL WHENEVER NOT SUCCESSFUL WHENEVER SUCCESSFUL 选择只对成功的语句进行审 计 WHENEVER NOT SUCCESSFUL 选择只对失败或导致错误 的语句进行审计 在新的数据库会话创建的时候该会话将从数据字典中获得审计选 项 在数据库连接期间这些审计选项将保持有效 新系统或对象审 计选项的设置将会引起所有后续数据库会话使用这些选项 现有的 会话继续使用会话创建时设置的审计选项 警告 AUDIT 语句只能指定审计选项 它不能从整体上启用审 计 如果要打开审计功能并基于当前设置的审计选项控制Oracle 是否生成审计记录 就需要设置初始化参数AUDIT TRAIL 第 18 页 Copyright 2015 Oracle Corporation All rights reserved 1 6 3 1 指定语句审计 有效的语句审计选项可以包含在AUDIT 和NOAUDIT 语句中 1 6 3 2 审计连接和审计断开连接 要审计所有成功和不成功的数据库连接以及断开连接 不管用户是 谁均可采用BY SESSION 键入以下语句 AUDIT SESSION 也可以单独为用户设置这个选项 如同下面的例子 AUDIT SESSION BY scott lori 1 6 3 3 审计因为对象不存在而导致失败的语句 NO EXISTS语句选项指定审计因为目标对象不存在而导致失败的 所有SQL 语句 1 6 3 4 指定权限审计 权限审计选项准确地与对应的系统权限匹配 例如使用DELETE ANY TABLE 权限进行审计的选项 DELETE ANY TABLE 要启用 该选项 使用类似下面例子中的语句即可 AUDIT DELETE ANY TABLE BY ACCESS WHENEVER NOT SUCCESSFUL 要审计DELETE ANY TABLE 系统权限的所有成功和不成功使用键 入下列语句 AUDIT DELETE ANY TABLE 要审计在所有表上不成功的所有SELECT INSERT 和DELETE 语 句以及EXECUTE PROCEDURE 系统权限的不成功使用 需要由 所有数据库用户和个别经过审计的语句发布以下语句 AUDIT SELECT TABLE INSERT TABLE DELETE TABLE EXECUTE PROCEDURE BY ACCESS 第 19 页 Copyright 2015 Oracle Corporation All rights reserved WHENEVER NOT SUCCESSFUL 设置任何语句或权限审计选项都必须拥有AUDIT SYSTEM 系统权 限 通常安全管理员是唯一授予这个系统权限的用户 1 6 3 5 指定对象审计 用户可以为包含在用户模式中的对象设置任何的对象审计选项 为 包含在另一个用户模式中的对象设置对象审计选项 或者设置默认 对象审计选项 就必须有AUDIT ANY 系统权限 通常 安全管理 员是唯一授予AUDIT ANY 系统权限的用户 要审计scott emp 表上的所有成功和不成功的DELETE 语句采用BY SESSION 默认值键入下列语句 AUDIT DELETE ON scott emp 要审计属于用户jward 的dept 表上的所有成功的 SELECT INSERT 和DELETE 语句 采用BY ACCESS 键入下列 语句 AUDIT SELECT INSERT DELETE ON jward dept BY ACCESS WHENEVER SUCCESSFUL 要将默认对象审计选项设置为审计所有不成功的SELECT 语句采 用BY SESSION 键入下列语句 AUDIT SELECT ON DEFAULT WHENEVER NOT SUCCESSFUL 1 6 3 6 在多层环境中审计 在多层环境中 Oracle 通过所有层保存客户的标识符 这样就能 够审计代表客户实施的操作 如果这么做 只要在AUDIT 语句中 使用BY proxy 子句即可 该子句允许带一些选项 用户可以利用 这个子句做以下工作 审计由指定代理为自己发布的SQL 语句 第 20 页 Copyright 2015 Oracle Corporation All rights reserved 审计代表指定的一个或多个用户执行的语句 审计代表任何一个用户执行的所有语句 下面的例子审计了由代理应用程序服务器appserve 代表客户 jackson 发布的SELECT TABLE 语句 AUDIT SELECT TABLE BY appserve ON BEHALF OF jackson 1 6 4 关闭审计选项关闭审计选项 NOAUDIT 语句可以关闭Oracle 的各种审计选项 警告 NOAUDIT 语句只指定审计选项 它不能从整体上禁用审 计 要关闭审计并停止Oracle 生成审计记录 可以在数据库初始 化参数文件中设置初始化参数AUDIT TRAIL 1 6 4 1 关闭语句和权限审计 下面的语句将关闭相应的审计选项 NOAUDIT session NOAUDIT session BY scott lori NOAUDIT DELETE ANY TABLE NOAUDIT SELECT TABLE INSERT TABLE DELETE TABLE EXECUTE PROCEDURE 下面的语句将关闭所有语句审计选项 NOAUDIT ALL 下面的语句将关闭所有权限审计选项 NOAUDIT ALL PRIVILEGES 要禁用语句或权限审计选项就必须拥有AUDIT SYSTEM 系统权 限 第 21 页 Copyright 2015 Oracle Corporation All rights reserved 1 6 4 2 关闭对象审计 下面的语句将关闭相应的审计选项 NOAUDIT DELETE ON emp NOAUDIT SELECT INSERT DELETE ON jward dept 此外要关闭emp 表上的所有对象审计选项 可以键入下列语句 NOAUDIT ALL ON emp 要关闭所有默认的对象审计选项 可以键入下列语句 NOAUDIT ALL ON DEFAULT 1 6 5 启用和禁用数据库审计启用和禁用数据库审计 任何授权的数据库用户都可以在任何时候设置语句 权限和对象审 计选项 但是除非启用数据库审计 否则Oracle 不能生成并在审 计跟踪中存储审计记录 安全管理员通常负责这项操作 通过数据库初始化参数文件中的AUDIT TRAIL 初始化参数启用和 禁用数据库审计 这个参数可以设置为下列值 DB 启用数据库审计并引导所有审计记录到数据库的审计跟踪 OS 启用数据库审计并引导所有审计记录到操作系统的审计跟 踪 NONE 禁用审计这个值是默认值 可以用AUDIT FILE DEST 初始化参数来指定审计文件存储的目 录 如果编辑了初始化参数文件 需要重新启动数据库实例以便按 照计划启用或禁用数据库审计 这些参数不是动态的 第 22 页 Copyright 2015 Oracle Corporation All rights reserved 1 6 6 控制审计跟踪的增长和大小控制审计跟踪的增长和大小 如果审计跟踪已经完全装满 而且不能继续插入更多的审计跟踪 那么将不能成功执行经过审计的语句 直到清除审计跟踪 所有发 布了经过审计的语句的用户都会收到警告信息 因此 安全管理员 必须控制审计跟踪的增长和大小 当启用审计并且正在生成审计记录时 审计跟踪将依据以下两个因 素增长 打开的审计选项的数目 经过审计的语句的执行频率 要控制审计跟踪的增长可以采用以下方法 启用和禁用数据库审计 如果启用了数据库审计 那么将生成 审计记录并将其存储在审计跟踪中 如果禁用了数据库审计 那么将不能生成审计记录 要精挑细选需要打开的审计选项 如果执行了很多经过选择的 审计 那么将不会生成无用或不必要的审计信息 并将它们存 储在审计跟踪中 要严格控制执行对象审计的能力 1 6 6 1 从审计跟踪中清除审计记录 例如 要从审计跟踪中删除所有审计记录 可以键入下列语句 DELETE FROM SYS AUD 还可以从作为审计表emp 的结果产生的审计跟踪中删除所有审计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论