oracle审计用户

合集下载

查询oracle数据库审计信息的方法

查询oracle数据库审计信息的方法

查询oracle数据库审计信息的方法查询Oracle数据库审计信息的方法1. 概述Oracle数据库的审计功能是一种重要的安全功能,可以帮助管理员监控数据库中的活动,并跟踪和记录对数据库的访问和操作。

审计信息可以用于检测并响应数据库中的潜在安全威胁,同时也可以用于满足合规性要求。

本文将介绍查询Oracle数据库审计信息的方法,帮助管理员获取有关数据库活动的详细报告和分析。

2. 启用审计功能在开始查询审计信息之前,首先需要确保已经启用了Oracle数据库的审计功能。

审计功能通过以下步骤来启用:1) 以sysdba或sysoper权限连接到数据库。

2) 运行以下命令来启用审计功能:ALTER SYSTEM SET audit_trail = db SCOPE=spfile;3) 重启数据库实例使更改生效:SHUTDOWN IMMEDIATE;STARTUP;启用审计功能后,数据库将开始记录指定的审计信息。

3. 查询审计信息要查询Oracle数据库中的审计信息,可以使用以下方法之一:1) 使用Oracle自带的审计视图Oracle提供了一系列的审计视图,用于访问和查询审计信息。

一些常用的审计视图包括:DBA_AUDIT_TRAIL,DBA_COMMON_AUDIT_TRAIL,DBA_FGA_AUDIT_TRAIL等。

管理员可以根据自己的需要选择适当的视图,并使用标准的SQL查询语句来检索审计信息。

可以查询DBA_AUDIT_TRAIL视图来获取数据库级别的审计信息: SELECT * FROM DBA_AUDIT_TRAIL;或者可以查询DBA_COMMON_AUDIT_TRAIL视图来获取通用的审计信息:SELECT * FROM DBA_COMMON_AUDIT_TRAIL;2) 使用审计报告工具除了使用审计视图,还可以使用一些第三方的审计报告工具来查询和分析审计信息。

这些工具通常提供更直观和丰富的报告和分析功能,可以帮助管理员更方便地浏览和理解审计信息。

oracle 审计日志 设置规则

oracle 审计日志 设置规则

oracle 审计日志设置规则Oracle 审计日志设置规则在使用Oracle数据库的过程中,审计日志是十分重要的安全措施之一。

它可以记录所有数据库中的操作,包括用户登录、数据更改、数据访问等。

通过设置审计日志规则,您可以更好地监控和保护数据库的安全性。

以下是一些设置Oracle审计日志规则的重要步骤:1. 定义审计目标:首先,您需要明确设置审计日志的目标。

考虑您需要监控的数据库操作类型,比如是否需要审计所有用户的登录、所有的数据更新操作等。

2. 创建审计策略:在Oracle数据库中,您可以使用`DBMS_AUDIT_MGMT` 包来创建审计策略。

通过指定数据库对象和操作类型,您可以定义审计规则。

例如,您可以设置审计规则仅审计某个特定用户的操作,并排除其他用户。

3. 启用审计选项:在设置好审计规则后,您需要启用审计选项以开始记录审计日志。

可以通过以下步骤启用审计选项:- 使用`DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_PROPERTY`过程,将审计日志输出到特定的目标文件或操作系统日志中。

- 使用`DBMS_AUDIT_MGMT.ENABLE_AUDIT_OPTION`过程,启用需要审计的操作项。

4. 监控审计日志:一旦启用审计选项,数据库将开始记录相应的操作到审计日志文件中。

您可以使用SQL查询或Oracle Enterprise Manager等工具来监控审计日志。

定期检查审计日志以确认是否出现不寻常的活动或潜在的安全威胁。

5. 设置审计日志管理策略:审计日志的文件管理很重要,您可以使用`DBMS_AUDIT_MGMT`包中的过程设置审计日志的管理策略。

可以定义审计日志的保留时间、日志文件的大小限制等。

定期清理旧的审计日志,以确保系统性能和安全。

通过设置Oracle审计日志规则,您可以更好地了解数据库中发生的操作,并及时发现潜在的安全问题。

请确保审计日志的记录和审计管理策略的设置符合您的安全需求,并进行定期的审计日志分析。

Oracle11g审计--权限审计+对象审计

Oracle11g审计--权限审计+对象审计

例子:Oracle10g审计默认关闭,Oracle11g默认情况是开启的,查看参数,audit_trail=DB,此时只开启系统级别审计权限,包括:登陆、退出、增删改用户等。

查看对象拥有的审计内容,发现没有针对单独用户设置权限设置用户test系统级别审计TEST用户执行SQL:CREATE TABLE ZM123456(ID INT);COMMIT;select * from dba_audit_trail order by EXTENDED_TIMESTAMP desc;Java代码1.2> 权限审计:对某一个系统权限的使用状况进行审计。

这里强调系统权限()。

2. a. 使用audit语句定义权限审计语法如下:3.audit privilege_name [by user_name]| [by session|access] [whenever [not] successful]4.privilege_name: 表示系统权限名称er_name: 表示用户名6.例如:audit create table 可以表示对涉及creat table 权限的操作进行审计。

7.8. b. 使用noaudit语句取消权限审计9.如:noaudit alter table by scott;10.11.查看对哪些用户进行了权限Audit12.select user_name, privilege,success,failure from dba_priv_audit_opts order by user_name;Java代码1.3> 对象Audit:监视所有用户对某一个对象(表,视图...)的访问情况。

对一个特殊模式对象上的DML(Data Manipulation Language)语句进行审计。

记录作用在指定对象上的操作。

2.例如:audit select on scott.dept语句,表示对指定scott用户的dept表,Audit对其进行的select语句。

oracle审计

oracle审计

审计可以分为3类。

或者说,可以从三种角度去启用审计。

1、语句审计(Statement Audting).对预先指定的某些SQL语句进行审计。

这里从SQL 语句的角度出发,进行指定。

审计只关心执行的语句。

例如,audit CREATE TABLE;命令,就表明对“CREATE TABLE”语句的执行进行记录。

不管这语句是否是针对某个对象的操作2、权限审计(Privilege Auditing)对涉及某些权限的操作进行审计。

这里强调“涉及权限”例如,audit CREATE TABLE;命令,又可以表明对涉及“CREA TE TABLE”权限的操作进行审计。

所以说,在这种命令的情况下,既产生一个语句审计,又产生了一个权限审计。

有时候“语句审计”和“权限审计”的相互重复的。

这一点可以后面证明。

3、对象审计(Object Auditing)。

记录作用在指定对象上的操作。

三、如何启用审计。

通过数据库初始化参数文件中的AUDIT_TRAIL 初始化参数启用和禁用数据库审计。

DB 启用数据库审计并引导所有审计记录到数据库的审计跟踪OS 启用数据库审计并引导所有审计记录到操作系统的审计跟踪。

可以用AUDIT_FILE_DEST 初始化参数来指定审计文件存储的目录。

NONE 禁用审计这个值是默认值四、如何设定所需的审计AUDIT语句。

例如:审计属于用户jward 的dept 表上的所有的SELECT INSERT 和DELETE 语句AUDIT SELECT, INSERT, DELETEON jward.dept;五、控制何时触发审计动作。

1)By session / By Accessby session对每个session中发生的重复操作只记录一次by access对每个session中发生的每次操作都记录,而不管是否重复。

2)Whenever successful/ Whenever not successfulWhenever successful表示操作成功以后才记录下来。

Oracle 11g数据库审计功能解析

Oracle 11g数据库审计功能解析

Oracle 11g数据库审计功能解析本文我们主要介绍一个Oracle 11g数据库中审计功能的应用实例,希望能够对您有所帮助。

在用户的profile 属性里面有一个属性:FAILED_LOGIN_ATTEMPTS,该参数默认值是10. 即当我们用户连续10次输入错误密码,这个用户就会被锁住。

用户连词失败次数是在表USER$ 中的lcount字段记录的。

该值默认为0. 当失败一次,该值加1. 成功登录,该值清零。

一般在生产环境下,会根据具体情况设置这个参数,如果防止用户被锁,则将这个参数设置为UNLIMITED. 这个是注意的地方。

当然设置成无限也有它的弊端,比如不能防止暴力破解数据库密码。

有关profile 的更多内容参考:Oracle 用户profile 属性在Oracle 11g中默认启用了对登录注销操作LOGON/LOGOFF的审计,那么如果我们发现用户被锁,那么可以应用11g的审计功能来查看从哪台机器上发来的链接失败导致用户被锁,可以帮助我们定位问题。

脚本如下:1.SQL> selectos_username,userhost,terminal,username,count(*)2. 2 from dba_audit_trail3.3 where returncode = 10174.4 group byos_username,userhost,username,terminal;5. OS_USERNAME USERHOST TERMINAL USERNAME COUNT(*)6.------------------------------------------------------------ ------------------------ ----------7. DavidDai\Administrator WORKGROUP\DAVIDDAI DAVIDDAI ICD 78.DavidDai\Administrator WORKGROUP\DAVIDDAI DAVIDDAI SYSTEM 99. DavidDai\Administrator WORKGROUP\DAVIDDAI DAVIDDAI SYS 310.DavidDai\Administrator WORKGROUP\DAVIDDAI DAVIDDAI EXIT 1注意:对于LOGON PER SECOND很高的数据库,如果应用程序配置文件中的数据库用户密码不正确,同时应用在短期内发起大量会话登录数据库的话可能引发频繁的dc_users字典缓存锁,用户登录无法成功,乃至整个实例hang住。

Oracle数据库审计

Oracle数据库审计

Oracle 数据库专题---------数据库安全性------数据库审计XMOUG MEMBER编写人: Empoli Liu 2010年9月背景:数据库审计,顾名思义,就是捕捉和存储发生在数据库内部的事件信息。

本文档重点关注,1:标准的数据库审计(Standard database auditing)通过初始化参数AUDIT_TRAIL控制实例级别的审计。

2:基于值的审计 (Value-based auditing)它拓展了标准数据库审计,不仅捕捉审计事件,还捕捉那些被insert,update和delete的值。

基于值的审计通过触发器来实现。

3: 细粒度审计 (Fine-grained auditing)它拓展了标准数据库审计,捕捉准确的SQL语句。

接下来具体分析,每种审计都有相对应的介绍与实验。

操作系统版本:Redhat Enterprise Linux 5.1数据库版本: Oracle 10g数据库审计介绍与实验一(标准的数据库审计)Audit_trail 相当于是一个开关,默认不打开。

那么,如何打开呢?由于audit_trail参数值有多种,这里只列举两种。

如下是第一种,audit_trail=db标准数据库审计的数据放于基表aud$上,而aud$位于system表空间上,众所周知,system 表空间是存放数据字典表的地方,为避免因审计而较大的影响数据库的性能,应将此表移到其它表空间上。

生产环境建议建一个单独的表空间存放审计表,本文将审计表移动到users 表空间上,如下图底层表是AUD$,那么如何知道上层该查询哪些表呢?Select * from dict d where d.table_name like ‘%AUD%’;参数audit_trail=db后,就可以开始审计了,如下图凡是有谁查询hr用户的employees表,就将它记录进aud$ 表。

而此时,我再以hr用户登录,然后再次查询,发现底层aud$表又记了一条记录,而后,我又想,如果是同一个session查多次会怎么样?同一个hr我让它查两次发现,同一个session查多次只会记录一次。

Oracle11g数据库审计

Oracle11g数据库审计

Oracle11g数据库审计问题描述:使⽤Oracle 11g的数据库审计问题解决:(1)激活数据库审计(1.1)查看数据库审计是否已经开启如上图所⽰:⾸先使⽤⽤户登陆sqplus,(普通⽤户,或者dba都可以),然后使⽤conn /as sysdba注意:(a)以上使⽤sqlplus可以成功进⾏数据库审计的命令操作,但是在使⽤PL/SQL Developer command line进⾏数据库审计操作时,有些命令⽆法识别例如shutdown immediate (重启数据库)(b)以上使⽤conn / as sysdba 进⾏数据库登陆,使⽤其他⽤户登陆进⾏数据库审计操作时不起作⽤的(1.2)查看数据库审计是否已经开启如上所⽰,使⽤ show parameter audit ;可以查看数据库审计的信息其中audit_sys_operations 的value为false,意味着数据库审计未开启其中audit_trail 的value为DB参数详解:AUDIT_TRAIL启⽤或禁⽤数据库审计。

当设置该参数为NONE或FALSE时,将禁⽌数据库审计;当设置该参数为OS时,将激活数据库审计,并将审计记录写⼊到OS审计跟踪⽂件中;当设置该参数为DB或TRUE时,将激活数据库审计,并将审计记录写⼊到数据字典SYS.AUD$中;当设置该参数为DB_EXTENDED时,不仅将审计记录写⼊到数据字典SYS.AUD$中,还会填充该数据字典的SQLBIND和SQLTEXT列。

(1.3)激活数据库审计如上所⽰修改系统信息,激活数据库审计参数详解:spfile是存储初始化参数的⽂件,还有⼀种是pfile也是存储初始化参数的⽂件,spfile是服务器端维护的,pfile是客户端维护的spfile只能通过系统更改,pfile可以⼿动修改。

(1.4)重启数据库-----应⽤对系统的修改重新查看审计的信息如上显⽰了audit_sys_operations 的值为true,同时audit_trail 的值为db_extended说明数据库审计已经激活注意:以上重新启动数据库使⽤了startup force 命令,同时也可以分别使⽤:shutdown immediate ; 关闭数据库startup;启⽤数据库(2)使⽤审计信息注意:(a) 审计⼀般只⽤于对普通⽤户操作,⼀般不审计SYS⽤户(b) 对于windows系统,对sys⽤户的审计信息并不存在AUDIT_FILE_DEST参数指定的⽬录⾥,⽽是在windows的事件管理器中。

数据库访问审计记录和审计用户对数据库的访问行为

数据库访问审计记录和审计用户对数据库的访问行为

数据库访问审计记录和审计用户对数据库的访问行为数据库访问审计记录是一种用于监控和记录用户对数据库的访问行为的技术。

它对于确保数据库的安全性和完整性,以及满足合规性要求非常重要。

通过审计记录,数据库管理员可以追踪所有的数据库访问,包括查询、更新、删除等操作,并对这些操作进行详细的分析和报告。

审计用户对数据库的访问行为是一种有效的方式,可以帮助组织监控数据库的使用,减少风险,并提高数据管理的质量。

在数据库中记录用户访问行为时,需要考虑以下几个方面:1. 记录登录信息:记录用户的登录信息是审计的第一步。

这包括用户名、登录时间、登录IP地址等。

这些信息可以用于追踪用户的登录行为,以及检测潜在的安全威胁。

2. 记录操作信息:对于每个用户的操作,需要记录详细的信息,包括操作类型、操作的对象、操作的时间等。

这些信息可以帮助数据库管理员了解用户的行为模式,发现异常操作,并及时采取相应的措施。

3. 记录敏感数据的访问:对于包含敏感数据的数据库,需要特别关注对这些数据的访问。

可以记录对敏感数据的查询、更新以及删除操作,以便及时发现并处理任何未经授权的访问行为。

4. 定期审计:定期审计数据库的访问记录是非常重要的。

通过定期审计,可以对数据库的使用进行全面的检查,并发现潜在的问题和安全风险。

同时,定期审计还可以帮助发现数据库管理的不规范行为,及时进行改进。

除了记录用户的访问行为,还应该对审计记录进行分析和报告。

这可以通过使用专门的审计工具来实现。

审计工具可以帮助数据库管理员将审计记录进行过滤、排序和统计,并生成易于理解和分析的报告。

审计用户对数据库的访问行为不仅可以帮助组织监控数据库的使用情况,还可以帮助发现和防止潜在的安全威胁。

通过审计记录,数据库管理员可以了解用户的行为模式,并及时采取相应的措施来减少风险。

此外,审计还可以帮助组织满足合规性要求,如PCI-DSS、HIPAA等。

总而言之,数据库访问审计记录和审计用户对数据库的访问行为是确保数据库安全和合规性的重要手段。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

oracle审计用户
oracle审计主要用于记录用户对数据库所做的操作,基于配置的不同,审计的结果会放在操作系统文件中或者系统表中,默认情况下,使用管理员权限连接实例,开启及关闭数据库是会强制进行审计的,其它的基础的操作则没有进行审计,在一些安全性要求比较高的环境是需要做一些审计的配置的,下文简单介绍一下oracle中审计的配置方法,几种审计方法的不同,以及如何对管理员进行审计.
一。

oracle中审计的配置:
1.审计相关的三个重要参数:
a.audit_file_dest:指定审计文件存放的位置:
b.audit_trail:指定审计的类型:
none:为系统默认值,不进行审计
DB:将审计结果放在数据库表中,aud$,通常只记录连接的信息.
DB_EXTENDED:将审计结果放在数据库表中,记录具体执行语句OS:将审计结果记录在操作系统文件中,文件位置由audit_file_dest参数指定,(windows系统中将直接在事件查看器的系统日志中记录)
XML:将审计结果记录在audit_file_dest指定位置下的XML文件中。

c.audit_sys_operations:是否对sysdba用户做审计,关于sysdba 用户审计的结果,linux存放在audit_file_dest参数指定位置的aud文件中,windows存放在事件查看器的系统日志中
2.审计的级别:
开启审计后,可在statement语句、privilege权限和object对象级别对数据库进行审计。

a.statement:按语句来审计如audit table xxx;
b.privilege:按权限来审计,如audit lect any table
c.object:按对象来审计,如audit all ployees by HR,只会对hr 用户对employees表执行的操作做审计
3.审计的其它相关选项:
by access 每个被审计的操作都会生成一条记录
by ssion 默认值,每个会话里同类型操作只会生成一条audit trail
whenever successful:操作成功才审计
whenever not successful:操作不成功才审计
4.查询审计结果的视图沈阳成人英语培训
浙江大学2023年录取分数线dba_audit_trail:查看所有的普通审计记录
kptdba_fga_audit_trail:查看所有细粒度审计记录
sys.aud$审计结果实际存放的系统表
5.取消审计: noaudit lect any table
6.开启审计方法
a.查看参数
SQL show parameter audit
NAME TYPE VALUE
-
----------------------------------------------------------------------------
audit_file_dest string /u01/oracle/product/admin/orcl
/adump
audit_sys_operations boolean FALSE
audit_syslog_level string
audit_trail string NONE
b.设置审计类型并重启数据库
SQL alter system t audit_trail = db_extended scope=spfile;
existenceSystem altered.
c.审计用户对表操作
SQL audit table ;
音标mp3Audit succeeded.
d.切换用户后创建表
SQL
connecttest/********.1.12/orcl
Connected.
SQL create table audtest (id int);
Table created.
e.管理员登录查看审计结果
SQLconnectsys/**********.1.12/orclassysdba
Connected.
SQL lect urname,sql_text from dba_audit_trail;
USERNAME
------------------------------
SQL_TEXT
--------------------------------------------------------------------------------TESTmy hobbies
create table audtest (id int)
f.审计系统管理员操作
SQL alter system t audit_sys_operations= true scope=spfile; vrf System altered.
SQLconnectsys/**********.1.12/orclassysdba
Connected.
SQL create table systest (id int);
Table created.
SQLconnectsys/**********.1.12/orclassysdba Connected.
SQL create table systest (id int);
Table created.
SQL create table systest1 (id int);
Table created.
g.查看系统管理员审计结果
Audit file /u01/oracle/product/admin/orcl/adump/ora_5895.aud Oracle Databa 10g Enterpri Edition Relea 10.2.0.1.0 - Production 北京西班牙语培训
With the Partitioning, OLAP and Data Mining options ORACLE_HOME = /u01/oracle/product/10.2/db1
System name: Linux
Node name: oracle1
Relea: 2.6.9-55.ELsmp
Version: #1 SMP Fri Apr 20 17:03:35 EDT 2023 Machine: i686
Instance name: orcl
Redo thread mounted by this instance: 1
Oracle process number: 20
Unix process pid: 5895, image: oracleorcl@oracle1
Mon Mar 28 23:03:28 2023
ACTION : 'CONNECT'
DATABASE USER: 'sys'
PRIVILEGE : SYSDBA
CLIENT USER: Administrator
CLIENT TERMINAL: PC-20230718IUGM
STATUS: 0
Mon Mar 28 23:03:42 2023
ACTION : 'create table systest (id int)'
DATABASE USER: 'sys'
PRIVILEGE : SYSDBA
CLIENT USER: Administrator
CLIENT TERMINAL: PC-20230718IUGM
STATUS: 0
Mon Mar 28 23:08:09 2023
ACTION : 'create table systest1 (id int)'swift code是什么方式状语DATABASE USER: 'sys'
PRIVILEGE : SYSDBA
CLIENT USER: Administrator
CLIENT TERMINAL: PC-20230718IUGM
STATUS: 0
"ora_5895.aud" 38L, 995C。

相关文档
最新文档