审计mysql_MYSql审计⼯具Yearning的安装与使⽤
⼀、背景介绍
Sql审计就是对需要在数据库执⾏的ddl、dml、select语句进⾏检查,避免sql在执⾏时出现问题。通过sql审核可以减少在正式执⾏时出现问题,也可以规避sql执⾏时的风险
Sql问题包括:
语法错误:sql语法结构不正确,标点符号不正确等
语义错误:sql中的库名、表名、字段名等不正确
规则错误:不符合sql规范,没有指定主键、字段类型不正确等
⼈⼯审核:
1、DBA与开发⼈员,循环交互。DBA发现问题sql返给开发修改,开发修改后, DBA进⾏⼆次检查,循环审核,直到sql没有问题
2、审核时间长,效率低。项⽬上线会有⼤量的sql进⾏审核,⼈⼯审核时间较长。
3、主观性:不同DBA对sql规范的理解不同,会存在宽松不均的问题
4、执⾏前需要检查数据库环境及sql影响范围,备份然后执⾏,过程冗长
5、执⾏后检查
⼆、功能与版本
基于⼈⼯审核的成本较⾼并且不可控性因素较多,⾃动审核⼯具应运⽽⽣。
Yearning是集审核、执⾏、回滚于⼀体的⼀个⾃动化运维系统。
版本:
1、yearning v1.4.7及以下版本:
基于inception,需要⾃⾏配置安装inception,现inception已整合进arkcontrol数据库云管平台
2、yearning -go 2.0.0及以上版本:
提供⼆进制安装,不依赖于任何第三⽅sql审核⼯具作为审核引擎,内部已⾃⼰实现审核回滚相关逻辑
三、安装
版本:yearning v2.15
版本介绍:
1、mysql版本必须是5.7及以上版本,⾃⾏安装mysql及创建yearning数据库,字符集 为:utf-8/utf8mb4
2、仅要求存放yearning数据库的mysql版本为5.7及以上,其他数据库不做要求
3、yearning⽇志仅输出error级别,没有⽇志即可认为⽆运⾏错误
4、推荐使⽤chrome浏览器最新版本
下载地址:github/cookieY/Yearning/releases
官⽅⽂档:arning.io/install.html
安装步骤:
git clone github/cookieY/Yearning.git
2、解压:
# unzip Yearning-2.1.5.linux-amd64.zip
# mv Yearning-go/ /usr/local/
3、创建yearning的数据库
> create database Yearning;
4、修改Yearning配置⽂件
[root@hadoop03 Yearning-go]# l
[Mysql]
Db = "Yearning"
Host = "127.0.0.1"
Port = "3306"
Password = "123"
User = "root"
[General] #数据库加解密key,只可更改⼀次
SecretKey = "dbcjqheupqjsuwsm"
5、初始化Yearning,初始化会⽣成⽤户名、密码,打印到屏幕
# ./Yearning -m
6、配置环境变量、设置后台启动脚本、设置开机⾃启
# cat start_Yearning.sh
nohup Yearning -s -b "192.168.100.222" -p "8000" >>/usr/local/Yearning-go/yearning.log 2>&1 & 7、启动Yearning
# bash start_Yearning.sh
四、使⽤
1、添加⽤户及赋权
密码最少6字符
⾓⾊:分管理员/执⾏者/使⽤⼈
先划分⾓⾊,使管理类权限不会出现在使⽤者细粒度权限划分中
管理员:是sql的审核者和执⾏者
查看db1106_user权限:新⽤户不具备任何权限的。任何操作都必须在赋予对应的权限之后才能执⾏
⽤户权限的赋予有两种⽅式:
1、管理员在"⽤户权限"页⾯,⾃⾏添加
2、使⽤者在:“⾸页个⼈信息栏”---“查看权限按钮”---“申请权限”,进⾏申请,该权限申请将会以⼯单的形式发送给超级管理员进⾏审批
使⽤db1106_user⽤户登录:申请权限
管理员查看⼯单:
2、添加数据源:⽤户可访问的数据源,在⽤户权限页添加,
注:数据源的最细粒度为实例级别,不能将单个库的权限赋给使⽤者
mysql下载的zip版本安装步骤
3、sql查询
⽤户通过如下页⾯进⾏sql查询,点击提交,选中要查询的数据源

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。