SQL审核平台-Yearning安装部署实践
相关文档:
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
直接点击下载压缩包即可
创建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初始化成功
Yearning下载
下载2.1.6版本(目前最新)
https://github.com/cookieY/Yearning/releases
解压后的目录结构
修改配置文件
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; } }