背景

数据库存储着系统的核心数据,其安全方面的问题在传统环境中已经成为泄漏和被篡改的重要根源。而在云端,数据库所面临的威胁被进一步的放大。因此,对云数据库的操作行为尤其是全量 SQL 执行记录的审计日志,就显得尤为重要,是保障云数据库安全的最基本要求。那么针对云数据库的 SQL 审计,您是否存在如下疑问:

  • SQL 审计对数据库的性能有影响吗?
  • 数据被篡改,但是没启用 SQL 审计,还能追溯篡改者吗?
  • SQL 审计日志除了追溯安全问题外,还能发挥更大的作用吗?能否帮助我们洞察 SQL 的执行状况、性能指标、潜在安全问题?

如果你使用了阿里云的分布式关系型数据库 DRDS,那么恭喜,上述这些问题都将得到满意的答案。

分布式关系型数据库 DRDS 与日志服务联合,推出 SQL 审计与分析功能,不仅支持历史 SQL 记录的查看,而且提供对 SQL 执行状况、性能指标、安全问题的实时诊断分析能力,助您全面洞察SQL。

功能优势

  • 操作简单:轻松配置即可开启,实时进行 SQL 日志的审计与分析。
  • 历史问题追溯:支持一键导入历史 SQL 日志,追溯问题。
  • 性能无损:实时拉取 DRDS 节点 SQL 日志文件上传,支持秒级延迟,对实例本身性能无影响
  • 实时分析:依托日志服务,提供 SQL 实时分析、开箱即用的报表中心并支持自定义报表和下钻分析,全面洞察SQL执行状况、性能、安全问题。
  • 实时告警:支持基于特定指标,定制准实时的告警,确保关键业务异常时可及时响应。
  • 价格优势:存储费用比传统方案更低, 每GB日志存储费用低至0.58元/月。

SQL 日志那些事

DRDS 的 SQL 审计日志由专用集群实时并行拉取各节点SQL 日志文件,批量上传至用户专属的日志库,支持秒级延迟,且对实例性能无影响。SQL 审计日志采集架构如下图所示:

为了助您全面洞察SQL,DRDS SQL审计日志提供了完备的SQL信息,您可以基于此实时分析诊断SQL。SQL日志包括但不限于以下信息。

  • DDL:基于SQL的对数据库结构定义的SQL,例如CREATE、ALTER
  • DROP、TRUNCATE、COMMENT等
  • DML:SQL操作语句,包括SELECT、INSERT、UPDATE、DELETE等
  • 其他SQL执行,包括任何其他通过SQL执行的控制,例如回滚、控制等
  • 执行失败的SQL
  • SQL执行的时间、影响的行数
  • SQL模板信息、类型信息
  • 事务内SQL关联信息

应用场景

历史数据导入 —— 为用户提供一次吃后悔药的机会

SQL 审计在云数据库中通常以增值服务的形式存在,中小客户出于成本的考虑,并未开启。可是一旦发现数据被人篡改,想要追溯篡改者,此时便后悔莫及。DRDS SQL 审计与分析的历史数据导入功能,为这些客户,提供了一次吃后悔药的机会!您可以在DRDS 控制台开启SQL审计日志,选择导入历史数据,即可将过去发生的日志加入审计分析范围,追溯数据篡改者。 DRDS 会根据您实例节点上的SQL日志存储情况,动态检测支持导入的历史数据范围,目前最多支持导入七天内的数据。

SQL执行状况分析 —— SQL 执行趋势、类型分布、热点 TABLE 一目了然

SQL性能分析—— 慢 SQL、高代价SQL模板、大(长)事务一览无余


SQL安全分析—— 危险SQL、大批量操作无所遁形

原文链接
本文为云栖社区原创内容,未经允许不得转载。

DRDS SQL 审计与分析——全面洞察 SQL 之利器的更多相关文章

  1. SQL优化技术分析-2:SQL书写的影响

    1.同一功能同一性能不同写法SQL的影响. 如一个SQL在A程序员写的为 Select * from zl_yhjbqk B程序员写的为 Select * from dlyx.zl_yhjbqk(带表 ...

  2. SQL优化技术分析-3:SQL语句索引的利用

    使用索引来更快地遍历表.默认情况下建立的索引是非聚集索引,但有时它并不是最佳的.在非聚集索引下,数据 在物理上随机存放在数据页上.合理的索引设计要建立在对各种查询的分析和预测上.一般来说: 有大量重复 ...

  3. DLA SQL分析函数:SQL语句审计与分析的利器

    1. 简介 Data Lake Analytics(https://www.aliyun.com/product/datalakeanalytics)最新release一组SQL内置函数,用来进行SQ ...

  4. SQL查询性能分析

    http://blog.csdn.net/dba_huangzj/article/details/8300784 SQL查询性能的好坏直接影响到整个数据库的价值,对此,必须郑重对待. SQL Serv ...

  5. ThinkPHP<6.0 SQL注入代码审计分析

    版本过多只分析大版本和使用人数较多的版本目前使用人数最多的3.2.3.审计时也是发现多个版本未公开漏洞 测试环境:  Mysql5.6/PHP5.5 首先明确的是在不使用PDO做参数绑定时ThinkP ...

  6. Cobar SQL审计的设计与实现

    背景介绍 Cobar简介 Cobar 是阿里开源的一款数据库中间件产品. 在业务高速增长的情况下,数据库往往成为整个业务系统的瓶颈,数据库中间件的出现就是为了解决数据库瓶颈而产生的一种中间层产品. 在 ...

  7. oracle sql 执行计划分析

    转自http://itindex.net/detail/45962-oracle-sql-%E8%AE%A1%E5%88%92 一.首先创建表 SQL> show user USER is &q ...

  8. [转]一个用户SQL慢查询分析,原因及优化

    来源:http://blog.rds.aliyun.com/2014/05/23/%E4%B8%80%E4%B8%AA%E7%94%A8%E6%88%B7sql%E6%85%A2%E6%9F%A5%E ...

  9. PHPCMS \phpcms\modules\member\index.php 用户登陆SQL注入漏洞分析

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述2. 漏洞触发条件 0x1: POC http://localhost/p ...

随机推荐

  1. SQLServer · 最佳实践 · 透明数据加密TDE在SQLServer的应用

    转:https://yq.aliyun.com/articles/42270 title: SQLServer · 最佳实践 · 透明数据加密TDE在SQLServer的应用 author: 石沫 背 ...

  2. vue.js报错:Module build failed: Error: No parser and no file path given, couldn't infer a parser.

    ERROR Failed to compile with 2 errors 12:00:33 error in ./src/App.vue Module build failed: Error: No ...

  3. php数组排序sort

    php的数组分为数字索引型的数组,和关键字索引的数组.如果是数字索引的,可以这样使用:$names = ['Tom', 'Rocco','amiona'];sort($names);sort()函数只 ...

  4. vb.net WIN32API 获取listview的值

    Public Class Form1 Public Const LVM_FIRST As Short = &H1000S Public Const LVM_GETITEMCOUNT As In ...

  5. (24)How generational stereotypes hold us back at work

    https://www.ted.com/talks/leah_georges_how_generational_stereotypes_hold_us_back_at_work/transcript ...

  6. #pragma常用预处理指令

    #pragma pack(1):1字节对齐#pragma once:指定头文件被编译一次#pragma message("message"):编译时输出message文本#prag ...

  7. Visual Studio Code 学习记录

    Visual Studio Code的官方文档可以学到很多知识,不只是vs code的用法,包括一些语言的入门 和一些概念等等.很好的文档. ※,user.settings.json中的一些配置说明: ...

  8. Codeforces Round #485 (Div. 2) E. Petr and Permutations

    Codeforces Round #485 (Div. 2) E. Petr and Permutations 题目连接: http://codeforces.com/contest/987/prob ...

  9. RSA 前段加密 java 后台解密 已调试通过

    本人整理网上的.好多网上的调不通.在这里把调试好的贴出来. 1.   异步获取公钥(后台获取):你也可以将公钥串写在页面上: var publicKey = null; $.ajax({ url: c ...

  10. Android-Java-普通类与抽象类(覆盖)&方法重载

    覆盖都是子类与父类之间 & 接口与实现类之间 才会产生:覆盖 有很多名称,覆盖,复写,重写 都是一个意思: 注意:重载都是方法之间  方法同名 不同参数,就属于重载: 普通类-覆盖: 描述An ...