相关文档:
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;
}
}