1、  简介

在这个万物互联的时代,任何一家企业的发展都离不开数据,数据是每一个互联网企业的核心资产。在互联网安全事故频发的今天,如何保护企业的数据资产安全,避免客户隐私泄露,是每一家企业都重点关注和防范的问题。总之,数据安全问题是如何强调都不为过的。

数据的保存和访问离不开数据库软件,数据库作为数据集中存放的区域,数据库的安全防范就显得尤为重要。数据库审计系统也称为dbAudit(后续均使用dbAaudit指代数据库审计系统),主要用于数据库的安防控制,它的主要功能是对数据库的操作进行实时监控和记录,用于事后的分析和问题追溯。目前,大部分数据库都内置了审计功能,但一般都仅支持SQL记录回溯,功能较为局限。外置的数据库审计系统不仅可同时对多种数据库进行SQL回溯还兼具有过滤并阻断危险操作、检测SQL注入等功能;审计系统在侦测到数据库发生危险操作时能及时阻断数据库的连接,另外,还可在检测到可能的非法操作时发起实时的邮件或者短信告警,避免数据遭受破坏以及敏感数据的泄漏。

随着国产数据库软件的成熟,包括星瑞格、安华金和、启明星辰等多家国产数据库企业都发布了自己的数据库审计系统。其中星瑞格是一家成立自2015年的国产数据软件,在数据库行业深耕多年,发布了包括SinoDB、dbSonar、SinoRepl以及dbAudit等多个数据库相关软件,覆盖多种数据库使用场景,针对客户痛点,提供了完善的解决方案。其中的dbAudit软件提供丰富的数据库软件审计支持,包括Informix、Oracle、DB2、Sybase、MS SQL, MySQL, MariaDB、MongoDB、 PostgreSQL, Greenplum及国产数据库SinoDB、达梦、人大金仓等,同时在支持在多种操作系统如Unix, Linux以及windows上进行部署和审计。

2、  dbAudit的数据捕获原理

不论是哪家数据库企业的数据库审计系统,其进行数据捕获基本原理都是相同的,主要存在如下三种方式:

(1)数据流量镜像:通过交换机将数据库操作报文镜像到解析模块进行数据的解码分析。如图一所示的一种旁路部署方式。

图 1 一种镜像方式的旁路审计部署方式

(2)探针模块安装:该方法通过在与数据库同一主机安装Agent模块,对数据库流量进行监控并转发给数据解析模块。如下图二所示的一种采用探针进行数据捕获的网络拓扑。

图 2 一种采用探针进行数据捕获的网络拓扑

(3)反向代理:这种方式下客户端不直接与数据库服务器通信,客户的数据库请求消息和数据库返回给客户的消息都经由数据解析模块进行转发。

前两种数据捕获方式都属于旁路部署的方式,采用这种方式不需要对现有的数据库的部署方式进行改造,不论对客户还是对数据库来说,都没有直接影响,属于透明部署,目前大部分的数据库审计系统都采用这种方式进行安装。此外,采用探针模块安装的方式适用于网络拓扑较为复杂的场景,适应范围更广。

3、  dbAudit解析数据库的传输数据

dbAudit系统在进行数据库传输协议的解析时,如果数据库使用明文传输,dbAudit在捕获数据传输报文后,对报文进行数据库协议的解析,之后记录数据库的操作,最后根据用户的设定执行相关策略;但是目前除了部分仅允许在内网进行访问且对性能要求较高的数据库网络部署场景,大部分数据库都配置使用了加密的数据传输,在数据库加密场景下,dbAudit需要对加密数据解密之后才能进行数据库协议的解析。数据库传输过程的加密一般使用的都是传输层安全(Transport Layer Security,TLS)协议,不同的数据库根据目前的支持请客使用的版本存在差异。

(1)  传输层安全TLS

为了避免传输数据被非法监听,大多数数据库都支持对传输过程加密。数据库的传输过程加密一般使用TLS进行加密。TLS是一种安全协议,为互联网通信提供安全以及数据完整性保障。TLS协议采用主从式架构模型,用于在两个应用程序之间通过协商建立加密的安全连接,避免应用程序之间数据传输被窃听和篡改。

我们经常用SSL(Secure Socket Layer, 安全套接层)来指代TLS,但目前大部分流行的数据库厂商都已经不再使用SSL进行加密,实际使用的都是TLS。TLS1.0和TLS1.1分别在1999年和2006年发布,并于2021年弃用,目前较为通用的是TLS1.2,包括Sap HANA、SQL Server、Oracle。部分数据库已经同步更新支持TLS1.3,如Mysql 8.0、Postgresql。

(2)  dbAudit对加密数据的解析

(2-1)TLS1.2以及之前版本的数据解密方法

对于应用TLS1.2以及之前版本的数据库,一般的方法是提前将服务器的私钥导入到dbAudit系统中,通过对Server的IP进行匹配到提前导入的密钥,监控客户端和服务器的密钥协商过程,根据配置的私钥解码出生成的随机数,之后得到此次会话的共享对称密钥。最后,便可利用该密钥进行加密传输报文的解析,进一步根据数据库协议解析出执行的SQL语句等。如上方式一般适用于采用RSA作为密钥交换的协商过程。

利用这种方法的特点是,该加密方式不具备前向安全性,只要拥有私钥文件,就可以对历史的记录数据报文进行解码。TLS1.2所支持多种不具有前向兼容性的加密套件,因此,随着对安全需求的升级,IETF组织在2018年发布了新的TLS1.3版本。

旁路监听由于不需要对现有的网络拓扑进行较大改造,仅需要监听交互报文,具有入侵性小,安装方便的特点。

(2-2)TLS1.3的数据解密方案讨论

TLS通常会在服务器和客户端之间进行协商选择使用的密码套件,并根据选择的密钥交换算法生成用于后续加密传输数据的对称密钥。在2018年公布的TLS1.3协议中,IETF组织重新定义了所使用的身份验证和密钥交换算法,其所使用的密钥交换算法大部分基于Diffie-Hellman算法,其原理是利用离散对数进行密钥的协商,当其中参与协商的参数足够大时(超过100位),对当前的人类资源来说,是一种不可破解的算法,能够给数据传递提供足够的安全性。

当数据库选择TLS1.3进行数据传输的加密保护时,TLS1.3基于安全的考虑,放弃了许多不安全和过时特性的支持,采用临时密钥来保证完善的前向安全性,应用在每次建立连接进行会话协商时,服务器都会重新生成的协商参数。这样,dbAudit在使用旁路镜像进行数据捕获的场景下,即使知道此次会话的协商参数,也无法成功对后续和之前的加密数据进行解码。

在无法通过导入密钥的方式进行数据解码时,dbAudit一般采用反向代理的方式进行数据解析。反向代理即使用dbAudit作为客户端和服务器的中间商,dbAudit分别与客户端和服务器建立连接,数据经由dbAudit进行解密和重新加密,再转发给目的主机。

这种方法的特点是可选择任何加密套件进行传输,并保证足够的安全性,但由于数据在从数据库客户端和数据库服务器传输的过程中经历了两次加解密转换,对于数据量较大的场景,不可避免地影响了数据存储的性能,且这种方式不可避免地需要修改网络拓扑,对整个网络具有一定的入侵性,增加了部署的难度。

数据库审计系统在加密传输场景下的应用(SinoDB)相关推荐

  1. 数据库审计系统在加密传输场景下的应用-SinoDB

    1.  简介 在这个万物互联的时代,任何一家企业的发展都离不开数据,数据是每一个互联网企业的核心资产.在互联网安全事故频发的今天,如何保护企业的数据资产安全,避免客户隐私泄露,是每一家企业都重点关注和 ...

  2. snmp获取交换机日志_日志审计系统和数据库审计系统的区别

    今天就易混淆的日志审计系统与数据库审计系统进行辨析.从日志审计系统和数据库审计系统的技术特点和原理来切入,来分析日志审计系统与数据库审计系统的异同. 01.日志审计系统 系统日志 系统日志是记录系统中 ...

  3. 数据安全入门产品——数据库审计系统详解

    文章目录 前言 1.数据库审计系统为什么会出现? 1.1合法权限滥用的监控需求 1.2高危操作访问数据库的监控 1.3安全合规需求 2.数据库审计系统是什么? 3.技术原理 4.性能指标参考 5.部署 ...

  4. 数据库审计系统-数据库安全审计工具

    安华金和数据库审计系统是基于数据库通讯协议准确分析和SQL完全解析技术的数据库安全审计系统.主要目的是对数据库操作.访问用户及外部应用用户的审计,可以用于安全合规.用户行为分析.运维监控.风控审计.事 ...

  5. 数据库服务器审计系统部署方式,数据库审计系统D2020,agent方式审计如何配置...

    客户端(101.1.12.2): 用于访问数据库审计系统管理界面,进行数据库审计系统的相关配置. 数据库审计系统: 管理口IP(183.1.10.52):被访问的,实现数据库审计系统的管理. 业务口I ...

  6. 数据库审计系统提供服务器,数据库审计系统通用解决方案

    背景需求: 根据对其业务系统.数据中心的数据库系统的威胁与风险分析,用户数据库安全需求主要集中在以下方面:对一般操作行为如数据库的登录.注销动作,特定的操作如对数据表的插入.删除.修改,执行特定的存贮 ...

  7. 数据库审计系统基本原理与部署方式

    数据库审计系统简介 什么是数据库审计? 数据库审计是记录数据库被访问行为的日志系统. 访问数据库的一般有两种行为,一种是应用服务区的访问,一种是数据库运维人员的访问. 数据库审计(简称DBAudit) ...

  8. 绿盟数据库审计系统hive_数据库审计系统

    产品简介: 中安威士数据库审计系统(简称VS-AD),是由中安威士(北京)科技有限公司开发的具有完全自主知识产权的数据安全防护产品.该系统通过监控数据库的多重状态和通信内容,不仅能准确评估数据库所面临 ...

  9. 数据库审计系统 mysql_数据库审计系统

    1.协议全面识别 系统全面支持主流数据库,包括Oracle.SQL server.DB2.Mysql.Informix.Sybase.PostgreSQL .人大金仓.达梦DM.神通OSCAR.南大通 ...

最新文章

  1. IF执行批处理程序中的条件处理:
  2. 使用训练数据结构代替注意力机制之训练一个小说
  3. POJ 图算法(3)
  4. 查看resnet101的网络结构
  5. server2008 sql 账号只读权限_SQL Server 2008数据库创建用户只读权限的两种方式(转载)...
  6. 《构建之法》--阅读(第13章-第17章)
  7. 学习:配置hibernate
  8. python实训报告5000字_20193420 实验一 《Python程序设计》实验一报告
  9. 2017百度之星资格赛:1001. 度度熊保护村庄(floyd最小环)
  10. 【Django 2021年最新版教程3】新建一个WebApp项目并运行
  11. 比特币 以太坊 真的是去中心化的吗?
  12. 传输层协议(7):滑动窗口(1)
  13. Win7 便签设置字体方法
  14. CSS3实现缺角矩形,缺角边框以及折角矩形
  15. Python模拟轮盘抽奖游戏
  16. 计算机组成原理分部实验,《计算机组成原理》课程建设的一点思考参考.pdf
  17. 一个月黑风高的夜晚紧急完成gitlab服务器数据迁移
  18. 17.机器比人更需要通证
  19. HFS,超好用的本地文件分享利器
  20. 时空大数据要把握“后发优势”

热门文章

  1. android的apk加壳工具对比
  2. 每日一学:Python 将时间戳转换为指定格式日期
  3. java 文件删除不了File类的delete方法删不掉文件的原因分析
  4. Some NCCL operations have failed or timed out.
  5. 简单记录fortran入门过程
  6. 番茄花园 Windows All In One DVD 特别版
  7. 【Maven】子模块打包失败 pom.xml is not existed
  8. 2022年美化UI二开某技术导航天下PHP源码
  9. 数据库优化,分表分库
  10. python 行列式_python 中leastsq 中的雅可比行列式的作用是什么