当前位置: 首页 > news >正文

oracle 如何使用脚本实现访问控制(无需额外插件)

随着这些年勒索病毒的爆发,各个企业对数据安全的要求越来越高,常见的办法有开启数据库审计,加数据库防火墙,网络限制等等;但是细粒度审计会消耗大量系统资源,第三方数据库防火墙一般是需要收费的;这里介绍我个人常用的四个db级别trigger,用于记录部分关键信息可以应对部分审计需要。

  • logon 成功信息

session logon后触发 记录登陆session的IP,machine,program,username,logontime等关键信息
PS:如果负载很高的DB 这个trigger请谨慎使用,数据量可能会很大,也可能会对登陆的时效产生部分影响

-- Create table
create table SYS.A_DB_SUCCESSFUL_LOGINS
(inst_id    NUMBER,username   VARCHAR2(30),osuser     VARCHAR2(30),machine    VARCHAR2(64),terminal   VARCHAR2(30),ipaddr     VARCHAR2(30),program    VARCHAR2(48),module     VARCHAR2(48),isdba      VARCHAR2(10),logon_time DATE
)---CREATE TRIGGER
CREATE OR REPLACE TRIGGER SYSTEM.a_db_successful_login_trgAFTER logon ON DATABASEDECLAREv_inst_id    a_db_successful_logins.inst_id%TYPE;v_ipaddr     a_db_successful_logins.ipaddr%TYPE;v_logon_user a_db_successful_logins.username%TYPE;v_machine    a_db_successful_logins.machine%TYPE;v_terminal   a_db_successful_logins.terminal%TYPE;v_osuser     a_db_successful_logins.osuser%TYPE;v_program    a_db_successful_logins.program%TYPE;v_module     a_db_successful_logins.module%TYPE;v_isdba      a_db_successful_logins.isdba%TYPE;
/************************************************************************name:  a_db_successful_login_trgpurpose: log and check the database LOGON action.revisions:ver        DATE         author           description1.0        2012         xiaoxiangqin      record logon info---------  ----------  ---------------  ---------------------------------************************************************************************/BEGIN-- read the contextv_inst_id    := sys_context('USERENV','INSTANCE');v_osuser     := sys_context('USERENV','OS_USER');v_machine    := sys_context('USERENV','HOST');v_terminal   := sys_context('USERENV','TERMINAL');v_ipaddr     := sys_context('USERENV','IP_ADDRESS');v_logon_user := sys_context('USERENV','SESSION_USER');v_isdba      := sys_context('USERENV','ISDBA');
--cut strange char for windows server.v_machine := REPLACE(v_machine,chr(0),'');IF v_machine <> sys_context('USERENV','SERVER_HOST
http://www.lryc.cn/news/307387.html

相关文章:

  • 【C语言】指针初阶
  • 07_html
  • 全量知识系统问题及SmartChat给出的答复 之1
  • 【appium】App类型、页面元素|UiAutomator与appium|App元素定位
  • ChatGpt大模型入门
  • Mac 配置Clion Qt 调试显示变量值
  • 【Ansys Fluent Web 】全新用户界面支持访问大规模多GPU CFD仿真
  • 13.云原生之常用研发中间件部署
  • 远离远程代码执行 ,RPC 运行时中的三个漏洞是如何被发现的?
  • 零基础学python之高级编程(4)---python异常类型及其类型处理
  • 如何实现三维模型在网页/手机端/APP上的展示与分享?
  • SpringBoot项目在进行部署打包的时候,打包成jar和war有何差异?
  • ARM系列 -- 虚拟化(四)
  • QT GUI编程常用控件学习
  • 【Python从入门到进阶】49、当当网Scrapy项目实战(二)
  • flutter build ipa 打包比 xcode archive 打出的ipa包大
  • B端系统:巧妙地容错和防错设置,减少用户操作错误
  • BIO实战、NIO编程与直接内存、零拷贝深入辨析
  • PDF文件转换为图片
  • 【Java程序设计】【C00317】基于Springboot的智慧社区居家养老健康管理系统(有论文)
  • Vue3前端实现一个本地消息队列(MQ), 让消息延迟消费或者做缓存
  • 普中51单片机学习(8*8LED点阵)
  • Python 实现Excel自动化办公(上)
  • DayDreamInGIS 之 ArcGIS Pro二次开发 图层属性中换行符等特殊字符替换
  • RK3568平台 RTC时间框架
  • 番外篇 | YOLOv5+DeepSort实现行人目标跟踪检测
  • 认识Sass
  • YOLOv9-Openvino和ONNXRuntime推理【CPU】
  • AIGC 架构:RAG (retrieval augumented generation) 应用可以使用 PostgreSQL 作为向量数据库组件吗?
  • leetcode:134.加油站