042-13 Oracle数据库的安全Audit;配置网络

--**AUDIT TRAIL 审计的跟踪
SQL> show parameter Audit             --查询审计相关的参数
/*
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest                      string      C:\ORACLE\PRODUCT\10.2.0\ADMIN
                                                 \TESTDB\ADUMP
audit_sys_operations                 boolean     FALSE
audit_trail                          string      None                             --默认是关闭的
*/


Select * From v$parameter_valid_values    --查看参数的有效值
Select * From v$parameter_valid_values Where Name ='audit_trail' --DB放在数据库的表中 OS放在操作系统的数据文件中  DB_EXTENDED比DB捕获更多值(执行语句,绑定变量值) XML以XML的格式放在操作系统中 EXTENDED实际上是XML EXTENDED只能组合使用,功能类似DB_EXTENDED
Alter System Set audit_trail=DB_EXTENDED Scope=Spfile; --静态参数 直接修改SPFILE 然后需要重启数据库
--审计的类型
1.(system)privilege 系统权限审计
Select * From system_privilege_map --查看系统审计权限内容CREATE SESSION,CREATE TABLE等
SQL> audit create Session          --开启reate session的审计
Select * From dba_priv_audit_opts  --查看开启了哪些权限审计
C:\>sqlplus system@testdb          --使用system用户登录
Select * From dba_audit_trail      --查看审计跟踪的记录
SQL> audit alter system by a;      --对用户A进行的更改系统参数进行审计
SQL> Noaudit create Session        --关闭create Session的审计
SQL> audit create Session By a Whenever Not Successful       --审计a用户连接不成功的create Session


2.object(privilege) 对象权限审计
C:\>sqlplus System@testdb
SQL> create table t(id int,name varchar2(10));
表已创建。
SQL> insert into t values(1,'a');
已创建 1 行。
SQL> commit;
提交完成。
SQL> audit select on t;          --审计所有select表t的操作
Select * From t                  --查询表t,产生审计记录
Select * From dba_obj_audit_opts --查看开启了哪些对象审计
Select * From dba_audit_trail    --查看审计跟踪的记录
audit select on t [By Session];  --按session进行审计,即同一session只记录一次
audit select on t By Access;     --每次访问记录一次审计
Audit All On t                   --审计表t的所有信息
3.Statement 语句审计             --针对SQL语句的特定关键字进行审计
Audit Table By a                 --a用户下对table进行操作进行审计
C:\>sqlplus a@testdb             --开启语句审计,需要被审计用户重新登录
SQL> create table tt(id int);
Select * From dba_audit_trail    --查看审计跟踪的记录
--关闭审计
Noaudit Table By a               --关闭审计,必须加相关条件,否则不起作用


--*****审计的维护
Select * From aud$               --审计的基表
Delete From aud$                 --为数不多的允许操作的系统表


--****强制审计
SYS用户登录的操作,都被强制审计
审计信息存放在系统文件中
(windows下,管理-系统工具-事件查看器-应用程序)
unix下,存放在 audit_file_dest 该系统属性指定的地址下 show parameter Audit 进行查看
windows审计类型为xml_extended时,也存放在audit_file_dest 该系统属性指定的地址下 如 C:\ORACLE\PRODUCT\10.2.0\Admin\TESTDB\ADUMP


--Fine-grained auditing(FGA) 精细粒度审计
C:\>sqlplus a@testdb   
SQL> create table t(id int,name varchar2(10),salary number default 1000);
Insert Into t Values(1,'a',1000);


begin
dbms_fga.add_policy (
object_schema => 'A',                    --审计的用户
object_name => 'T',                      --审计的对象
policy_name => 'audit_t_salary',         --给审计策略起名字
audit_condition=> 'id=1',                --审计id=1的
audit_column => 'SALARY',                --审计salary这一列
/*handler_schema => 'secure',              --审计时触发其他动作
handler_module => 'log_emps_salary',     --访问salary这一列时,同时触发secure下的存储过程log_emps_salary*/
enable => TRUE,
statement_types => 'SELECT' );
End;
/


Select * From dba_audit_policies         --可以看到新建的审计策略
C:\>sqlplus a@testdb   
Select * From t                          --用户a登录查询表t触发审计策略
Select Id,Name From t                    --没有访问敏感数据,不触发审计策略
Select * From dba_fga_audit_trail        --查看FGA审计到的信息
Select * From dba_common_audit_trail     --存放的Standard Audit普通审计和Fine Grained Audit精细粒度审计




--***********************
--***********************
--Configuring The Oracle Network Environment 配置网络
lsnrctl status    --查看监听的状态


/*监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.50)(PORT=1521)))
服务摘要..
服务 "testDB" 包含 2 个例程。
  例程 "testRID", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
  例程 "testrid", 状态 READY, 包含此服务的 1 个处理程序...
服务 "testDB_XPT" 包含 1 个例程。
  例程 "testrid", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功*/


配置服务命名时,服务名可以使用上面出现的服务的名字


监听的全局服务名改为testLSR
lsnrctl reload
lsnrctl status


/*监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.50)(PORT=1521)))
服务摘要..
服务 "testDB" 包含 1 个例程。
  例程 "testrid", 状态 READY, 包含此服务的 1 个处理程序...
服务 "testDB_XPT" 包含 1 个例程。
  例程 "testrid", 状态 READY, 包含此服务的 1 个处理程序...
服务 "testLSR" 包含 1 个例程。
  例程 "testRID", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功*/


配置服务命名时,服务名使用testLSR,可以通过  --tnsping testDB


testDB是当前service_name属性的值
SQL> show parameter serviece_name;
SQL> show parameter service
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      testDB


SQL> alter system set service_names=testDB,B,C;  --service_name属性的值增加B,C,最多允许64个值
SQL> show parameter service
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
service_names                        string      TESTDB, B, C


lsnrctl status


/*监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.50)(PORT=1521)))
服务摘要..
服务 "B" 包含 1 个例程。
  例程 "testrid", 状态 READY, 包含此服务的 1 个处理程序...
服务 "C" 包含 1 个例程。
  例程 "testrid", 状态 READY, 包含此服务的 1 个处理程序...
服务 "testDB" 包含 1 个例程。
  例程 "testrid", 状态 READY, 包含此服务的 1 个处理程序...
服务 "testDB_XPT" 包含 1 个例程。
  例程 "testrid", 状态 READY, 包含此服务的 1 个处理程序...
服务 "testLSR" 包含 1 个例程。
  例程 "testRID", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功*/


配置服务命名时,服务名使用B,C,可以通过
--******************* service_names的用途
1.
分别使用B和C创建服务命名
用不同的应用连接B和C,就可以区分B和C2个应用哪个占用的资源多


SQL> @C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\awrrpt.Sql  --生成报告
查看AWR报告就能区分一段时间内,B和C应用使用资源的对比


2.
集群环境,通过service_names确定哪个服务器的负载轻


3.
lsnrctl status下 状态 UNKNOWN的是监听配置出的静态服务信息,不一定通,作用是1.数据库shutdown的状态下,必须通过静态服务信息SYS用户连接;2.EM必须用静态服务信息
lsnrctl status下 状态 READY  的是动态服务信息,数据库启动后一定能连通
AWR报告中只能监控连接到动态服务信息的SESSION


--*******************

Create Table t_obj As Select * From dba_objects
Create Index idx_t_obj On t_obj(object_id)
Select Max(object_id),Min(object_id) From t_obj  --这个语句怎么优化

Select * From (Select Max(object_id) From t_obj)a,(Select Min(object_id) From t_obj)b


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15810196/viewspace-1130242/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15810196/viewspace-1130242/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库安全审计系统 数据库安全审计管理系统示意图   英文:Database security audit system   数据库安全审计系统主主要用于监视并记录对数据库服务器的各类操作行为,通过 对网络数据的分析,实时地、智能地解析对数据库服务器的各种操作,并记入审计数据 库中以便日后进行查询、分析、过滤,实现对目标数据库系统的用户操作的监控和审计 。它可以监控和审计用户对数据库中的数据库表 、视图、序列、包、存储过程、函数、库、索引、同义词、快照、触发器等的创建、修 改和删除等,分析的内容可以精确到SQL操作语句一级。它还可以根据设置的规则,智能 的判断出违规操作数据库的行为,并对违规行为进行记录、报警。由于数据库安全审计 系统是以网络旁路的方式工作于数据库主机所在的网络,因此它可以在根本不改变数据 库系统的任何设置的情况下对数据库的操作实现跟踪记录、定位,实现数据库的在线监 控,在不影响数据库系统自身性能的前提下,实现对数据库的在线监控和保护,及时地 发现网络上针对数据库的违规操作行为并进行记录、报警和实时阻断,有效地弥补现有 应用业务系统在数据库安全使用上的不足,为数据库系统的安全运行提供了有力保障。   一、数据库安全审计系统主要功能包括:   · 实时监测并智能地分析、还原各种数据库操作。   · 根据规则设定及时阻断违规操作,保护重要的数据库表和视图。   · 实现对数据库系统漏洞、登录帐号、登录工具和数据操作过程的跟踪,发现对数据库系 统的异常使用。   · 支持对登录用户、数据库表名、字段名及关键字等内容进行多种条件组合的规则设定, 形成灵活的审计策略。   · 提供包括记录、报警、中断和向网管系统报警等多种响应措施。   · 具备强大的查询统计功能,可生成专业化的报表。   二、数据库安全审计系统主要特点   · 采用旁路技术,不影响被保护数据库的性能。   · 使用简单,不需要对被保护数据库进行任何设置。   · 支持SQL-92标准,适用面广,可以支持Oracle、MS SQL Server、Sybase、Informix等多类数据库。   · 审计精细度高,可审计并还原SQL操作语句。   · 采用分布式监控与集中式管理的结构,易于扩展。   · 完备的"三权分立"管理体系,适应对敏感内容审计的管理要求。   三、数据库安全审计管理系统示意图 ----------------------- 数据库安全审计系统全文共2页,当前为第1页。 数据库安全审计系统全文共2页,当前为第2页。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值