通常,应用程序访问数据库,执行各种各样的业务SQL或者存储过程,都会对数据产生影响,为了使我们的数据库更加安全,都需要我们在对来访问的各种工具软件或者应用进行合理的管控或者授权,对他们所做的操作进行审计,这样才能增加数据库的安全性
我们都知道,想要执行一条SQl,首先要做的就是先登录数据库,不管是匿名还是有帐户的,都是要登录,登录也可以采用不同的软件,有开源的客户端软件,有数据库官方的软件,也有自己开发的软件,还有客户的应用系统,只要知道了账号密码,基本都可以登录进去,根据账号权限的不同,进去之后能做的事情也不尽相同。
那么问题来了,我们是否可以对数据库的登录进行控制呢?Oracle数据库提供了Logon Triger,在用户登录的时候会触发此事件,通过对此事件的重写,我们可以获取用户的基本信息,比如Ip地址,Username,登录时间,Appname等,这个可以为审计提供基础的数据信息,同时,在这个时段,也可以做一些权限控制,判断登录是否合法,不合法,也可以Kill掉这个Session。
登录成功以后,接下来就是做操作了,DML,DDL,Select等,我们通过Oracle的VPD策略技术,可以实现对Sql指令的重写,当然这个是你觉得他无权这样做的情况下,同时做审计,记录基础的数据,包括SQl语句,绑定变量等等。
通过以上两点,我们可以构建一个简单的数据库审计系统,这个有别于Oracle自身的系统日志,无法旁路掉,在此基础之上,我们可以对采集到审计数据进行分析,做报表,数据的查询量大的时候,我们都知道,首先建立索引,做表分区,但是当海量索引的时候,Oracle还是跑不动,可以采用全文搜索系统lucene,现在对其包装比较好的有Solr等。
其实,在CS客户端连接Oracle数据库的过程中,V$session里面是可以看到很多客户端的信息的,但是这个时候看到的信息也不足以断定到底是哪个真正的人,可以结合现在比较流行的CA认证系统,做一个CA签发的Server,配合Usbkey,采用拨号的形式,传递身份信息到数据库的上下文,同时拨号客户端还可以对客户端应用是否合法进行验证,防止假冒应用程序登录数据库。
既然这样,有人就会想先拨号上去,在杀掉我们的客户端监控程序,这样不就欺骗了服务端吗?所以,为了防止这一点,还需要有一套心跳系统,用来监控客户端的存活情况,可以借助Netty这个异步通信框架来帮助实现心跳功能。
相关推荐
【基于Oracle数据库的数据审计系统设计与实现】 在信息化迅速发展的今天,数据安全成为了信息系统的核心问题。Oracle数据库作为广泛使用的关系型数据库,其安全性和稳定性至关重要。数据审计是确保信息系统安全的...
【系统设计】基于Oracle数据库的审计分析系统由审计策略、数据预处理、记录分析和异常检测等模块组成。审计策略模块提供用户友好的界面,简化开启或关闭审计功能的操作。数据预处理模块将原始审计数据转换为挖掘友好...
### Oracle数据库审计详解 #### 一、概述 Oracle数据库审计是一项重要的安全措施,用于捕捉和记录发生在数据库中的各种活动,从而帮助管理员监控访问行为、确保数据安全并满足合规性要求。根据不同的需求,Oracle...
【标题】:基于Oracle数据库系统的内部审计管理信息系统研发 【描述】:本文主要探讨了如何利用Oracle数据库系统构建内部审计管理信息系统,以提升审计工作的效率和管理水平。 【标签】:Oracle 数据库,关系型...
在实施Oracle数据库审计时,需要注意的是,审计特性默认是关闭的,如果需要开启审计功能,管理员需要设置audit_trail参数的值,这可以通过管理控制台实现,也可以通过修改初始化参数文件init.ora来完成。 Oracle 11...
附件: 数据库审计系统需求说明 序号 指标项 具体要求 1 硬件指标 标准机架式设备,不少于 6个1000M电口,不少于 2个SFP光口(带SFP模块), 具备独立的管理口和 HA 口;可用磁盘空间不小于 2T;吞吐能力》2000M峰值处...
【Oracle数据库学生管理系统】是一个基于Oracle数据库的教育信息化解决方案,主要服务于管理员、教师和学生三类用户。系统的核心目标是实现高效、安全的信息管理和交流。 管理员在系统中的职责主要包括维护三大基本...
基于ORACLE数据库的安全访问控制管理系统的实现 本文讨论了基于ORACLE数据库的安全访问控制管理系统的实现。该系统的目的是为了实现集中化的访问控制和审计机制,保护企业信息管理系统中的重要领域。 首先,本文...
本文将详细介绍一个基于Oracle数据库的生产和测试数据库表结构对比工具,帮助你理解其工作原理和应用价值。 这个工具的主要目的是解决生产环境与测试环境之间数据库表结构不一致的问题。在开发过程中,开发者通常会...
安华金和数据库安全审计系统支持多种主流和专用数据库,包括Oracle、Microsoft SQL Server、MySQL、MariaDB、Percona、OceanBase、IBM Db2、Informix、Sybase IQ、Sybase ASE、Teradata、PostgreSQL、Greenplum、...
Oracle数据库是全球最广泛使用的商业关系型数据库管理系统之一,由美国甲骨文公司(Oracle Corporation)开发和维护。Oracle数据库以其高效、稳定和强大的功能在金融、电信、医疗、政府等多个领域得到广泛应用。本篇...
【标题】:“基于ORACLE数据库的医院信息系统正常运行的保障方法分析” 【描述】:文章主要探讨了如何保障基于ORACLE数据库的医院信息系统的稳定运行,通过对系统现存问题的分析,提出权限控制、硬件冗余和数据软件...
Oracle数据库是全球广泛应用的关系型数据库管理系统,因其强大的功能和稳定性而备受青睐。在数据库安全管理中,审计技术起着至关重要的作用,它能够追踪并记录数据库的活动,帮助管理员监控和识别潜在的安全威胁。...
Oracle数据库系统基于SQL标准,采用分布式数据库架构,支持多种数据类型,如数值、字符串、日期、二进制等。其主要组件包括数据库实例、表空间、数据文件、控制文件、重做日志文件等。数据库实例是内存结构与后台...
Oracle数据库是一种广泛应用于企业级应用的关系型数据库管理系统,以其高可靠性、高性能、高可伸缩性和高安全性著称。在经营分析系统中,Oracle数据库扮演着至关重要的角色,为企业提供强大的数据支撑,确保数据的...
基于Oracle数据库的学生信息管理系统通常采用B/S(Browser/Server)架构,即浏览器/服务器模式。用户通过Web浏览器访问系统,服务器端处理用户请求并返回结果。系统结构主要包括前端展示层、业务逻辑层、数据访问层...
【基于Oracle数据库的直升机故障诊断系统设计与实现】 在直升机的维护和安全运行中,故障诊断系统起着至关重要的作用。本文介绍了一种基于Oracle数据库的直升机故障诊断系统,该系统设计目标是针对直升机的故障检测...
本文主要介绍了一种基于Oracle数据库的电力企业信息系统的维护方法,旨在通过构建监控系统来增强数据库的安全级别,提高电力企业信息系统的稳定运行。 首先,我们了解到电力企业信息系统的数据库传统维护方式具有...
在Oracle数据库管理中,开启Audit(审计)是一项重要的安全措施,用于跟踪和记录用户活动、权限使用情况以及系统操作,以增强安全性并满足合规性要求。本文将深入探讨如何在Oracle环境中配置和使用Audit功能,包括...
【基于Oracle数据库的地面设备故障诊断系统】 在信息化和智能化高度发展的今天,地面设备的故障诊断系统对于确保设备正常运行和提高工作效率具有重要意义。本文详细介绍了利用Oracle数据库构建的一个地面设备故障...