Oracle 12c真实应用程序安全和标准数据库审核 - 警告数据库登录未登录

Oracle 12c引入了几个主要的新安全功能。数据缩减是一个新功能和实际应用程序安全性(RAS)是另一个。 每个Oracle,RAS是下一代虚拟专用数据库(VPD),并安装了Oracle Enterprise Edition - 无需额外许可证。 RA是一个新的声明性和粒度授权模型,旨在成为用于端到端应用程序安全性的应用程序安全平台。对于那些开发的APEX应用程序(也安装了企业版),RA肯定会成为一个整体工具。

使用RAS,开发人员定义安全策略,而不是必须创建和维护PL / SQL代码。最值得注意的是,RAS延长了安全解决方案以定义应用程序用户和角色与数据库用户和角色分开。

RAS允许创建用户,完成用户名和密码,并将其存储在数据库中。 RAS用户不存储在dba_users中。 RAS用户在DBA_XS_USERS中定义,它们的密码存储在SYS中。 XS $ Verifiers。

使用12.1.0.1,RAS用户也可以直接连接到数据库。似乎有12.1.0.2,可以使用标志定义RAS用户以允许或禁止直接数据库登录。由于任何数据库安全监视和日志记录解决方案都应该监视数据库登录活动,应该知道RAS用户不会出现在标准的Oracle数据库审核中。标准数据库审核,而是通过通用用户xs $ null取出登录活动。因为它旨在成为应用程序的一部分,因此RAS拥有自己的日志记录和审计解决方案。

但是RAS用户的基本登录活动,但是已登录Sys.Unified_Audit_trail。 即使您在12C中未启用统一审核,也填充了Sys.Unified_Audit_Trail。为什么案例是另一个博客文章的主题。 如果您对日志和审核数据库登录的合规性要求,您需要监视Sys.Unified_Audit_trail for RAS用户活动,以及如果不潜在地配置RAS审核,则会创建RAS用户。下面的例子应该让你开始。

在下面,您可以测试自己标准数据库审计日志RAS用户登录:

  1. 确保启用审核创建会话,如果不是:审核通过访问创建会话;
  2. 创建真实应用程序安全用户

开始

xs_principal.create_user(name =>'积分_ras_user');

结尾;

  1. 设置真实应用程序安全用户的密码

开始

xs_principal.set_password('积分_ras_user','oracle');

结尾;

  1. 查看DBA_USERS和DBA_XS_USERS,以便自己定义RAS用户。
  2. 使用以下内容登录数据库:积分_ras_user / oracle
  3. 看看您的审计,从XS $ null而不是积分_ras_user的登录

选择*来自sys.aud $ desc

  1. 现在看看sys.unified_audit_trail。你会看到dbusername的xs $ null,但你会看到 xs_user_name中的“积分_ras_user”。

选择dbusername,xs_user_name,event_timestamp

来自sys.unified_audit_trail.

其中xs_user_name ='积分_ras_user'

event_timestamp订购

如果您不熟悉XS $ NULL,则在安装数据库组件Oracle XML数据库(XDB)时会创建XS $ NULL。 xdb现在是12c的必需组件,因此,数据库中必须存在xs $ null。 每个Oracle,XS $ null是一个内部帐户,它代表会话中缺少用户。 它由轻量级会话基础架构用于顶点,RAS和XDB以及该用户的名称在这些模块中是硬编码的。 由于XS $ NULL不是用户,因此此帐户只能由Oracle数据库实例访问。 XS $ null没有权限,而且没有人可以将xs $ null身份验证,也无法验证凭据被分配给xs $ null。 

如果您有疑问,请联系我们 [email protected]

参考

 Share this post

订阅RSS.

将我们添加到您最喜欢的新闻读者。

在推特上关注

获取最新的更新。