1. 程式人生 > 實用技巧 >SQL稽核平臺Yearning部署

SQL稽核平臺Yearning部署

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查詢功能:

查詢完畢點選結束會話即可。