MySQL审查工具_Mysql审核工具archery

Mysql审核工具archery

系统:Centos6.8

ip:192.168.122.150

安装Python和virtualenv

编译安装

[root@www ~]# yum install wget gcc make zlib-devel openssl openssl-devel

[root@www src]# wget "https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz"

[root@www src]# tar -xvf Python-3.6.5.tar.xz

[root@www src]# cd Python-3.6.5

[root@www Python-3.6.5]# ./configure prefix=/usr/local/python3

[root@www Python-3.6.5]# make && make install

[root@www Python-3.6.5]# ln -fs /usr/local/python3/bin/python3 /usr/bin/python3

[root@www Python-3.6.5]# ln -fs /usr/local/python3/bin/pip3 /usr/bin/pip3

virtualenv

[root@www ~]# pip3 install virtualenv -i https://mirrors.ustc.edu.cn/pypi/web/simple/

[root@www ~]# pip3 install -U pip

[root@www ~]# ln -fs /usr/local/python3/bin/virtualenv /usr/bin/virtualenv

安装Archery

准备虚拟环境

编译安装python的使用

[root@www ~]# virtualenv venv4archery --python=python3

切换python运行环境到虚拟环境

[root@www ~]# source venv4archery/bin/activate

安装ODBC依赖

[root@www Archery-1.5.3]# yum install unixODBC-devel -y

下载release包,安装依赖库

[root@www ~]# wget "https://github.com/hhyo/archery/archive/v1.5.3.tar.gz"

[root@www ~]# tar -xzvf v1.5.3.tar.gz

安装系统依赖

[root@www ~]# yum -y install gcc gcc-c++ python-devel mysql-devel openldap-devel unixODBC-devel gettext

安装依赖库

[root@www ~]# cd Archery-1.5.3/

[root@www Archery-1.5.3]# pip3 install -r requirements.txt -i https://mirrors.ustc.edu.cn/pypi/web/simple/

如果出现报一下错误

30cc1dd34abd8c786fb03fcef88b7af6.png

解决方法:

安装mysql5.7,然后安装以下依赖即可

[root@www Archery-1.5.3]# yum install mysql-devel -y

(venv4archery) [root@www Archery-1.5.3]# find / -name mysql_config.1.gz

/usr/share/man/man1/mysql_config.1.gz

(venv4archery) [root@www Archery-1.5.3]# find / -name mysql_config

/usr/bin/mysql_config

[root@www Archery-1.5.3]# pip3 install -r requirements.txt -i https://mirrors.ustc.edu.cn/pypi/web/simple/

3e7a8f4bdfcd9017fb98ab70badda949.png

出现报错

90cc665918a62a62563924847a424959.png

解决方法:

[root@www Archery-1.5.3]# yum install openldap -y

[root@www Archery-1.5.3]# yum install openldap-clients -y

[root@www Archery-1.5.3]# yum install openldap-devel -y

[root@www Archery-1.5.3]# pip3 install -r requirements.txt -i https://mirrors.ustc.edu.cn/pypi/web/simple/

(venv4archery) [root@www Archery-1.5.3]# echo $?

0

修改配置

[root@www Archery-1.5.3]# vim archery/settings.py

安全修改

修改Prpcrypt的key信息,该key用于数据库密码等信息加密,目前是硬编码在代码内 aes_decryptor.py

基础配置

关闭debug模式

DEBUG = False

设置ALLOWED_HOSTS,建议限制内网访问

ALLOWED_HOSTS = ['*']

请求大小限制,如果提交SQL语句过大可以修改该值

DATA_UPLOAD_MAX_MEMORY_SIZE = 15728640

密码校验,用户注册和添加密码校验规则

AUTH_PASSWORD_VALIDATORS = [

{

'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',

},

{

'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',

'OPTIONS': {

'min_length': 9,

}

},

{

'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',

},

{

'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',

},

]

MySQL配置

建议MySQL版本5.6以上

0055a8f06dd9c31bfdde69bed4c5019e.png

MongoDB配置

themis审核需要执行eval()命令,参考配置Allow user to execute eval() command on MongoDB 3.x}

创建角色

use admin

switched to db admin

db.createRole( { role: "executeFunctions", privileges: [ { resource: { anyResource: true }, actions: [ "anyAction" ] } ], roles: [] } )

{

"role" : "executeFunctions",

"privileges" : [

{

"resource" : {

"anyResource" : true

},

"actions" : [

"anyAction"

]

}

],

"roles" : [ ]

}

给用户分配角色

use themis

switched to db themis

db.grantRolesToUser("dbuser", [ { role: "executeFunctions", db: "admin" } ])

修改配置

MONGODB_DATABASES = {

"default": {

"NAME": 'themis', # 数据库

"USER": '', # 用户名

"PASSWORD": '', # 密码

"HOST": '127.0.0.1', # 数据库HOST

"PORT": 27017, # 数据库端口

},

}

Django-Q配置

默认配置即可,也可参考django-q文档修改

Q_CLUSTER = {

'name': 'archery',

'workers': 4,

'recycle': 500,

'timeout': 60,

'compress': True,

'cpu_affinity': 1,

'save_limit': 0,

'queue_limit': 50,

'label': 'Django Q',

'django_redis': 'default'

}

缓存配置

缓存使用redis

CACHES = {

"default": {

"BACKEND": "django_redis.cache.RedisCache",

"LOCATION": "redis://127.0.0.1:6379/0", # redis://host:port/db

"OPTIONS": {

"CLIENT_CLASS": "django_redis.client.DefaultClient",

}

}

}

mysql> create database archery default character set utf8;

Query OK, 1 row affected (0.14 sec)

mysql> grant all privileges on archery.* to root@'127.0.0.1' identified by 'abc123';

Query OK, 0 rows affected, 1 warning (0.46 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.14 sec)

mysql>exit

安装redis略

启动准备

数据库初始化

[root@www Archery-1.5.3]# python3 manage.py makemigrations sqlpython3 manage.py migrate

307248dab05bb1e0e195d0bca9c74d4f.png

[root@www Archery-1.5.3]# python3 manage.py migrate

8f65cd47fc8fdbe7532f044b47d1d7df.png

编译翻译文件

[root@www Archery-1.5.3]# python3 manage.py compilemessages

effc91f6a47bc787a4049a923fc316e2.png

创建管理用户

python3 manage.py createsuperuser

(venv4archery) [root@www Archery-1.5.3]# python3 manage.py createsuperuser

Username: admin #用户

Email address: #填写你的邮箱地址

Password: admin123

Password (again): admin123

Superuser created successfully.

启动Django-Q

需要保持后台运行,用于消息推送、工单执行、定时执行,可使用supervisor进行管理

source /opt/venv4archery/bin/activate

python3 manage.py qcluster &

b3367c246119723211c891cb3d5d59c2.png

启动服务

runserver启动

source /root/venv4archery/bin/activate

python3 manage.py runserver 0.0.0.0:9123 --insecure

关闭防火墙,或者开放9123端口 账号密码就是刚刚创建的admin admin123

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Archery 定位于 SQL 审核查询平台,旨在提升 DBA 的工作效率,支持多种数据库的 SQL 上线和查询,同时支持丰富的MySQL运维功能,所有功能都兼容手机端操作。 启动: 下载 Releases文件,解压后进入docker-compose文件夹 #启动 docker-compose -f docker-compose.yml up -d #表结构初始化 docker exec -ti archery /bin/bash cd /opt/archery source /opt/venv4archery/bin/activate python3 manage.py makemigrations sql   python3 manage.py migrate #数据初始化 python3 manage.py dbshellpython3 manage.py dbshell #创建管理用户 python3 manage.py createsuperuser #重启服务 docker restart archery #日志查看和问题排查 docker logs archery -f --tail=10 logs/archery.log 访问 http://127.0.0.1:9123/     Archery SQL审核查询平台 更新日志: v1.8.1 变更说明 移除对 Inception 的审核支持,仅作为脱敏语句解析使用 在线查询,pg数据库增加会话超时设定,支持查询脱敏 慢查日志和明细列表支持按表头字段进行服务端排序 默认资源组、权限组支持多选,优化系统配置下拉选项 修复说明 解决数据库区分大小写时查看事务信息报错的问题 解决 memoryview is not JSON serializable PG脱敏-查询语句中带有别名脱敏处理 解决查询结果不展示json对象的问题 调整启动方式为wsgi,解决上版本出现访问阻塞的问题 企业微信消息推送,如果消息接受者ID为空,则不会调用企业微信官方API. fix(sendmsg/feishu): fix #1016 支持新版飞书 webhook 接口 ) Bump django from 3.1.2 to 3.1.6 add pycryptodome to requirements 易用性调整 手动执行按钮改名为“已手动完成” 安全性调整 对接受入参的SQL拼接增加参数转义,规避注入风险 使用shlex.quote()对插件参数进行过滤,规避注入风险

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值