oracle10g日志审计操作文档
- 格式:doc
- 大小:65.50 KB
- 文档页数:6
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审计日志规则,您可以更好地了解数据库中发生的操作,并及时发现潜在的安全问题。
请确保审计日志的记录和审计管理策略的设置符合您的安全需求,并进行定期的审计日志分析。
日志审计手册(原创实用版)目录1.日志审计手册概述2.日志审计的目的和重要性3.日志审计的基本流程4.日志审计的方法和技术5.日志审计的挑战与未来发展正文1.日志审计手册概述日志审计手册是一本关于如何进行日志审计的指南,旨在帮助组织和企业有效地管理和监控其日志数据,以便及时发现和预防安全威胁。
本文将详细介绍日志审计的目的和重要性、基本流程、方法和技术,以及当前面临的挑战和未来发展趋势。
2.日志审计的目的和重要性日志审计的主要目的是确保系统和数据的安全,通过对日志数据的审查和分析,可以发现潜在的安全事件和威胁,以便及时采取措施进行防范。
日志审计的重要性体现在以下几个方面:(1)满足合规要求:许多国家和行业的法规规定,组织和企业需要对其日志数据进行审计,以证明其系统和数据的安全性。
(2)提高安全意识:日志审计可以帮助企业和组织发现安全漏洞和威胁,提高其安全意识,防止数据泄露和经济损失。
(3)改进安全策略:通过对日志数据的分析,可以找出系统和网络的薄弱环节,为企业和组织提供有针对性的改进意见,以提高其安全策略的有效性。
3.日志审计的基本流程日志审计的基本流程通常包括以下几个步骤:(1)收集日志数据:首先需要收集所有与安全相关的日志数据,包括系统日志、网络日志、应用程序日志等。
(2)整理和分析日志数据:对收集到的日志数据进行整理,去除重复和无用的信息,然后使用数据分析技术进行深入分析,以发现潜在的安全事件和威胁。
(3)审查和报告:将分析结果进行审查,编写审计报告,向相关管理人员和部门汇报,以便及时采取措施处理安全事件。
(4)存储和归档日志数据:对日志数据进行长期存储和归档,以备后续审计或调查使用。
4.日志审计的方法和技术日志审计的方法和技术主要包括以下几种:(1)手工审计:通过人工阅读和分析日志数据,发现异常和潜在威胁。
这种方法效率较低,容易出错,但适用于小型组织和企业。
(2)自动化审计:使用计算机软件或工具自动分析和筛选日志数据,提高审计效率。
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 数据库专题---------数据库安全性------数据库审计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数据库审计问题描述:使⽤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的事件管理器中。
oracle10g日志审计操作文档Oracle10g审计1、查看审计是否打开首先登陆oracle后输入show parameter audit_trail来查看审计是否打开SQL > show parameter audit_trail ;返回结果:NAME TYPE V ALUEudit_trail string NONENONE表示审计未打开。
说明V ALUE :返回值是NONE/FALSE表示审计未打开;返回值是DB/TURE表示审计功能已经打开2、打开审计SQL > alter system set audit_trail=’DB’scope=spfile ;这里对audit_trail=进行说明:audit_trail=’DB’表示把审计日志记录到数据库sys.audit$表中。
audit_trail=’DB,extended’在DB选项基础上,在audit$表中还增加了SQLBIND和SQLTEXT两个clob栏位,用来存储SQLBIND 和SQLTEXT信息。
audit_trail=‘OS’审计结果存放在操作系统的审计信息中,若是windows 平台,audit trail会记录在windows的事件管理器中,若是linux/unix平台则会记录在audit_file_dest参数指定文件中。
audit_trail=‘xml’审计结果存放在XML中, 并包含XML文件可以由数据库以外的工具方便地处理,过滤出有用的事件,与其它系统中的审计日志组合,并格式化HTML显示,操作系统文件提供比SYS.AUD$表更强大的安全性,特别是在希望阻止数据库管理员查看或修改审计跟踪的情况下,即使关闭数据库实例,仍然可以继续使用保存在数据库外的审计日志。
用以下代码确定写入审计文件的目录:audit_file_dest='directorypath' 。
注意,directorypath这不是一个目录对象,,而是操作系统目录的实际路径名。
亚信统一搜索(AUS)项目Oracle审计日志配置手册亚信科技(南京)有限公司Oracle审计日志配置●以sysdba用户连接数据库资料库sqlplus / as sysdba●建立暂时的pfileSQL> create pfile='/tmp/inittemp.ora' from spfile;File created●编辑/tmp/inittemp.ora:*.audit_sys_operations=TRUE*.audit_syslog_level=*.audit_trail='OS'●重启资料库SQL> shutdown immediateSQL> startup mount pfile=/tmp/inittemp.ora●查看审计日志配置项SQL> show parameter audit●创建spfileSQL> create spfile=' location of existing spfile.ora with filename'from pfile='/tmp/inittemp.ora';●重启资料库SQL> shutdown immediateSQL> startup mount pfile=/tmp/inittemp.ora●编辑/etc/rsyslog.conf,将oracle审计日志透过syslog发送到相应的flume(1) tcp协议配置如下:在rsyslog.conf文件最后添加内部资料 南京联创网络科技有限公司安全产品研发 @ip:port(2) udp协议配置如下:在rsyslog.conf文件最后添加 @@ip:portPS:上面的ip和port为flume的ip以及port 重启rsyslog服务service rsyslog restart注:停止服务service rsyslog stop启动服务service rsyslog start查看服务状态service rsyslog status内部资料 南京联创网络科技有限公司安全产品研发。
oracle 审计日志设置规则(实用版)目录1.Oracle 审计日志的概念和作用2.Oracle 审计日志的设置规则3.如何开启 Oracle 审计功能4.审计日志的维护和管理5.审计日志的重要性和应用场景正文一、Oracle 审计日志的概念和作用Oracle 审计日志是用于记录数据库中各种操作的一种日志,它可以帮助数据库管理员监控和审查数据库的活动,保证数据的安全和完整性。
通过审计日志,管理员可以了解数据库的运行状况,及时发现并处理潜在的安全隐患和问题。
二、Oracle 审计日志的设置规则设置 Oracle 审计日志需要遵循以下规则:1.配置审计跟踪:通过使用 ALTER SYSTEM 命令设置auditsysoperation 属性为 TRUE,开启审计跟踪功能。
2.配置审计日志:使用 ALTER SYSTEM 命令设置 audittraildb 属性为 extended,开启审计日志功能。
3.配置审计日志文件:使用 ALTER SYSTEM 命令设置audit_trail_file_name 属性,指定审计日志文件的名称和路径。
4.重启数据库:执行 SHUTDOWN IMMEDIATE 命令,重启数据库,使审计设置生效。
三、如何开启 Oracle 审计功能1.使用本地连接方式,以 sysdba 或 sysoper 角色登录 Oracle 数据库。
2.执行以下 SQL 命令,开启审计跟踪功能:```ALTER SYSTEM SET auditsysoperation = TRUE;```3.执行以下 SQL 命令,开启审计日志功能:```ALTER SYSTEM SET audittraildb = extended;```4.执行以下 SQL 命令,设置审计日志文件的名称和路径:```ALTER SYSTEM SET audit_trail_file_name = "审计日志文件名.log";```5.执行 SHUTDOWN IMMEDIATE 命令,重启数据库,使审计设置生效。
Oracle10g审计1、查看审计是否打开首先登陆oracle后输入show parameter audit_trail来查看审计是否打开SQL > show parameter audit_trail ;返回结果:NAME TYPE V ALUEudit_trail string NONENONE表示审计未打开。
说明V ALUE :返回值是NONE/FALSE表示审计未打开;返回值是DB/TURE表示审计功能已经打开2、打开审计SQL > alter system set audit_trail=’DB’scope=spfile ;这里对audit_trail=进行说明:audit_trail=’DB’表示把审计日志记录到数据库sys.audit$表中。
audit_trail=’DB,extended’在DB选项基础上,在audit$表中还增加了SQLBIND和SQLTEXT两个clob栏位,用来存储SQLBIND和SQLTEXT信息。
audit_trail=‘OS’审计结果存放在操作系统的审计信息中,若是windows 平台,audit trail会记录在windows的事件管理器中,若是linux/unix平台则会记录在audit_file_dest参数指定文件中。
audit_trail=‘xml’审计结果存放在XML中, 并包含XML文件可以由数据库以外的工具方便地处理,过滤出有用的事件,与其它系统中的审计日志组合,并格式化HTML显示,操作系统文件提供比SYS.AUD$表更强大的安全性,特别是在希望阻止数据库管理员查看或修改审计跟踪的情况下,即使关闭数据库实例,仍然可以继续使用保存在数据库外的审计日志。
用以下代码确定写入审计文件的目录:audit_file_dest='directorypath' 。
注意,directorypath这不是一个目录对象,,而是操作系统目录的实际路径名。
audit_trail=‘xml,extended’,存储为xml,并包含SQLBIND和SQLTEXT信息。
audit_trail是static参数,每次修改后需要重新启动数据库才能生效。
备注:默认审计表安装在SYSTEM表空间。
所以要确保SYSTEM表空间有足够的空间存放审计信息。
若SYSTEM表空间没有足够的空间存放审计信息或者为了不影响系统的性能保护SYSTEM表空间,可以将审计结果表从system表空间里移动到别的表空间上下面是具体的操作过程(需要SYSDBA权限才能进行该操作):一、若设置audit_trail=’DB’SQL> alter table audit$ move tablespace users;SQL> alter index i_audit rebuild tablespace users;二、若设置audit_trail=’DB,extended’SQL> alter table audit$ move tablespace users;SQL> alter table audit$ move lob(sqlbind) store as(tablespace users)SQL> alter table audit$ move lob(SQLTEXT) store as(tablespace users)SQL> alter index i_audit rebuild tablespace users;将审计结果表从system表空间里移动到users表空间。
可以通过以下命令查看具体表空间剩余大小:select sum(bytes)/1024/1024 as free_space , tablespace_name from dba_free_space group by tablespace_name ;3、确定相关的表是否安装SQL > select * from sys.audit$ ;返回结果:未选定行。
表示该表已经安装SQL > select * from dba_audit_trail ;返回结果:未选定行。
表示该表已经安装上述查询的时候发现表不存在,说明审计相关的表还没有安装4、重新启动数据库的服务,数据库启动后再次输入来查看审计打开是否生效SQL > show parameter audit_trail ;返回结果:NAME TYPE V ALUEudit_trail string DBV ALUE返回值是DB/TURE表示审计已经打开,并把审计结果记录到数据库sys.audit$表中。
5、审计级别设置当开启审计功能后,oracle10g可在四个级别对数据库进行审计:Statement(语句)、Privilege (权限)、object(对象)、Network(网络)。
一、语句按语句来审计,比如audit table 会审计数据库中所有的create table ,drop table ,truncate table语句,audit all 是审计所有的操作,建议不要使用audit all,这样审计的内容太多,对数据库性能会造成很大影响,audit session by cmy;会审计cmy用户所有的数据库连接。
例子:SQL > audit create table; ——审计所有创建表的操作SQL > audit table ;——审计create table,drop table 操作SQL > audit session by system whenever not successful;二、权限按权限来审计,当用户使用了该权限,如执行grant select any table to a; audit select any table; 语句后,当用a 访问了用户b表时会用到select any table权限,所以该语句能被审计到例子:SQL > AUDIT DELETE ANY TABLE; 对任何表里记录删除操作不管成功与否都审计SQL > AUDIT SELECT TABLE,INSERT TABLE,DELETE TABLE,EXECUTE PROCEDURE BY ACCESS WHENEVER NOT SUCCESSFUL; ——审计对表里记录进行查询、插入、删除和执行存储过程不成功的进行审计三、对象按对象来审计,只审计on关键字指定对象的相关操作例子:SQL > audit delete,updata,insert on user.table by test ;——审计test用户对表user.table 的delete、updata、insert 操作四、网络备注:每次增加或取消审计项后都必须得重新启动数据库服务后配置内容才能生效,所以建议在进行审计操作前要规划好需要审计哪些内容,打开哪些审计项。
6、审计的一些其他选项一、by access / by sessionby access 每个被审计的操作都生成一条audit trailby session 一个会话里同类型的操作只会生成一条audit trail ,不进行设置默认为by session例子:SQL > audit select table by u_test by access;——对系统中u_test用户进行审计二、whenever [not] successfulwhenever successful操作成功才被审计,whenever not successful操作失败才被审计不进行设置默认为不管操作成功与否都会被审计例子:SQL > AUDIT DELETE ANY TABLE WHENEVER SUCCESSFUL; ——只审计删除成功的情况7、一些常用和审计相关视图DBA_AUDIT_TRAIL查看审计记录, DBA_AUDIT_OBJECT、DBA_AUDIT_SESSION、DBA_AUDIT_STA TEMENT是DBA_AUDIT_TRAIL的子集;USER_AUDIT_SESSION 用户连接或断开的全部审计跟踪记录;USER_AUDIT_TRAIL与用户有关的审计跟踪记录;USER_AUDIT_STA TEMENT列出用户发出的GRANT,REVOKE,AUDIT,NOAUDIT,ALTER SYSTEM语句的审计;USER_AUDIT_OBJECT 对象的语句审计跟踪记录;DBA_STMT_AUDIT_OPTS查看数据库当前设置了哪些语句级别的审计;DBA_OBJ_AUDIT_OPTS查看数据库当前设置了哪些对象级别的审计;DBA_PRIV_AUDIT_OPTS查看数据库当前设置了哪些权限级别的审计;ALL_DEF_AUDIT_OPTS查看数据库当前用on default子句设置了哪些默认对象审计8、取消审计将对应审计语句的audit 改为noaudit即可,如audit session whenever successful 对应的取消审计语句为noaudit session whenever successful9、清除审计记录SQL > delete from sys.aud$; 或者执行SQL >truncate table sys.aud$;10、Oracle日志文件存放目录告警日志$ORACLE_BASE/admin/orasid/bdump/alert_orasid.log监听日志$ORACLE_HOME/network/log/listener.log最近遇到一个使用了Oracle数据库的服务器,终于搞到了网站后台管理界面的所有用户密码。
我发现Oracle操作起来真是太麻烦,为了兄弟们以后少走些弯路,我把当中必需的命令整理出来。
1、su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。
2、sqlplus /nolog 或sqlplus system/manager 或./sqlplussystem/manager@ora9i;3、SQL>connect / as sysdba ;(as sysoper)或connect internal/oracle AS SYSDBA ;(scott/tiger)conn sys/change_on_install as sysdba;4、SQL>startup; 启动数据库实例5、查看当前的所有数据库: select * from v$database;select name from v$database;6、desc v$databases; 查看数据库结构字段7、怎样查看哪些用户拥有SYSDBA、SYSOPER权限:SQL>select * from V_$PWFILE_USERS;Show user;查看当前数据库连接用户8、进入test数据库:database test;9、查看所有的数据库实例:select * from v$instance;如:ora9i10、查看当前库的所有数据表:SQL> select TABLE_NAME from all_tables;select * from all_tables;SQL> select table_name from all_tables where table_name like '%u%';TABLE_NAME------------------------------_default_auditing_options_11、查看表结构:desc all_tables;12、显示CQI.T_BBS_XUSER的所有字段结构:desc CQI.T_BBS_XUSER;13、获得CQI.T_BBS_XUSER表中的记录:select * from CQI.T_BBS_XUSER;14、增加数据库用户:(test11/test)create user test11 identified by test default tablespace users Temporary TABLESPACE Temp;15、用户授权:grant connect,resource,dba to test11;grant sysdba to test11;commit;16、更改数据库用户的密码:(将sys与system的密码改为test.)alter user sys indentified by test;alter user system indentified by test;11、oracle10g审计能力提升Oracle 10g的审计会在非常细节的层次上捕捉用户的动作,它可以是手动审计、基于触发器审计。