使用AUDIT_SYSLOG_LEVEL进行Sys用户行为监控
对生产环境运行的系统而言,用户行为审计是一个非常重要的部分。当发生安全事故、非法侵入的时候,稳妥、全面的审计信息是我们发现安全漏洞和修复故障的重要依据。所以,所有的完善数据库产品中,都有专门的审计功能模块。 Oracle从大规模商用化到今天,一直在不断的推进审计功能模块,以适应灵活多变的用户需求。目前的Oracle审计功能,主要分为Traditional Audit和Fine Grained Audit(FGA)两种技术主线。这两条主线主要提供的是对于用户行为和数据两个主要层面的审计内容。 1 、Sys 用户审计 Sys用户是Oracle系统中很特殊的一个用户,类似于Linux/Unix中的root,具有绝对的超级权限。除了允许访问、操作大多数数据之外,Sys用户是具有对Oracle内部元数据基础表进行删除的权限。 鉴于Sys用户的巨大权限和潜在危险性,我们通常在使用数据库的时候,都不会直接使用sys用户,而是创建普通用户帐号进行管理。 从安全的层面上,Oracle也对于Sys的基本操作行为,如登陆、退出动作,都提供了默认审计策略。 但是,这个过程中,是存在一个问题的。默认情况下,Sys的审计信息是记录在dba_audit_trail视图中进行查询,也就是记录在基表aud$下面。而Sys恰恰是拥有该表数据删除权限的用户。这样,Sys用户是可以删除掉关于自己“不利”的信息的。