我的编程空间,编程开发者的网络收藏夹
学习永远不晚

DM7审计中的语句序列审计是怎样的

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

DM7审计中的语句序列审计是怎样的

DM7审计中的语句序列审计是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

审计机制是DM数据库管理系统安全管理的重要组成部分之一。DM数据库除了提供数据安全保护措施外,还提供对日常事件的事后审计监督。DM具有一个灵活的审计子系统,可以通过它来记录系统级事件、个别用户的行为以及对数据库对象的访问。通过考察、跟踪审计信息,数据库审计员可以查看用户访问的形式以及曾试图对该系统进行的操作,从而采取积极、有效的应对措施。

审计开关

在DM系统中,专门为审计设置了开关,要使用审计功能首先要打开审计开关。审计开关由DM的INI参数ENABLE_AUDIT控制,有三种取值:

0:关闭审计

1:打开普通审计

2:打开普通审计和实时审计

在普通版本中,ENABLE_AUDIT的缺省值为0;在安全版本中,ENABLE_AUDIT的缺省值为2。

审计开关必须由具有DBA权限的管理员进行设置。

系统管理员可通过查询V$PARAMETER动态视图查询ENABLE_AUDIT的当前值。

SQL> select * from v$parameter where name='ENABLE_AUDIT';

LINEID     ID          NAME         TYPE VALUE SYS_VALUE FILE_VALUE DESCRIPTION

---------- ----------- ------------ ---- ----- --------- ---------- ---------------------------------------------------------------------------------------

1          385         ENABLE_AUDIT SYS  0     0         0          Flag For Allowing Audit, 0: no audit 1: normal audit  2:normal audit and realtime audit

used time: 8.170(ms). Execute id is 24948.

SQL> sp_set_para_value(1,'ENABLE_AUDIT',2);

DMSQL executed successfully

used time: 80.901(ms). Execute id is 24968.

SQL> select * from v$parameter where name='ENABLE_AUDIT';

LINEID     ID          NAME         TYPE VALUE SYS_VALUE FILE_VALUE DESCRIPTION

---------- ----------- ------------ ---- ----- --------- ---------- ---------------------------------------------------------------------------------------

1          385         ENABLE_AUDIT SYS  2     2         2          Flag For Allowing Audit, 0: no audit 1: normal audit  2:normal audit and realtime audit

used time: 6.829(ms). Execute id is 24969.

SQL> select * from v$dm_ini where para_name='ENABLE_AUDIT';

LINEID     PARA_NAME    PARA_VALUE MIN_VALUE MAX_VALUE MPP_CHK SESS_VALUE FILE_VALUE DESCRIPTION                                                                             PARA_TYPE

---------- ------------ ---------- --------- --------- ------- ---------- ---------- --------------------------------------------------------------------------------------- ---------

1          ENABLE_AUDIT 2          0         2         N       2          2          Flag For Allowing Audit, 0: no audit 1: normal audit  2:normal audit and realtime audit SYS

used time: 7.090(ms). Execute id is 24970.

SQL>

也可以通过使用客户端工具Console或调用系统过程SP_SET_PARA_VALUE重新设置ENABLE_AUDIT的值,ENABLE_AUDIT为动态INI参数。

审计的设置与取消

数据库审计员指定被审计对象的活动称为审计设置,只有具有AUDIT DATABASE权限的审计员才能进行审计设置。DM提供审计设置系统过程来实现这种设置,被审计的对象可以是某类操作,也可以是某些用户在数据库中的全部行踪。只有预先设置的操作和用户才能被DM系统自动进行审计。

DM允许在三个级别上进行审计设置

系统级:系统的启动与关闭,此级别的审计无法也无需由用户进行设置,只要审计开关打开就会自动生成对应审计记录

语句级:导致影响特定类型数据库对象的特殊SQL或语句组的审计。如AUDIT TABLE 将审计CREATE TABLE、ALTER TABLE和DROP TABLE等语句

对象级:审计作用在特殊对象上的语句。如test表上的INSERT语句

审计设置存放于DM字典表SYSAUDIT中,进行一次审计设置就在SYSAUDIT中增加一条对应的记录,取消审计则删除SYSAUDIT中相应的记录。

语句序列审计

DM还提供了语句序列审计功能,作为语句级审计和对象级审计的补充。语句序列审计需要审计员预先建立一个审计规则,包含N条SQL语句(SQL1,SQL2……),如果某个会话依次执行了这些SQL语句,就会触发审计。

建立语句序列审计规则的过程包括下面三个系统过程。

VOID

SP_AUDIT_SQLSEQ_START(

NAME VARCHAR (128)

VOID

SP_AUDIT_SQLSEQ_ADD(

NAME VARCHAR (128),

SQL VARCHAR (8188)

)

VOID

SP_AUDIT_SQLSEQ_END(

NAME VARCHAR (128)

)

参数说明:

NAME 语句序列审计规则名

SQL 需要审计的语句序列中的SQL语句

使用说明:

建立语句序列审计规则需要先调用SP_AUDIT_SQLSEQ_START,之后调用若干次SP_AUDIT_SQLSEQ_ADD,每次加入一条SQL语句,审计规则中的SQL语句顺序根据加入SQL语句的顺序确定,最后调用SP_AUDIT_SQLSEQ_END完成规则的建立。

例如,建立一个语句序列审计规则audit_sql1。

SQL> sp_audit_sqlseq_start('audit_sql1');

DMSQL executed successfully

used time: 0.901(ms). Execute id is 25115.

SQL> sp_audit_sqlseq_add('audit_sql1','select c2 from t1;');

DMSQL executed successfully

used time: 0.698(ms). Execute id is 25117.

SQL> sp_audit_sqlseq_add('audit_sql1','select c1 from t2;');

DMSQL executed successfully

used time: 0.709(ms). Execute id is 25118.

SQL> sp_audit_sqlseq_add('audit_sql1','select * from t3;');

DMSQL executed successfully

used time: 0.814(ms). Execute id is 25119.

SQL> sp_audit_sqlseq_end('audit_sql1');

DMSQL executed successfully

used time: 32.279(ms). Execute id is 25120.

在别一个会话执行语句

SQL> select * from t1;

DMSQL executed successfully

used time: 0.814(ms). Execute id is 5119.

SQL> select * from t2;

DMSQL executed successfully

used time: 0.814(ms). Execute id is 5120.

SQL> select * from t3;

DMSQL executed successfully

used time: 0.814(ms). Execute id is 5121.

查询审计记录

SQL> select * from v$auditrecords;

LINEID     USERID      USERNAME ROLEID      ROLENAME IP               SCHID       SCHNAME OBJID       OBJNAME OPERATION    SUCC_FLAG SQL_TEXT                                                                                             DESCRIBTION                 OPTIME                      MAC                 

---------- ----------- -------- ----------- -------- ---------------- ----------- ------- ----------- ------- ------------ --------- ---------------------------------------------------------------------------------------------------- --------------------------- --------------------------  -------------------

1          50331649    SYSDBA   67108864    DBA      ::ffff:127.0.0.1 -1                  -1                  DROP TABLE   Y         drop table cs purge;                                                                                                             2020-05-27 19:28:06.000000  00:00:00:00:00:00

2          50331649    SYSDBA   67108864    DBA      ::ffff:127.0.0.1 -1                  -1                  CREATE TABLE Y         create table cs(id int,name varchar(20));                                                                                        2020-05-27 19:28:19.000000  00:00:00:00:00:00

3          50331649    SYSDBA   67108864    DBA      ::ffff:127.0.0.1 -1                  -1                  CREATE USER  Y         create user cs2 identified by ******;                                                                                            2020-05-27 19:32:18.000000  00:00:00:00:00:00

4          50331750    JY       67108864    DBA      ::ffff:127.0.0.1 150995951   JY      1454        T1      UPDATE       Y         update t1 set c2='WY' where c1=2;                                                                                                2020-05-27 19:36:39.000000  00:00:00:00:00:00

5          50331750    JY       67108864    DBA      ::ffff:127.0.0.1 150995951   JY      1454        T1      DELETE       Y         delete from t1;                                                                                                                  2020-05-27 19:37:08.000000  00:00:00:00:00:00

6          50331649    SYSDBA   67108864    DBA      ::ffff:127.0.0.1 150995945   PERSON  1254        ADDRESS INSERT       Y         insert into person.address values('常德武陵区武陵大道938号',null,'德武陵区','415700',10);                                        2020-05-27 19:58:29.000000  00:00:00:00:00:00

7          50331649    SYSDBA   -1                   ::ffff:127.0.0.1 -1                  -1                  SQL SEQ      Y         select name from t1; select id from t2; select * from t3;                                             audit_sql1                 2020-05-27 20:14:44.000000  00:00:00:00:00:00

7 rows got

used time: 1.013(ms). Execute id is 25133.

可使用下面的系统过程删除指定的语句序列审计规则。

VOID

SP_AUDIT_SQLSEQ_DEL(

NAME VARCHAR (128)

参数说明:

NAME 语句序列审计规则名

例如,删除语句序列审计规则AUDIT_SQL1。

SQL> sp_audit_sqlseq_del('audit_sql1');

DMSQL executed successfully

used time: 26.854(ms). Execute id is 25137.

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

DM7审计中的语句序列审计是怎样的

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python代码审计中的SQL和ORM注入是怎样的

本篇文章为大家展示了Python代码审计中的SQL和ORM注入是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python代码审计方法多种多样,但是总而言之是根据前人思路的迁移融合扩展而形成。
2023-06-17

Python安全编码与代码审计是怎样的

这篇文章给大家介绍Python安全编码与代码审计是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1 前言现在一般的web开发框架安全已经做的挺好的了,比如大家常用的django,但是一些不规范的开发方式还是会导致
2023-06-17

怎么分析Python代码审计中的反序列化和命令执行

这篇文章给大家介绍怎么分析Python代码审计中的反序列化和命令执行,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、介绍Python代码审计方法多种多样,但是总而言之是根据前人思路的迁移融合扩展而形成。目前Pytho
2023-06-17

用于Linux服务器的自动安全审计工具Lynis是怎么样的

今天就跟大家聊聊有关 用于Linux服务器的自动安全审计工具Lynis是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Lynis是Unix/Linux等操作系统的一款安全审
2023-06-15

计算机编程中线程同步,数据交换的序列图是怎样的

本篇内容介绍了“计算机编程中线程同步,数据交换的序列图是怎样的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!UML中的表现除了代码,多线程还
2023-06-19

Python语言中计数方法的演变过程是怎么样的

Python语言中计数方法的演变过程是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。有时候,利用Python语言简洁、优雅地解决问题的方法,会随着时间变化。随着Pyth
2023-06-17

基于CRF序列标注的中文依存句法分析器的Java实现是怎么样的

这篇文章给大家介绍基于CRF序列标注的中文依存句法分析器的Java实现是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。这是一个基于CRF的中文依存句法分析器,内部CRF模型的特征函数采用 双数组Trie树(Do
2023-06-02

计算机网络中怎么样将高级语言编写的程序翻译成机器语言程序

小编给大家分享一下计算机网络中怎么样将高级语言编写的程序翻译成机器语言程序,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!将高级语言编写的程序翻译成机器语言程序,可采用两种翻译方式:编译和解释。解释方式是将源程序逐句解释执行
2023-06-14

Java中的集合框架是如何设计的?有哪些常用的集合类?(Java集合框架的架构是怎样的?请列举一些常用的集合类及其用途?)

Java集合框架是一个全面库,用于管理数据集合。其架构基于分层设计、泛型和接口/实现分离。常用的集合类包括List(ArrayList、LinkedList、Vector)、Set(HashSet、TreeSet)、Map(HashMap、TreeMap、LinkedHashMap)、Queue(ArrayDeque、ConcurrentLinkedQueue)和辅助类(Collections、Arrays、BitSet)。它们用途广泛,包括存储、检索、组织、快速访问、排序、多线程和流式处理。
Java中的集合框架是如何设计的?有哪些常用的集合类?(Java集合框架的架构是怎样的?请列举一些常用的集合类及其用途?)
2024-04-02

编程热搜

目录