市面上出现的两种数据库审计技术有何差别

本文涉及的产品
云解析 DNS,旗舰版 1个月
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
简介:

在日渐火热的数据库安全领域,数据库审计应该是应用最为广泛,用户接受度最高的产品了,没有之一。

市面上出现的两种数据库审计技术有何差别

本文将对目前数据库审计市场上的两类技术路线进行分析,从使用效果出发,浅析两者在各维度的审计效果上存在哪些差异,呈现产品真正能实现的功能和价值。希望能为广大用户在数据库审计产品的选型上提供参考依据。

概括来讲,两类数据库审计的技术路线区别,根本来自于两者的部署方式、获取数据库访问记录的途径不同以及SQL解析方式不同,审计效果自然不同。

旁路式VS植入式

旁路式VS植入式

从5个衡量维度看技术路线的差异

衡量两种技术路线的差异,可以从两类产品在真实测试中的功能表现上能够更直观的呈现。下面从5个主要的衡量维度来看基于两类技术路线的审计效果表现,这几个维度也是业内对专业数据库审计产品评判中普遍遵循的主要衡量指标。

1. 审计结果全面性的表现

旁路式:通过镜像流量或探针的方式进行全流量采集,基于全量数据库流量进行语句和会话分析,再通过对sql语句的协议解析,能够审计到客户端信息,返回结果集。这种采集方式首先对数据库类型不挑剔,均可支持,并且能够审计到普通用户和超级用户的访问行为。

植入式:属于注册代理程序的“侵入式”审计,利用数据库的自审计插件(如Oracle的FGAC插件),读取数据库自审计日志,依赖的是数据库自身审计能力,这里有一个很大的问题,如果数据库自身不具备审计能力,那么这类数据库审计产品就无法支持对此类型数据库的审计;并且,数据库自审计功能一般只提供增、删、改、查语句和部分数据定义语句,无法提供全操作类型的审计,也无法完整审计结果集。不过从另一个角度来看,植入方式也有其亮点——本地操作的审计,这些不通过网络的流量,传统的流量镜像方式捕获不到,不过旁路式的审计,也可以通过增加rmagent,实现这项功能。

2. 审计结果准确性的表现

前面提到,两者对数据库访问的采集方式不同,这决定了两者在审计结果准确性上的差异表现。

旁路式:由于是基于全流量的审计,如果能配合sql语句的协议解析和特征捕获等技术,可以准确关联语句和会话,进行精确的审计结果查询分析能力;准确关联应用用户与SQL语句,这样可以实现对业务行为的审计。在此基础上形成的规则库,也能够更准确的识别风险访问及漏洞攻击行为。

植入式:由于是基于正则表达式完成SQL语句规则,无法基于通讯协议解析命中语句规则,在实际工作中,会导致语句和会话无法关联,不能按照会话进行语句梳理汇总,那么会缺乏连贯分析能力;并且,由于不是基于流量和协议的SQL语句解析,对于目前用户普遍要求的应用关联审计,也无法实现。

3. 检索及入库速度的表现

基于SQL语句的获取方式不同,两者在检索及入库速度方面也会存在差异表现。

植入式:由于原始审计信息是记录在数据库中的,需要定期获取到审计设备上,这其中可能产生较大的延迟。另一方面,开启数据库自审计功能本身会占用大量内存,如果遇到高压力并发的情况,会拖慢数据处理能力,连累正常业务访问。

旁路式:旁路镜像流量的方式对应用到数据库的访问完全透明,不会产生影响,这也是目前市面上大多数审计厂商如安华金和等,选择旁路镜像方式,配合精确SQL解析技术来实现审计高可用性的主要原因之一。

4. 关于存储空间的占用表现

旁路式:由于是镜像方式获取流量,对于审计产品本身的存储优化能力有一定要求,但不会影响数据库服务器本身的存储空间,需要考量对比的是产品本身能否提供归一化技术和压缩存储技术,以节约存储空间。

植入式:由于需要开启自审计功能,需要占用大量数据库本身的存储空间,如果同时缺乏SQL归一技术,那么在大数据处理情况下,数据库本身的硬盘空间就会非常紧张。

5. 产品易用性方面的表现

两者在配置和操作的易用性方面也存在较大差异。

植入式:数据库审计产品在注册实例的时候,需要手工输入IP端口数据库实例,还需要sys用户及口令,向数据库中注册用户及程序。另一方面,如果是基于正则式的规则配置,需要数据库管理人员具备一定的技术能力,深度参与规则和策略的配置定义。

旁路式:由于是基于数据库流量的语句语法解析,可以自动识别并添加审计数据库;更专业的产品应能够基于解析结果,从风险、语句、会话三个维度进行深度解析,维度之间相互关联、多重钻取分析,这样用户可以对数据库的整体安全状态有更直观的判断。

目前,市场上的数据库审计产品多以旁路镜像方式为主,但也出现了采用植入式技术路线的产品。从表面来看都能够实现数据库访问行为的审计,但在审计效果及用户体验上存在显著的差异,用户需要在产品选型时更多关注产品的核心技术路线,以避免在实施部署后,为信息管理工作带来麻烦。


原文发布时间为:2017-11-02

本文作者:安华金和

本文来自云栖社区合作伙伴51CTO,了解相关信息可以关注51CTO。

目录
相关文章
|
10天前
|
前端开发 Java Go
新一代数据库技术的崛起与应用前景
本文探讨了新一代数据库技术在不同领域的崛起和应用前景。通过对前端、后端、Java、Python、C、PHP、Go等多种类型的技术进行分析,我们揭示了新一代数据库技术的优势和特点,并展望了其在未来的发展趋势。本文旨在为读者全面了解新一代数据库技术提供参考和指导。
|
2天前
|
Java 数据库连接 API
后端开发之用Mybatis简化JDBC的开发快速入门2024及数据库连接池技术和lombok工具详解
后端开发之用Mybatis简化JDBC的开发快速入门2024及数据库连接池技术和lombok工具详解
10 3
|
2天前
|
监控 Java 数据库连接
Java开发者必读:连接池技术如何提升数据库连接效率
【6月更文挑战第24天】Java开发中,面对高并发的数据库访问,连接池技术成为性能优化的关键。它预先创建连接池,减少频繁的连接创建/关闭,提升响应速度,节省资源,并增强系统稳定性。例如,HikariCP连接池通过配置实现DB连接管理,简化代码并提升应用性能。
|
10天前
|
SQL 存储 NoSQL
SQL与NoSQL数据库的选择:技术与场景驱动下的决策
【6月更文挑战第16天】**SQL vs NoSQL数据库:技术与应用场景比较。SQL数据库以其关系模型、ACID特性、灵活查询及事务处理见长,适合结构化数据和强一致性场景。NoSQL则以数据模型灵活性、高可扩展性、高性能及低成本著称,适合大数据、高并发和快速迭代的需求。选择应基于业务需求、数据特性、系统架构和成本。**
|
2天前
|
SQL Java 数据库连接
打破瓶颈:利用Java连接池技术提升数据库访问效率
【6月更文挑战第24天】Java连接池优化数据库访问性能,减少资源消耗。原理是预创建数据库连接池,复用连接而非频繁建立断开。优势包括性能提升、资源节约和增强稳定性。示例使用HikariCP配置连接池,动态获取和释放连接。通过连接池技术,应用能更高效地处理数据库操作。
|
2天前
|
Java 数据库连接 数据库
优化之路:Java连接池技术助力数据库性能飞跃
【6月更文挑战第24天】Java连接池技术优化数据库性能,减少连接开销,提高响应速度。常见库有HikariCP、C3P0、DBCP。选择时考虑性能、功能和稳定性。以HikariCP为例,配置包括设置URL、用户、密码和最大连接数。优化配置涉及最大连接数调整、连接超时及连接校验。连接池能提升应用效率,确保资源有效利用。
|
2天前
|
SQL Java 关系型数据库
探索Java数据库连接的奥秘:JDBC技术全攻略
【6月更文挑战第24天】Java的JDBC是连接数据库的标准,提供统一API访问多种数据库。本文涵盖JDBC的基本概念、核心组件(如DriverManager、Connection、Statement、PreparedStatement和ResultSet)和最佳实践。示例展示了如何用JDBC连接MySQL,执行查询并处理结果。最佳实践包括使用PreparedStatement防SQL注入,妥善管理资源,处理异常,使用事务以及优化性能。了解和掌握JDBC能提升数据库操作的效率和安全性。
|
2天前
|
SQL 数据库 数据库管理
逆向学习数据库篇:多表查询技术详解
逆向学习数据库篇:多表查询技术详解
4 0
|
2天前
|
SQL 监控 Java
技术实战:Java数据库连接池优化策略解析
【6月更文挑战第24天】Java应用的数据库连接池优化关键在于参数调整、预编译SQL和监控。案例中,高并发购物系统初期使用C3P0,因参数不合理导致性能瓶颈。调整如设置`MinPoolSize`为10,`MaxPoolSize`为50,和`CheckoutTimeout`为3000ms,配合预编译SQL提升执行效率。通过JMX监控连接池状态,动态调优,确保系统响应速度和资源利用。
|
2天前
|
SQL Java 关系型数据库
Java与数据库连接技术JDBC关键核心之PreparedStatement以及SQL注入演示解决和原理
Java与数据库连接技术JDBC关键核心之PreparedStatement以及SQL注入演示解决和原理
7 0

热门文章

最新文章