欢迎来到天天文库
浏览记录
ID:45573412
大小:234.62 KB
页数:13页
时间:2019-11-15
《安全审计打造固若金汤的数据堡垒》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、安全审计打造固若金汤的数据堡垒来源:IT168网众所周知,数据库系统功能强大而丰富,因而,对于一个数据库环境而言,我们可以生成很多类型的审计记录。当然,这并不意味着本文所涉及到的所有审计类型都适合读者你,但是,知道有哪些审计类型以及如何实施这些审计有助于你满足合规需求。要实施完善的数据库审计,必须理解的一个关键问题是需求,从而知道可以使用哪些审计类型来满足自C的需求。本文可作为你实施数据库审计的一个参考。审计数据库的登入和登出在你要进入一家公司会晤某人的时候,一般需要在前台进行登记。这样做可确保公司完整的记录进入公司的
2、任何人,在出现问题时,或在追踪和调查“这事儿是谁干的?”时,这种登录很有用处。这种FI志通常会记录来客是谁、何时进入、何时离开。同样的过程也适用于数据库,多数环境中所需要的首要审计就是完整的记录哪些人曾登入过数据库。对于这类审计,你需要记录两类事件:登入事件和登岀事件。对于每一个事件,你都需要保存登录名和时间,但你述应该考虑记录附加信息。这包括发起连接的客户端的IP地址,以及用于初始化连接的程序。例如,在Oracle环境屮,你可能想知道该连接是否由
3、SQLPlus]等初始化。除了这两类事件,你还应当记录所有失败的登录企
4、图。事实上,从安全的观点来看,
5、失败的登录事件甚至可能比成功的登录更重要记录失败的登录企图不仅是为了审计和合规目的,而冃可作为警告和停用某个账户的基础。虽然你可将这三类事件放在同样的文件或表格屮,但你可能会以不同的方式进行报告。成功的登录和登出报告不是多数人愿意关注的问题,除菲要进行某种调查,因为这些H志反映了正常的操作。除此之外,还有一种例外情况,即比较不同时期的文件,看其是不是发生了改变。然而,过多的失败登录肯定是-•个令人感兴趣的安全报告,而且许多人会根据如下这几个方而定期地查看这些失败的登录企图:用户名连接失败
6、的客户端IP地址源程序时间和FI期Jrc-jma31:1?一JlMMCCMtaftlMflBU>gegteon39;let111^W.iWJIZM!lXM3T!971«Ilf20H49-H坨;*Pmtxm14>iH«:*344«4RP40M:口八26tl20X0阿12签XH5哉1414❻14Z诫U■丁7L7打RIU1WMX1->LU;2:MIK2:222lttIM彳竝上抚少MS仪iw;mrc^ieii»2uzam畑弼:MS!OlSMVFtIMT1、,孔/ZU
7、%心;WMU门:时8IV.dIK212":炉M>MX乂叭2:17??vr**di%^irr;•佯w*tZXM-U-0;1!(:U:01Mn*?^打18gWPVTP:右沏1:加巧M,4Mm2UCMIfCCH-ltJ1S5JUJ-8、•«»:$4;0UfUQ3^:Wt«WV:Pt图xx>9、方面进行了分类总结,一是根据登录名(上图的左侧),二是根据显示失败登录的详细视图的报告(包括登录名、源IP地址、连接到哪个数据库服务器、通信类型)。可使用数据库的特性或使用外部的数据库安全方案来审计登入和登岀活动。所有的数据库厂商都支持这种基本的审计功能,而且因为这些事件的数量是很小的(至少在与审计实际的SQL调用时所得到的事件数量相比时是这样的),所以数据库在执行这种审计时所遭受的性能损失很少。止如在插入或更新时,Oracle触发器会启动一样,系统级触发器会针对特定的系统事件(如登入、登出和DDL执行)而执行。下面如10、何实施这种审计:首先,创建一个你用来保存这种信息的表:鏗)普愷赞user_Xogin_audituser_idsessionidhostlogin_daylogin_timelogout_daylogout_time);varchar2(30)#number(8)9varchar2(30),date,varchar2(10)#date,varchar2lecKBvftlYTT中!S下一步,创建一个在发生新登入时可执行的触发器:ggeivuserlogiiiaudittrigger“AFTERLOGONONDATABAS11、EBEGIN.insertintouser_logiii_auclitvalues^user,asys_contextCUSERENV7SESSIONIDr),sys_contextCUSERENV7HOSTr)^sysdate界to_char(sysdate,rlili24:ini:ssr)?“null,,null^片TechT
8、•«»:$4;0UfUQ3^:Wt«WV:Pt图xx>9、方面进行了分类总结,一是根据登录名(上图的左侧),二是根据显示失败登录的详细视图的报告(包括登录名、源IP地址、连接到哪个数据库服务器、通信类型)。可使用数据库的特性或使用外部的数据库安全方案来审计登入和登岀活动。所有的数据库厂商都支持这种基本的审计功能,而且因为这些事件的数量是很小的(至少在与审计实际的SQL调用时所得到的事件数量相比时是这样的),所以数据库在执行这种审计时所遭受的性能损失很少。止如在插入或更新时,Oracle触发器会启动一样,系统级触发器会针对特定的系统事件(如登入、登出和DDL执行)而执行。下面如10、何实施这种审计:首先,创建一个你用来保存这种信息的表:鏗)普愷赞user_Xogin_audituser_idsessionidhostlogin_daylogin_timelogout_daylogout_time);varchar2(30)#number(8)9varchar2(30),date,varchar2(10)#date,varchar2lecKBvftlYTT中!S下一步,创建一个在发生新登入时可执行的触发器:ggeivuserlogiiiaudittrigger“AFTERLOGONONDATABAS11、EBEGIN.insertintouser_logiii_auclitvalues^user,asys_contextCUSERENV7SESSIONIDr),sys_contextCUSERENV7HOSTr)^sysdate界to_char(sysdate,rlili24:ini:ssr)?“null,,null^片TechT
9、方面进行了分类总结,一是根据登录名(上图的左侧),二是根据显示失败登录的详细视图的报告(包括登录名、源IP地址、连接到哪个数据库服务器、通信类型)。可使用数据库的特性或使用外部的数据库安全方案来审计登入和登岀活动。所有的数据库厂商都支持这种基本的审计功能,而且因为这些事件的数量是很小的(至少在与审计实际的SQL调用时所得到的事件数量相比时是这样的),所以数据库在执行这种审计时所遭受的性能损失很少。止如在插入或更新时,Oracle触发器会启动一样,系统级触发器会针对特定的系统事件(如登入、登出和DDL执行)而执行。下面如
10、何实施这种审计:首先,创建一个你用来保存这种信息的表:鏗)普愷赞user_Xogin_audituser_idsessionidhostlogin_daylogin_timelogout_daylogout_time);varchar2(30)#number(8)9varchar2(30),date,varchar2(10)#date,varchar2lecKBvftlYTT中!S下一步,创建一个在发生新登入时可执行的触发器:ggeivuserlogiiiaudittrigger“AFTERLOGONONDATABAS
11、EBEGIN.insertintouser_logiii_auclitvalues^user,asys_contextCUSERENV7SESSIONIDr),sys_contextCUSERENV7HOSTr)^sysdate界to_char(sysdate,rlili24:ini:ssr)?“null,,null^片TechT
此文档下载收益归作者所有