工单系统-数据库查询,审计需求

Posted dba笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工单系统-数据库查询,审计需求相关的知识,希望对你有一定的参考价值。


1. 需求

内部用户通过工单系统申请,审批后授权获取数据库查询,临时写的权限。

要求记录所有操作日志,并支持全文检索。

2. 用户查询

2.1. 工具

因为用的阿里云,so记录用户sql操作大致有2种方式:

  • 通过sql代理程序。

  • 阿里云提供的mysql审计日志。


mycat: 语言java;数据量大了支持不好;日志集中存储;
360 altas:语言c++;支持单个mysql实例;日志集中存储;
percona proxysql:语言c++;本身设计不简洁;支持多实例;日志集中存储;
阿里审计日志:审计日志需要收费;日志分散到各个数据库,不确认审计是否支持到用户;

proxysql是同事推荐的,因为能支持多实例,并且测试性能也ok,所以最终选他了。

2.2. 实现

  • 通过web界面提交申请和审批。

  • 审批通过后,后台会异步创建账号,通知用户。

  • 用户通过navicat或者程序连接操作数据库。

  • proxysql记录sql操作日志。


申请:

审批:


3. 日志审计

3.1. 数据库

因为要实现全文检索,我看了看mysql,mongo,elasticsearch。

Mysql: 倒排索引;支持中文分词;支持大小写;支持字符串;
ElasticSearch: 搜索数据库的榜首;倒排索引;插件支持中文分词;支持大小写;甚至支持同义词;

个人认为mysql能满足我的需求,但是测试elasticsearch后,发现elk不能更好用了。日志通过filebeat收集,并推送到elasticsearch中。然后kibana展示。

3.2. 实现

  • 记录日志通过filebeat收集,推到elasticsearch。

  • web界面数据展示或者kibana展示。


审核日志:


以上是关于工单系统-数据库查询,审计需求的主要内容,如果未能解决你的问题,请参考以下文章

运用SQL数据库查询医院分解住院的审计方法

ebs怎么把销售订单转为工单

学习BOS物流项目第九天

PHP代码审计SQL注入篇

是否可以查询 SQL Pivot 报告并将输出连接到另一个 select 语句中?

谷歌云sql数据读取审计日志