SQL审核平台Yearning部署
Yearning优势:
Yearning SQL 审计平台 基于Vue.js与Django的整套mysql-sql审核平台解决方案。提供基于Inception的SQL检测及执行。不依赖于任何第三方 SQL 审核工具作为审核引擎,内部已自己实现审核/回滚相关逻辑。
Yearning主要功能:
SQL查询、查询导出、查询自动补全、SQL审核、流程化工单、SQL语句检测、SQL语句执行、SQL回滚、SQL自动审核执行、历史审核记录、查询审计、推送、E-mail工单推送、自定义webhook消息推送(钉钉)、LDAP登陆、用户权限及管理、权限组划分、自定义审核层级。
Yearning 官网:https://guide.yearning.io/
安装
搭建环境:
MySQL版本:5.7.21
linux系统:CentOS7
Python版本:3.6
Yearning版本:2.3.0
Yearning下载
官网下载:https://github.com/cookieY/Yearning/releases
网盘下载:
链接:https://pan.baidu.com/s/14mIcCfBMpxyyBC9Tn4_LZg
提取码:ga7p
二进制安装
#上传至服务器 #解压 unzip Yearning-2.3.0-RC5-linux-amd64.zip #移动 mv Yearning-go /usr/local/Yearning #进入Yearning目录,修改conf.toml [Mysql] #Yearning仓库名称 Db = "Yearning" #Yearning仓库地址 Host = "127.0.0.1" Port = "3306" Password = "xxxx" User = "xxxx" #注:Yearning最好与要使用的数据库异库,用单账号权限操作,或用docker启动方式使用虚拟数据库。docker安装方式下面会讲到 [General] SecretKey = "lalalalalalalalalalala" SecretKey 是 token/数据库密码加密/解密的 salt。 #数据库加解密key,只可更改一次。 #建议所有用户在初次安装 Yearning 之前将 SecretKey 更改(不更改将存在安全风险) #格式: 大小写字母均可, 长度必须为 16 位 如长度不是16位将会导致无法新建数据源 #特别注意: #此 key 仅可在初次安装时更改!之后不可再次更改!如再次更改会导致之前已存放的数据源密码无法解密,最终导致无法获取相关数据源信息 #使用帮助 ./Yearning -h #初始化数据结构 ./Yearning -m #默认启动 ./Yearning -s #nohup 启动 172.27.80.35 可替换成域名 nohup ./Yearning -s -b "172.27.80.35" -p "8000" & #打开浏览器: http://172.27.80.35:8000 #默认账号/密码: admin/Yearning_admin
Docker安装
#Yearning安装包内已含有Dockerfile文件,可直接进行build打包成镜像 #修改docker的mysql服务参数 vim docker-compose.yml
services:
yearning:
image: test/yearning:latest
build:
context: .
dockerfile: Dockerfile
environment:
MYSQL_USER: yearning
MYSQL_PASSWORD: 密码
MYSQL_ADDR: mysql
MYSQL_DB: yearning
ports:
- 8000:8000
#自启动
depends_on:
- mysql
restart: always
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: mysql密码
MYSQL_DATABASE: yearning
MYSQL_USER: yearning
MYSQL_PASSWORD: 密码
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
#mysql持久化
volumes:
- ./mysql/data:/var/lib/mysql
# 默认账号:admin,默认密码:Yearning_admin
编辑Dockerfile
FROM alpine:3.12
LABEL maintainer="HenryYee-2020/07/03"
EXPOSE 8000
COPY Yearning /opt/Yearning
COPY dist /opt/dist
COPY conf.toml /opt/conf.toml
RUN echo "http://mirrors.ustc.edu.cn/alpine/v3.12/main/" > /etc/apk/repositories &&
apk add --no-cache tzdata libc6-compat &&
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&
echo "Asia/Shanghai" >> /etc/timezone &&
echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf
WORKDIR /opt
ENTRYPOINT ["/opt/Yearning"]
#如配置域名可修改CMD 无域名 无端口限制,可不用编辑Dockerfile文件
#CMD ["-m", "-s"]
CMD ["-m", "-s", "-b", "域名"]
启动
#按照上述方法配置启动
docker-compose up -d
使用:
根据DBA分配的权限账号登陆之后在首页可修改自己的个人信息以及查看自己的权限。
点击我的工单可查看自己提交过的工单。
工单提交功能。
第一步:
第二步:
SQL查询功能:
查询完毕点击结束会话即可。