Oracle 11g数据库审计功能解析
查询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) 使用审计报告工具除了使用审计视图,还可以使用一些第三方的审计报告工具来查询和分析审计信息。
这些工具通常提供更直观和丰富的报告和分析功能,可以帮助管理员更方便地浏览和理解审计信息。
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语句。
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的事件管理器中。
Oracle 数据库11g新特性概述

Oracle 数据库 11g 新特性概述
Martin.yang@
Oracle数据库进化史
Oracle exadata
Oracle 数据库 11g
数据库一体机
数据屏蔽
TDE 表空间加密 Oracle Audit Vault Oracle Database Vault 透明数据加密 (TDE)
• 表压缩技术
• 象在数据仓库应用中一样, 现在可以用在OLTP应用中
• 查询结果集缓存
• 查询或函数结果集的高速缓存, 可用于大量读操作的数据
• 新一代RAC Cache Fusion技术
• 更高的伸缩性
Oracle SecureFiles
Consolidated Secure Management of Data 许多应用同时使用文件和关系型数据 • 例: 文档管理系统, 医药, CAD, 图象管理
• • •
DataGuard创新
• DataGuard增强
• 支持只读物理备份 • APPLY性能提高
• 支持XML类型
• 支持透明数据加密
• 备份数据库快照
• 除作为HA和DR外, 充分利用备份数据库 资源 • 测试! • 保证无数据丢失
DataGuard从根本上改变了冗余架构的价值
Flashback创新
Oracle 数据库 10g
实时列屏蔽(VPD) 安全配置扫描
客户端身份传播 细粒度审计 Oracle 数据库 9i Oracle Label Security 代理身份验证 企业用户安全性 Oracle 8i 虚拟专用数据库 (VPD)
数据库加密 API 强身份验证 自带网络加密 Oracle 7 数据库审计 政府客户
数据库审计功能描述

数据库审计功能描述
数据库审计是指对数据库操作进行监控和记录的过程,用于检测和调查数据库中的安全事件、违规行为和数据泄露等问题。
以下是数据库审计的主要功能描述:
1. 日志记录:数据库审计系统会记录所有对数据库进行的操作,包括登录、查询、插入、更新和删除等。
这些日志记录包含操作的时间、用户、客户端 IP 地址、操作内容等信息,以便后续的分析和调查。
2. 事件监测:数据库审计系统可以实时监测数据库中的活动,并根据预定义的规则和策略进行报警。
例如,可以设置监测特定用户或 IP 地址的异常操作、敏感数据的访问或修改等事件,并及时发出警报。
3. 合规性检查:数据库审计可以帮助企业满足合规性要求,如法规要求、行业标准或内部政策。
它可以检测和报告违反合规性的行为,如未经授权的访问、数据篡改或泄露等。
4. 异常行为分析:通过分析数据库审计日志,可以发现异常的数据库操作行为。
例如,频繁的失败登录尝试、异常的查询语句或大量的数据删除等可能表示潜在的安全威胁或滥用行为。
5. 事件调查和追踪:数据库审计提供了追踪和调查安全事件的能力。
通过查看审计日志,可以了解事件发生的时间、涉及的用户和操作内容,有助于确定责任和采取相应的纠正措施。
6. 报告和可视化:数据库审计系统可以生成各种报告和统计图表,提供有关数据库活动的统计信息和趋势分析。
这些报告可以帮助管理员了解数据库的使用情况、发现潜在的问题以及评估安全状况。
总之,数据库审计是数据库安全管理的重要组成部分,它提供了对数据库操作的监控、记录和分析功能,有助于保护数据库的完整性、保密性和可用性。
Oracle 11g跟踪数据库变化的数据(audit审计)

Oracle 11g跟踪数据库变化的数据(1)激活审计SQL> conn /as sysdba已连接。
SQL> show parameter audit_sys_operations;NAME TYPE V ALUE------------------------------------ ----------- ------------------------audit_sys_operations boolean FALSESQL> show parameter audit_trail;NAME TYPE V ALUE------------------------------------ ----------- ------------------------------audit_trail string NONESQL> alter system set audit_sys_operations=true scope=spfile;系统已更改。
SQL> alter system set audit_trail=db scope=spfile;系统已更改。
SQL> startup force;ORACLE 例程已经启动。
Total System Global Area 1071333376 bytesFixed Size 1375792 bytesVariable Size 536871376 bytesDatabase Buffers 528482304 bytesRedo Buffers 4603904 bytes数据库装载完毕。
数据库已经打开。
SQL> show parameter audit_sys_operations;NAME TYPE V ALUE------------------------------------ ----------- ------------------------------audit_sys_operations boolean TRUESQL> show parameter audit_trail;NAME TYPE V ALUE------------------------------------ ----------- ------------------------------audit_trail string DB(2)1.定义数据库需要审计的表SQL>executedbms_fga.add_policy(object_schema=>'scott',object_name=>'emp',policy_name=>'chk_emp',sta tement_types=>'insert,update,delete');PL/SQL 过程已成功完成。
Oracle DB审计

Oracle DB审计分类:Oracle 11g ws1 2013-10-04 22:21 388人阅读评论(0) 收藏举报• 说明DBA 负责的安全和审计工作• 启用标准数据库审计• 指定审计选项• 复查审计信息• 维护审计线索∙责任分离• 具有DBA 权限的用户必须是可信任的。
–滥用信任–用审计线索保护受信任位置• 必须共同分担DBA 责任。
• 绝对不要共享帐户。
• DBA 和系统管理员必须由不同的人员担任。
• 分离操作员与DBA 的责任。
以下是满足责任分离的主要要求。
DBA 必须是可信任的:很难限制某个DBA 去做什么。
为了完成工作,DBA 需要很高的权限。
DBA 是受信任的职位,因此必须接受全面检查。
即使是受信任的DBA 也必须承担责任。
考虑以下因素:• 滥用信任:DBA 可能会滥用DBA_USERS视图中的加密密码。
•用审计线索保护受信任位置:谨慎实施审计且遵守准则之后,审计线索会指出特定人员没有违反规程,也没有破坏性行为。
如果有恶意用户试图让人怀疑受信任的用户,设计良好的审计线索可捕获该行为。
Oracle Database Vault:在下面的情况下,可以使用Oracle Database Vault 选件:数据库必须强制执行责任分离,或者不允许DBA 查看某些或所有数据库方案中的数据。
∙数据库安全性安全的系统可确保所包含数据的机密性。
有以下几方面的安全性功能:• 限制对数据和服务的访问• 验证用户• 监视可疑活动数据库安全性Oracle Database 11g提供了业界最佳的安全系统框架。
但是,要让这个框架起作用,数据库管理员必须遵循最佳实践并持续监视数据库活动。
限制对数据和服务的访问不是所有用户都应对所有数据具有访问权。
根据数据库中存储的内容,可按业务需要、客户期望以及日益增加的法律限制条款来强制实施有限制的访问。
必须保护信用卡信息、医疗保健数据、身份识别信息等,使之免受未授权访问的侵害。
Oracle 审计功能

为Course表建立索引。Course表按课程号升序 建唯一索引。 CREATE UNIQUE INDEX Coucno ON Course(课程名 称);
COMMIT;
查看审计结果
conn sys/jsj@ as sysdba Col username for a10 Col timestamp for a10 Col obj_name for a8 Col owner for a6 Col action_name for a15 Select username, to_char(timestamp,'yyyy-mmdd hh24:mi:ss'),owner,action_name,obj_name from DBA_AUDIT_OBJECT;
2、权限审计(Privilege Auditing)
对涉及某些权限的操作进行审计。这里强调 “涉及权限”
例如,audit CREATE TABLE;命令,又可以表明 对涉及“CREATE TABLE”权限的操作进行审 计。 所以说,在这种命令的情况下,既产生一个语 句审计,又产生了一个权限审计。 有时候“语句审计”和“权限审计”的相互重 复的
设置审计
在缺省情况下,系统的审计功能是关闭 的。可以在INIT.ORA参数文件中将参数 AUDIT_TRAIL设置为正整数来激活。 AUDIT_TRAIL = DB
审计实施
1、语句审计
Sql>audit sql语句或选项 by 用户名 by session access whenever (not) successful;
查询审计结果
conn sys/jsj@ as sysdba Col username for a10 Col timestamp for a10 Select username, to_char(timestamp,'yyyy-mm-dd hh24:mi:ss'),owner,action_name,obj_n ame from DBA_AUDIT_OBJECT;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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_trail
3.3 where returncode = 1017
4.4 group byos_username,userhost,username,terminal;
5. OS_USERNAME USERHOST TERMINAL USERNAME COUNT(*)
6.------------------------------------------------------------ ------------
------------ ----------
7. DavidDai\Administrator WORKGROUP\DAVIDDAI DAVIDDAI ICD 7
8.DavidDai\Administrator WORKGROUP\DAVIDDAI DAVIDDAI SYSTEM 9
9. DavidDai\Administrator WORKGROUP\DAVIDDAI DAVIDDAI SYS 3
10.DavidDai\Administrator WORKGROUP\DAVIDDAI DAVIDDAI EXIT 1
注意:对于LOGON PER SECOND很高的数据库,如果应用程序配置文件中的数据库用户密码不正确,同时应用在短期内发起大量会话登录数据库的话可能引发频繁的
dc_users字典缓存锁,用户登录无法成功,乃至整个实例hang住。
这个问题直接参考Maclean的blog:
Row Cache lock Problem
关于Oracle 11g数据库审计功能的应用实例就介绍到这里了,希望本次的介绍能够对您有所收获!。