详解Oracle审计(一)

题记:

有段时间没写过oracle了,今天回归。
本文将详细介绍oracle的审计功能,基于11g版本,但对12c,19c也同样适用。
审计(Audit)用于监视用户所执行的数据库操作,并且 Oracle 会将审计跟踪结果存放到 OS 文件(默认位置为 O R A C L E B A S E / a d m i n / ORACLE_BASE/admin/ ORACLEBASE/admin/ORACLE_SID/adump/),或数据库(存储在 system 表空间中SYS.AUD$ 表中,可通过视图 dba_audit_trail 查看)中。审计可以提供有用的信息,用于揭示权限的滥用和误用。当需要一定的粒度时,DBA 可以使用细粒度的审计来监控对表中某些行或列的访问,而不仅仅是是 否访问表。
在 oracle 11g 中,用 DBCA 工具建库后,审计功能(AUDIT_TRAIL)是默认开启的。审计数据默认存放 SYSTEM 表空间下的 AUD$ 审计字典基表上。开启审计数据库会增加消耗,降低业务性能,因此,如果不是很有必要,在安装好数据库后,可适当选择关闭数据库审计功能。Oracle 还推荐使用基于 OS文件的审计日志记录方式(OS audit trail files),当 AUDIT_TRAIL 设置为 OS 时,审计记录文件将在AUDIT_FILE_DEST 参数所指定的目录中生成。

1. 审计的目的

  1. 确保数据库的安全性:通过记录用户对数据库的访问和操作,可以及时发现潜在的安全漏洞和未经授权的访问。
  2. 满足合规性要求:许多行业和法规要求对数据库活动进行审计,以确保数据的保密性、完整性和可用性。
  3. 故障排查和性能优化:审计日志可以帮助管理员分析数据库性能问题和故障,确定问题的根源。

2. 审计的类型

在这里插入图片描述

3. 审计的位置

审计记录可以发送到 SYS.AUD$数据库表或操作系统文件。为了启用审计并指定记录审计记录的位置,将初始参数AUDIT_TRAIL 设置为如下表几个值之一:
在这里插入图片描述

参数 AUDIT_TRAIL 是静态参数,须重启实例生效。在使用 SYS.AUD$ 表进行审计时,应该注意监控该表的大小,以避免影响 SYS 表空间中其他对象的空间需求。推荐定期备份 SYS.AUD$ 中的数据,并且截断该表(truncate table aud ; )在 O r a c l e 11 g 中 C R E A T E S E S S I O N 作为受审计的权限来被记录,因此当 S Y S T E M 表空间因磁盘空间而无法扩展时将导致部分审计记录无法生成,这将最终导致普通用户的新会话将无法正常创建,普通用户将无法登陆数据库。在这种场景中仍可以使用 S Y S D B A 身份的用户创建会话,将审计数据备份后删除一部分记录,或者 T R U N C A T E A U D ;) 在 Oracle 11g 中 CREATE SESSION 作为受审计的权限来被记录,因此当 SYSTEM 表空间因磁盘空间而无法扩展时将导致部分审计记录无法生成,这将最终导致普通用户的新会话将无法正常创建,普通用户将无法登陆数据库。在这种场景中仍可以使用 SYSDBA 身份的用户创建会话,将审计数据备份后删除一部分记录,或者 TRUNCATE AUD ;)在Oracle11gCREATESESSION作为受审计的权限来被记录,因此当SYSTEM表空间因磁盘空间而无法扩展时将导致部分审计记录无法生成,这将最终导致普通用户的新会话将无法正常创建,普通用户将无法登陆数据库。在这种场景中仍可以使用SYSDBA身份的用户创建会话,将审计数据备份后删除一部分记录,或者TRUNCATEAUD 都可以解决上述问题。在默认情况下会以 AUTOEXTEND ON 自动扩展选项创建 SYSTEM 表空间,因此系统表空间在必要时会自动增长,我们所需注意的是磁盘上的剩余空间是否能够满足其增长需求,以及数据文件扩展的上限,对于普通的 8k Smallfile 表空间而言,单个数据文件的最大尺寸是 32G。

4. 开启审计功能

alter system set audit_trail=db_extended scope=spfile; 
-- 重启数据库生效:
 startup force

5. 语句审计

在 Oracle 11g 中,语句审计是一种重要的审计类型,主要用于记录特定的 SQL 语句执行情况。

  1. 语句审计的作用
    安全监控:可以检测到潜在的恶意操作或未经授权的 SQL 语句执行。例如,发现对敏感数据的不当查询或修改操作。
    合规性检查:满足法规和企业内部政策对数据库操作的审计要求。许多行业要求对特定的 SQL 语句进行审计,以确保数据的安全性和完整性。
    性能分析:通过分析频繁执行的 SQL 语句,可以发现性能瓶颈并进行优化。例如,如果发现某个查询语句被频繁执行且执行时间较长,可以考虑对该查询进行优化,如添加索引或调整查询逻辑。
  2. 语句审计的设置
    使用 AUDIT 语句进行设置:
    例如,AUDIT SELECT ON schema.table BY ACCESS; 这条语句将审计对指定模式下的表的 SELECT 语句执行情况。每次用户执行对该表的 SELECT 操作时,都会在审计日志中记录一条相应的审计记录。
    可以审计多种类型的 SQL 语句,包括 SELECT、INSERT、UPDATE、DELETE、CREATE、ALTER、DROP 等。
    通过初始化参数设置审计策略:
    AUDIT_TRAIL参数可以确定审计日志的存储位置,如存储在数据库中(DB)、操作系统文件中(OS)或 XML 文件中。
    AUDIT_SYS_OPERATIONS参数决定是否审计以 SYSDBA 或 SYSOPER 身份执行的操作。
  3. 审计日志的查看与分析
    查看审计日志:可以通过查询数据库视图来查看语句审计的记录。例如,DBA_AUDIT_TRAIL视图包含了所有的审计记录,可以根据需要筛选出特定类型的语句审计记录。
    可以查询特定用户、特定时间段或特定对象的审计记录,以便进行详细的分析。
    分析审计日志:
    可以使用 SQL 查询或第三方工具对审计日志进行分析,以提取有用的信息。例如,统计不同类型 SQL 语句的执行次数、找出频繁执行的语句或检测异常操作。
    通过分析审计日志,可以发现潜在的安全问题、性能瓶颈或合规性问题,并采取相应的措施进行解决。

限于篇幅,本文待续
码字不易,宝贵经验分享不易,请各位支持原创,转载注明出处,多多关注作者,家人们的点赞和关注是我笔耕不辍的动力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/899474.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

hadoop的yarn

1.分布式的资源调度-yarn(hadoop的一个组件) 资源服务器硬件资源,如:CPU,内存,硬盘,网络等 资源调度:管控服务器硬件资源,提供更好的利用率 分布式资源调度:管控整个分布式服务器集群的全部资源,整合进行统一调度 总结就是使用yar…

chatGpt4.0Plus,Claude3最新保姆级教程开通升级

如何使用 WildCard 服务注册 Claude3 随着 Claude3 的震撼发布,最强 AI 模型的桂冠已不再由 GPT-4 独揽。Claude3 推出了三个备受瞩目的模型:Claude 3 Haiku、Claude 3 Sonnet 以及 Claude 3 Opus,每个模型都展现了卓越的性能与特色。其中&a…

Blazor WebAssembly 项目部署时遇到 500.19错误

这个错误其实很普遍,在部署 asp.net core 的时候都能解决 无非是安装 这些, 尤其是下面那个 Hosting Bundle 但是遇到 Blazor WebAssembly 项目部署时还得多装一个 “重写模块” 下载地址,安装后重启网址 https://www.iis.net/downloads/microsoft/u…

【从零开始的LeetCode-算法】3185. 构成整天的下标对数目 II

给你一个整数数组 hours&#xff0c;表示以 小时 为单位的时间&#xff0c;返回一个整数&#xff0c;表示满足 i < j 且 hours[i] hours[j] 构成 整天 的下标对 i, j 的数目。 整天 定义为时间持续时间是 24 小时的 整数倍 。 例如&#xff0c;1 天是 24 小时&#xff0c…

使用Vue指令实现面板拉伸功能

目的&#xff1a;现在有一个PDF预览页面&#xff0c;左侧为PDF预览区域&#xff0c;右侧为可以进行AI功能的面板。现在想让AI面板通过拖动左边框实现面板拉伸。 实现效果如下面的视频&#xff1a; 关键点&#xff1a; 预览区是使用iframe渲染的&#xff0c;在拖动的过程中&…

软件测试学习笔记丨Selenium键盘鼠标事件ActionChains

本文转自测试人社区&#xff0c;原文链接&#xff1a;https://ceshiren.com/t/topic/22515 本文为霍格沃兹测试开发学社的学习经历分享&#xff0c;写出来分享给大家&#xff0c;希望有志同道合的小伙伴可以一起交流技术&#xff0c;一起进步~ 说明&#xff1a;本篇博客基于sel…

Detecting Holes in Point Set Surfaces 论文阅读

下载链接 Detecting Holes in Point Set Surfaces 摘要 3D 数据采集过程&#xff08;例如激光范围扫描&#xff09;产生的重要物体模型通常包含由于遮挡、反射或透明度而产生的孔洞。本文的目标就是在点集表面上检测存在的孔洞。对于每个点&#xff0c;将多个标准组合成一个综…

C# shader 生成程序纹理

1、程序纹理是什么 程序纹理&#xff08;Procedural Textures&#xff09;就是通过程序代码生成的纹理 2、程序纹理如何生成 一般生成程序纹理由两种方式&#xff1a; 通过C#脚本生成纹理后传递给Shader直接在Shader代码中自定义逻辑生成纹理 3、程序纹理的好处 程序纹理…

2.1 > Shell 是什么、如何更熟练的使用 Bash Shell

Shell 基础知识 Shell是计算机操作系统中的一个命令行解释器&#xff0c;由C语言编写&#xff0c;用于用户与操作系统之间进行交互。用户可以通过Shell输入命令&#xff0c;操作系统接收到这些命令后执行相应的操作。Shell一般还提供了编程语言的基本功能&#xff0c;允许用户…

梯度累积的隐藏陷阱:Transformer库中梯度累积机制的缺陷与修正

在本地环境下对大规模语言模型&#xff08;LLMs&#xff09;进行微调时&#xff0c;由于GPU显存限制&#xff0c;采用大批量训练通常难以实现。为解决此问题&#xff0c;一般普遍会采用梯度累积技术来模拟较大的批量规模。该方法不同于传统的每批次更新模型权重的方式&#xff…

MacOS RocketMQ安装

MacOS RocketMQ安装 文章目录 MacOS RocketMQ安装一、下载二、安装修改JVM参数启动关闭测试关闭测试测试收发消息运行自带的生产者测试类运行自带的消费者测试类参考博客&#xff1a;https://blog.csdn.net/zhiyikeji/article/details/140911649 一、下载 打开官网&#xff0c;…

A-【项目开发知识管理】Android AIDL跨进程通信

Android AIDL跨进程通信 文章目录 Android AIDL跨进程通信0.我为啥要写这篇文章1.AIDL是干啥的&#xff1f;1.1简述1.2官方话 2.在AndroidStudio中怎么干&#xff1f;2.1准备工作2.2在项目A中创建AIDL文件夹2.3在项目A中创建一个aidl文件2.4将项目A进行一次Rebuild操作2.5在项目…

visual studio设置修改文件字符集方法

该方法来自网文&#xff0c;特此记录备忘。 添加两个组件&#xff0c;分别是Force UTF-8,FileEncoding。 截图如下&#xff1a; 方法如下&#xff1a;vs中点击“扩展”->“管理扩展”&#xff0c;输入utf搜索&#xff0c;安装如下两个插件&#xff0c;然后重启vs&#xf…

【设计模式系列】观察者模式

一、什么是观察者模式 观察者模式&#xff08;Observer Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了对象之间的一对多依赖关系&#xff0c;当一个对象的状态发生变化时&#xff0c;所有依赖于它的对象都会得到通知并自动更新。这种模式也被称为发布-订阅模式&…

matplotlib库

1.概念 Matplotlib 库&#xff1a;是一款用于数据可视化的 Python 软件包&#xff0c;支持跨平台运行&#xff0c;它能够根据 NumPy ndarray 数组来绘制 2D 图像&#xff0c;它使用简单、代码清晰易懂 Figure&#xff1a;指整个图形&#xff0c;您可以把它理解成一张画布&…

【含开题报告+文档+PPT+源码】基于vue框架的东升餐饮点餐管理平台的设计与实现

开题报告 在当前信息化社会背景下&#xff0c;餐饮行业正经历着由传统线下服务模式向线上线下深度融合的转变。随着移动互联网技术及大数据应用的飞速发展&#xff0c;用户对于餐饮服务平台的需求也日益多元化和个性化。他们期望能在一个集便捷、高效、个性化于一体的平台上完…

快速搭建SpringBoot3+Prometheus+Grafana

快速搭建SpringBoot3PrometheusGrafana 一、搭建SpringBoot项目 1.1 创建SpringBoot项目 1.2 修改pom文件配置 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://…

如何使用 Spring Cloud 实现客户端负载平衡

微服务系统通常运行每个服务的多个实例。这是实施弹性所必需的。因此&#xff0c;在这些实例之间分配负载非常重要。执行此操作的组件是负载均衡器。Spring 提供了一个 Spring Cloud Load Balancer 库。在本文中&#xff0c;您将学习如何使用它在 Spring Boot 项目中实现客户端…

SolarWinds Web Help Desk曝出严重漏洞,已遭攻击者利用

近日&#xff0c;CISA 在其 “已知漏洞”&#xff08;KEV&#xff09;目录中增加了三个漏洞&#xff0c;其中一个是 SolarWinds Web Help Desk (WHD) 中的关键硬编码凭据漏洞&#xff0c;供应商已于 2024 年 8 月底修复了该漏洞。 SolarWinds Web Help Desk 是一款 IT 服务台套…

影刀RPA实战番外:excel函数应用指南

Excel函数是用于执行特定计算、分析和数据处理任务的预定义公式。它们可处理数学计算、文本处理、逻辑判断、日期和时间运算、查找和引用数据等。例如&#xff0c;SUM函数可以计算一系列数字的总和&#xff0c;IF函数进行逻辑测试&#xff0c;VLOOKUP函数在表格中查找数据&…