数据库用户避开了LOGON_AUDIT触发器

简介: 为了防止从办公网络试用生产账号登陆生产主机非法获取用户信息(因为我们的生产账号是不作审计的,个人账号作审计,因此要避免生产账号从办公网络登陆主机),我们写了个LOGON_AUDIT的触发器,如下:CREATE OR REPLACE TRIGGER sys.

为了防止从办公网络试用生产账号登陆生产主机非法获取用户信息(因为我们的生产账号是不作审计的,个人账号作审计,因此要避免生产账号从办公网络登陆主机),我们写了个LOGON_AUDIT的触发器,如下:

CREATE OR REPLACE TRIGGER sys.LOGON_AUDIT 
  AFTER LOGON ON DATABASE 
  declare 
  lv_user varchar2(100); 
  lv_host varchar2(100); 
  lv_schema varchar2(100); 
  lv_suser varchar2(100); 
  lv_ip varchar2(100); 
  BEGIN 
  select sys_context(‘USERENV’, ‘HOST’), 
  sys_context(‘USERENV’, ‘CURRENT_USER’), 
  sys_context(‘USERENV’, ‘CURRENT_SCHEMA’), 
  sys_context(‘USERENV’, ‘SESSION_USER’), 
  sys_context(‘USERENV’, ‘IP_ADDRESS’) 
  into lv_host, lv_user, lv_schema, lv_suser, lv_ip 
  from dual; 
  if lv_suser = ‘USERNAME’ then 
  if substr(lv_ip, 1,  in (‘xx.xx.xx’) 
  or lv_ip is null 
  then 
  null ; 
  else 
  RAISE_APPLICATION_ERROR(-20001, ‘CONNECTIION REFUSED’||lv_ip); 
  end if; 
  end if; 
  END;

  测试的时候,通过,可是在正式使用中,却发现有的生产主机没有办法拒绝办公网络的登陆.那就查问题呗.

  查来查去,发现似乎应该是权限的问题.在检查,发现凡是不能拒绝办公网络登陆的数据库用户有一个IMP_FULL_DATABASE的角色.这个角色的权限非常的高,仔细检查这个角色的权限,发现其中有一个权限为:ADMINISTER DATABASE TRIGGER,将这个权限从用户上revoke后,登陆就会被拒绝,如果将这个权限授予用户,就会避开系统的LOGON_AUDIT触发器,能继续登陆,问题是找到了,啥时候能重新授权列,只能等待,慢慢的等到系统上线或者例行维护的时候了,这个权限的重新授予风险还是很高的.不过问题找到了就ok.

目录
相关文章
|
1月前
|
存储 SQL 数据挖掘
视图、触发器和存储过程:提升数据库功能
视图、触发器和存储过程:提升数据库功能
19 1
|
1月前
|
存储 SQL 关系型数据库
【MySQL 数据库】10、MySQL 的触发器
【MySQL 数据库】10、MySQL 的触发器
20 0
|
8月前
|
存储 SQL 关系型数据库
MySQL存储过程与触发器:提升数据库操作效率与数据一致性
本文深入探讨了MySQL数据库中的存储过程与触发器,通过丰富的代码示例,详细介绍了存储过程的定义与调用、参数与变量的应用,以及触发器的创建、使用和实际案例。存储过程作为预定义的一组SQL语句,能够提高数据库操作的效率,实现数据逻辑和复杂计算。同时,触发器作为在特定事件触发时自动执行的SQL语句,能够保障数据一致性和逻辑完整性。通过代码实例,读者将了解如何创建、调用存储过程,如何利用参数和变量进行数据处理,以及如何创建触发器并应用于实际场景。这些技术将使读者能够在数据库管理中更高效地进行操作和保障数据的完整性,为应用程序提供可靠的数据支持。
184 0
|
4月前
|
存储 SQL 定位技术
数据库基础(五):存储过程与触发器的创建、执行、修改、删除
数据库基础(五):存储过程与触发器的创建、执行、修改、删除
|
9月前
|
存储 SQL 安全
数据库SQL Server 9-10 章(存储过程与触发器)
数据库SQL Server 9-10 章(存储过程与触发器)
151 0
|
9月前
|
存储 SQL 数据库
数据库视频第十章触发器
数据库视频第十章触发器
|
4月前
|
SQL 存储 关系型数据库
Mysql数据库 13.SQL语言 触发器
Mysql数据库 13.SQL语言 触发器
55 0
|
7月前
|
存储 SQL Oracle
数据库中存储过程和触发器有什么区别?
数据库中存储过程和触发器有什么区别?
105 0
|
8月前
|
存储 SQL 关系型数据库
数据库触发器
数据库触发器
111 0
|
9月前
|
存储 SQL 监控
MySQL数据库,从入门到精通:第十七篇——MySQL 触发器的使用方法及注意事项
MySQL数据库,从入门到精通:第十七篇——MySQL 触发器的使用方法及注意事项
146 0

热门文章

最新文章