SQL审核平台-Yearning安装部署实践

时间:2021-09-11 00:22:46

相关文档:

https://guide.yearning.io/ yearning简介

http://python.yearning.io/install/  yearning安装

Yearning SQL 审计平台 基于Vue.js与Django的整套mysql-sql审核平台解决方案。提供基于Inception的SQL检测及执行。

GitHub:https://github.com/cookieY/Yearning

文档:https://cookiey.github.io/Yearning-document/

搭建环境

MySQL版本:5.7.24

linux系统:CentOS7

Python版本:3.6

Yearning安装

Yearning_python

下载yearning1.4.7版本

git地址:https://github.com/cookieY/Yearning/tree/v1.4.7

SQL审核平台-Yearning安装部署实践

直接点击下载压缩包即可

创建yearning数据库

在自己的数据库实例中创建yearning所需的数据库

create database Yearning DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

安装python依赖包

cd Yearning/src
pip install -r requirements.txt 

配置Yearning配置文件

编辑Yearning/src/deploy.conf文件

[mysql]
db = 所创建的库名
address = 数据库地址
port = 数据库端口
password = 数据库密码
username = 数据库用户 [host]
ipaddress = 服务器ip地址:端口 (涉及跨域十分重要!!设置不正确将无法登陆!!)
如 本机地址为192.168.137.13 nginx设置端口为80
则应填写为 192.168.137.13:80 之后通过该地址访问平台。 [Inception]
ip = Inception地址
port = Inception端口
user = Inception用户名
password = Inception密码
backupdb = 备份数据库地址
backupport = 备份数据库端口
backupuser = 备份数据库用户名
backuppassword = 备份数据库密码 [LDAP] LDAP相关设置
LDAP_SERVER = LDAP服务地址
LDAP_SCBASE = LDAP dc 设置 如 dc=xxx,dc=com
LDAP_DOMAIN = LDAP域名 如 xxx.com [email] 邮箱推送相关设置
username = 邮箱发件账号 如 xxxx@163.com
password = 邮箱发件账号密码
smtp_server = 邮箱stmp地址, 具体地址请咨询对应邮箱提供者

  

初始化数据库

python3  manage.py makemigrations
python3 manage.py migrate 

这一步可能会报错

1.没有使用python3,

SyntaxError: Non-ASCII character '\xe6' in file /data/mysql/opdir/Yearning-1.4.7/src/settingConf/settings.py on line 154, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

2.使用python3启动

ModuleNotFoundError: No module named 'Crypto'  

 没有Crypto模块,需要安装该模块

[root@XXX ~]# pip install crypto   安装该模块

  

添加初始化用户

 echo "from core.models import Account;Account.objects.create_user(username='admin', password='admin123456', group='admin',is_staff=1)" | python3 manage.py shell

 

复制编译好的静态文件到nginx html目录下

cd /data/mysql/opdir/Yearning-1.4.7/webpage
npm install

 

npm install phantomjs-prebuilt@2.1.16 --ignore-scripts(上面如果有问题,执行这条就ok)

  

 

如果没有npm,需要先安装前段相关的软件

npm
yum install npm node
npm install node 前端相关安装
npm install --global vue-cli
npm install -g webpack
npm install webpack webpack-cli -g
npm install --global vue-cli
webpack -v #查看下是否安装成功
vue -V #查看下是否安装成功 nginx 自己装(前端代理用)
yum install nginx

  

Yearning_go

python支持的yearning已经不再维护,建议使用go-yearning

安装2.1.6版本yearning

安装文档:https://guide.yearning.io/install.html

如果登陆界面现实密码错误,就吧yearning库删除掉,重新执行初始化命令

以下信息表示yearning初始化成功

SQL审核平台-Yearning安装部署实践

Yearning下载

下载2.1.6版本(目前最新)

https://github.com/cookieY/Yearning/releases

SQL审核平台-Yearning安装部署实践

解压后的目录结构

SQL审核平台-Yearning安装部署实践

修改配置文件

cat conf.toml
[Mysql]
Db = "Yearning"
Host = "127.0.0.1"
Port = "3306"
Password = "xxxx"
User = "root" [General] #数据库加解密key,只可更改一次。
SecretKey = "dbcjqheupqjsuwsm"

 

关于SecretKey

SecretKey是token/数据库密码加密/解密的salt。

建议所有用户在初次安装Yearning之前将SecretKey更改(不更改将存在安全风险)

格式: 大小写字母均可, 长度必须为16位

特别注意:

此key仅可在初次安装时更改!之后不可再次更改!如再次更改会导致之前已存放的数据源密码无法解密,最终导致无法获取相关数据源信息

 

使用帮助

./Yearning -h 

 

初始化数据结构

./Yearning -m

  

启动服务

默认启动
./Yearning -s
参数启动
./Yearning -s -b "172.27.80.35" -p "8000"

  

配置nginx

server{
listen 80;
client_max_body_size 75M;
server_name xxx.com;
location / {
proxy_redirect off;
proxy_pass http://127.0.0.1:8090;
}
}