如何选择适合的数据库本地访问审计技术?

安全 应用安全 数据安全
数据库运维人员(DBA)在开展日常运维工作的过程中,因操作环境和规范要求的不同,其访问数据库的方式也相对灵活——既可以通过网络远程访问,也可以进行本地访问。

数据库运维人员(DBA)在开展日常运维工作的过程中,因操作环境和规范要求的不同,其访问数据库的方式也相对灵活——既可以通过网络远程访问,也可以进行本地访问。那么问题来了...

[[431720]]

什么是数据库本地访问?

简单描述,就是在一台主机上同时运行应用/客户端和数据库系统的操作行为。

如何进行数据库本地访问?

行为1:本地回环访问

行为2:本地IPC访问

需要强调的是:由于本地IPC访问是进程间通讯,不产生流量,因而常规审计技术无法完成此类审计工作。针对这种DBA常用的本地访问行为,为确保数据库及数据的安全,需要一种能够进行完整、高准确度的审计技术支撑!

如何选择本地IPC访问行为审计技术?

针对本地IPC访问行为,目前可以采用的审计技术为:SSH审计(远程登录审计的一种方式)和本地审计。下文从完整性、准确性、IT环境影响、兼容数据库四个方面,对SSH审计技术和本地审计技术进行了对比分析。

一、审计完整性对比

DBA在进行本地访问时,常会用到多种方式登录数据库服务器,执行的命令也呈现多样化。正因如此,完整捕获运维人员的全部操作及相关数据信息,确保审计工作无漏审、不被绕过,已成为当前客户选择审计产品时的一项重要技术指标。

1. SSH审计

通过捕获SSH工具上的数据通讯包进行审计,会出现流量被绕过和漏审的问题。

(1)SSH审计被绕过:因捕获到的流量仅为通过SSH工具的流量,会出现被绕过的问题。

场景示例1:SSH审计被绕过

(2)SSH审计漏审:因捕获到的流量仅为交互时发出的命令及屏幕回显信息,会出现审计信息的缺失。

场景示例2:SSH审计漏审

DBA通过SSH登录到数据库服务器后执行运维SQL脚本,如果此时脚本不向屏幕输出SQL语句,那么使用SSH审计就只能捕获执行结果,却无法捕获所执行的SQL语句,从而出现漏审问题。

2. 本地审计

在客户端程序通讯过程中,采用插件技术获取share memory和IPC的通信内容,有效避免了漏审或被绕过的情况发生,从而实现面向本地访问方式的完整审计。

二、审计准确性对比

在运维场景中,使用客户端工具运维数据库时,客户端返回的结果集数据往往是由符号“+”、“_”、“|”在命令行终端画出的简易表格。在SQL解析时,如果不能对结果集中包含的特定字符与终端制表符号进行准确区分,就会导致解析不准确,最终影响审计的准确度。

1. SSH审计

若在结果集中包含了“|”等特定字符,就可能在协议解析时与终端制表符号混淆,导致解析不准确。

2. 本地审计

获取通讯包流量,并基于精准协议对通讯包流量进行解析,不涉及与终端制表符号混淆的问题。

三、IT环境影响情况对比

数据库审计产品作为第三方数据库安全产品,不应对数据库IT环境产生影响。

1. SSH审计

由于SSH是加密协议,要做SSH审计就需要具备解密SSH通信的技术能力。目前,业界采取的各类方式对数据库IT环境都有较大影响,具体情况如下:

  • 中间人劫持:这种方式允许在客户端(SSH工具)和服务端(数据库服务器)之间插入中间人,获取到客户端与服务端之间全部的通信数据,存在网络变更。
  • 旁路解析:DBA在抓取SSH流量后对其进行解密和分析,需要获取服务端的公钥和私钥,对网络环境的安全性存在较大影响。需要注意的是,SSH协议常用的加密算法有RSA算法和DH算法。其中,DH算法应用动态交换密钥,生成共享密钥。在目前情况下,SSH审计技术无法保证能够破解此密钥。
  • SSH嗅探:该方式通过在数据库服务器上驻留一个特权用户(如root用户)创建监听进程,以监听此服务器上的全部SSH连接,从而获取数据库的操作信息,该方式存在一定的安全漏洞。
  • 工具后门:通过在运维工具内植入后门代码,将抓取工具的输入、输出信息并发送至审计设备,多用于客户使用统一运维工具的场景,该方式同样存在安全隐患。

2. 本地审计

不改变客户原有的行为习惯和网络环境,不会对数据库网络环境安全造成影响。

四、兼容数据库情况对比

对于数据库本地行为审计,应考虑其是否适配数据库本身。在这方面,SSH审计和本地审计均可适配当前主流的数据库及操作系统。

1. SSH审计

通过SSH协议进行审计,不需要适配数据库,所以支持的数据库会更加全面;操作系统方面,除不支持Windows系统上的SQL Server数据库审计之外,一般情况下都不需要适配。

2. 本地审计

可根据不同的数据库类型/版本、不同的本地访问方式,以及所使用客户端情况等进行适配。目前,本地审计产品需考虑适配国内外主流数据库及Linux、Unix、Windows等操作系统(特殊类型/版本的数据库及操作系统还需进一步适配)。

【本文是51CTO专栏作者“安全牛”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】

戳这里,看该作者更多好文

 

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2011-03-23 15:34:57

数据库审计

2011-05-25 09:32:45

数据库

2020-10-08 18:29:43

数据安全数据库审计数据库安全

2010-12-27 16:18:59

本地元数据库

2024-07-09 08:27:30

2011-05-19 11:33:38

数据库访问速度

2017-11-29 17:51:16

数据

2010-05-13 14:14:45

2011-08-02 15:04:49

2010-12-29 09:50:06

数据库安全审计数据库审计

2010-03-22 19:41:00

2010-12-29 09:46:32

2009-12-18 17:20:24

ADO数据库

2024-03-28 09:00:00

NoSQL数据库

2011-03-02 17:09:20

2023-04-03 08:00:00

数据库NoSQL

2014-07-15 14:39:13

甲骨文

2010-04-29 11:53:42

Oracle数据库

2020-06-17 15:01:30

物联网数据库物联网数据库

2017-06-19 16:20:09

数据库性能工具
点赞
收藏

51CTO技术栈公众号