Chinaunix首页 | 论坛 | 博客
  • 博客访问: 650742
  • 博文数量: 168
  • 博客积分: 2928
  • 博客等级: 中校
  • 技术积分: 1904
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-04 09:56
文章分类

全部博文(168)

文章存档

2010年(168)

我的朋友

分类: Oracle

2010-05-20 16:40:01

使用 Oracle Database Vault 限制命令执行

本教程将向您介绍 Oracle Database Vault 如何防止具有 DBA 角色的高级用户远程执行基本数据库修改。

大约 15 分钟

主题

本教程包括下列主题:

将鼠标置于此图标上以加载和查看本教程的所有屏幕截图。 (警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)

注意:此外,您还可以在下列步骤中将鼠标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。

概述

Oracle Database Vault 可帮助用户解决现有的极为棘手的安全问题,即防止内部的威胁,满足合规性要求以及实现职责划分。Oracle Database Vault 能防止 DBA 查看应用程序数据,解决了必须保护涉及合作伙伴、员工和顾客的敏感业务信息或隐私数据的客户最为担心的问题。Oracle Database Vault 可防止高权限的应用程序 DBA 访问其他的应用程序、执行其权限之外的任务。Oracle Database Vault 可在不影响应用程序功能的前提下快速而高效地保护现有程序。

开始本教程之前,您应该:

1.

安装 Oracle 数据库 10g 版本 10.2.0.2。

2.

下载并解压缩 Oracle SQL Developer

3.

安装 Oracle Database Vault Option(即将推出)

以 SYSTEM 身份创建一个数据库连接。执行以下步骤:

1.

打开 Oracle SQL Developer。右键单击 Connections 并选择 New Database Connection


2.

输入下面的信息并单击 Test

Connection Name:system@database vault
Username:system
Password:<您的系统密码>
Save Password:选中
Hostname:<您的主机名>
Port:<您的数据库端口>
SID:<您的数据库 sid>


3.

如果状态为成功,单击 Connect


4.

连接建立。


以 SYSTEM 用户身份修改基本数据库参数

在本教程中,您希望确保不能远程对(已批准)数据库配置进行即席更改。在本主题中,您将尝试以 SYSTEM 用户身份创建一个新的重做日志文件。执行以下步骤:

1.

在 SQL Worksheet 区域输入以下 SELECT 语句,选择执行语句图标 或按 F9 键。

alter system switch logfile;


2.

SYSTEM 用户无法执行该操作。

 

创建命令规则来禁止远程命令执行

在本主题中,您将创建一个命令规则来禁止特权用户远程执行针对数据库的命令。执行以下步骤:

1.

打开浏览器,输入以下 URL:


为 User Name 输入 dvowner,为 Password 输入 <您的密码>。然后,单击 Login


2.

单击 Rule Sets 链接。

 

3.

规则集是命令规则使用的高度自定义的参数。需要先定义规则集,然后才能启用命令规则。由于您不希望 DBA 远程执行基本修改,因此可以定义强制本地访问规则集。选择 Enforce Local Access,并单击 Edit


4.

向下滚动至表单底部

 

5.

在 Rules Associated to the Rule Set 下,单击 Create

 

6.

Oracle Database Vault 利用应用程序上下文特性提供大量预定义的“基元”(如“ip_address”),这些基元可用于确定访问权限或执行权限。指定一个名称,在 Rule Expression 域中输入以下内容,然后单击 OK

sys_context('userenv','ip_address')=''

其中, 是您主机的 IP 地址

 

7.

审核刚添加的规则集。然后,向上滚动至表单顶部。

 

8.

确保状态为 Enabled,单击 OK

 

9.

强制本地访问规则已定义并启用。现在,您可以将刚定义的规则集与 ALTER SYSTEM 命令规则相关联。单击 Database 路径式导航栏。

 

10.

单击 Command Rules 链接。

 

11.

您希望与强制本地访问规则集相关的命令是 ALTER SYSTEM。选择 ALTER SYSTEM 并单击 Edit

 

12.

从 Rule Sets 列表中选择 Enforce Local Access,并单击 Enable。然后单击 OK

 

13.

已应用规则集。单击 Database 路径式导航栏。在下一部分中,您将测试命令。

 

测试命令规则

再次执行先前运行的 SQL 语句。此时您会看到,SYSTEM 用户不能执行该命令,因为在我们的规则集中一可以得到“'TRUE'”值的 IP 地址是 130.35.46.19(这是 Database Vault 服务器的 IP 地址)。访问该服务器的计算机的 IP 地址不同,在本教程中,您希望禁止对数据库远程更改。执行以下步骤:

1.

切换到 Oracle SQL Developer。单击执行语句图标 或按 F9 键再次执行先前运行的 SQL。


2.

此时当 SYSTEM 尝试执行 ALTER SYSTEM 命令时,会发生违规。

 

生成审计报告

创建规则集之后,审计选项被设为 Audit on Failure。执行下面的步骤验证审计:

1.

切换到 Oracle Database Vault单击 Data Vault Reports 选项卡。


2.

在 Data Vault Reporting 类别下,选择 Command Rule Audit 并单击 Run Report

 

3.

随即显示报表。注意,在这种情况下,将显示运行的命令以及调用的规则集。

 

在本教程中,您学习了如何防止 DBA 用户远程执行数据库命令

将鼠标置于该图标上可以隐藏所有的屏幕截图。

阅读(3142) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~