Sql审核平台Archery的搭建和简单配置

news2024/11/18 3:45:30

Sql审核平台Archery的搭建和简单配置

Archery是一个开源的Web应用,基于Python开发,利用Flask作为后端框架,前端采用Vue.js,构建了一个现代化的数据操作界面。提供了SQL审核、数据查询、报表生成等功能,同时支持多种数据库接入,包括Hive、MySQL、Oracle、SQL Server等。

image-20240625150703170

一.安装前检查

#检查是否安装docker及docker-compose
docker --version
docker-compose --version

image-20240625151217225

如果没安装docker或者docker-compose。

教程:Ubuntu20.04 LTS国内源安装指定版本Docker_ubuntu 20.04.1 lts 安装docker-CSDN博客
Docker安装和卸载(centos)_centos卸载docker-CSDN博客

#docker-compose安装
#下载docker-compose文件
sudo curl -L https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
#测试安装结果
docker-compose --version

二.准备安装文件

#下载安装文件
cd /home/
wget https://github.com/hhyo/archery/archive/v1.11.0.tar.gz
#解压
tar -zxvf v1.11.0.tar.gz
#重命名
mv Archery-1.11.0 archery

image-20240625153340635

image-20240625155624825

#进入docker-compose文件所在位置
cd src/docker-compose/
#/home/archery/src/docker-compose
#内容如下cat docker-compose.yml

version: '3'

services:
  redis:
    image: redis:5
    container_name: redis
    restart: always
    command: redis-server --requirepass 123456
    expose:
      - "6379"
    healthcheck:
      test: [ "CMD", "redis-cli", "ping" ]
      interval: 5s
      timeout: 5s
      retries: 5

  mysql:
    image: mysql:5.7
    container_name: mysql
    restart: always
    ports:
      - "3306:3306"
    volumes:
      - "./mysql/my.cnf:/etc/mysql/my.cnf"
      - "./mysql/datadir:/var/lib/mysql"
    environment:
      MYSQL_DATABASE: archery
      MYSQL_ROOT_PASSWORD: 123456
    healthcheck:
      test: ["CMD", "mysqladmin", "ping"]
      interval: 5s
      timeout: 5s
      retries: 5

  goinception:
    image: hanchuanchuan/goinception
    container_name: goinception
    restart: always
    ports:
      - "4000:4000"
    volumes:
      - "./inception/config.toml:/etc/config.toml"

  archery:
    # 下方的镜像地址仅为示例, 请前往以下地址确认你需要的版本:
    # dockerhub https://hub.docker.com/r/hhyo/archery
    # github packages https://github.com/hhyo/Archery/pkgs/container/archery
    # 如有需要, 也可以自行build docker 镜像, 替换为自己的镜像
    image: hhyo/archery:v1.10.0
    container_name: archery
    restart: always
    depends_on:
      redis:
        condition: service_healthy
      mysql:
        condition: service_healthy
    ports:
      - "9123:9123"
    volumes:
      - "./archery/settings.py:/opt/archery/local_settings.py"
      - "./archery/soar.yaml:/etc/soar.yaml"
      - "./archery/docs.md:/opt/archery/docs/docs.md"
      - "./archery/downloads:/opt/archery/downloads"
      - "./archery/sql/migrations:/opt/archery/sql/migrations"
      - "./archery/logs:/opt/archery/logs"
      - "./archery/keys:/opt/archery/keys"
    entrypoint: "bash /opt/archery/src/docker/startup.sh"
    env_file:
      - .env
#部署
docker-compose up -d

然后查看是否启动成功

docker ps

CONTAINER ID   IMAGE                                                                COMMAND                  CREATED        STATUS                            PORTS                                                  NAMES
52da46df8ddc   registry.cn-hangzhou.aliyuncs.com/docker_image-ljx/mysql:5.7         "docker-entrypoint.s…"   5 hours ago    Up 4 seconds (health: starting)   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql
efc34350d7df   registry.cn-hangzhou.aliyuncs.com/docker_image-ljx/archery:v1.10.0   "bash /opt/archery/s…"   23 hours ago   Up 4 seconds                      0.0.0.0:9123->9123/tcp, :::9123->9123/tcp              archery
92352a46d78a   registry.cn-hangzhou.aliyuncs.com/docker_image-ljx/goinception       "/usr/local/bin/dumb…"   23 hours ago   Up 3 seconds                      0.0.0.0:4000->4000/tcp, :::4000->4000/tcp              goinception
caa42b1b499c   registry.cn-hangzhou.aliyuncs.com/docker_image-ljx/redis:5           "docker-entrypoint.s…"   23 hours ago   Up 2 seconds (health: starting)   6379/tcp                                               redis

三.表结构初始化

#确认运行成功后,进入archery容器
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 dbshell<sql/fixtures/auth_group.sql
python3 manage.py dbshell<src/init_sql/mysql_slow_query_review.sql

# 创建管理用户
python3 manage.py createsuperuser
用户名: admin
电子邮件地址: admin@qq.com
Password: admin123          ( 实际操作中密码是不显示的 )
Password (again): admin123
密码跟 用户名 太相似了。
密码长度太短。密码必须包含至少 9 个字符。
这个密码太常见了。
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.

四.浏览器访问测试

地址:<主机IP>:9123,用户名和密码就是上一步创建的。

image-20240625170530309

至此安装步骤完毕。

五.配置数据库并简单测试

1.进入实例管理
image-20240625171710179

选择添加实例

image-20240625171835147

然后填入数据库相关信息

image-20240625174308490

点击保存

image-20240625174529863

2.选择SQL审核

SQL上线,点击提交SQL。

image-20240625181401001

然后选择数据库实例,填入sql。

image-20240626094508951

在触发检测的时候可以检查SQL是否有误。

image-20240626091025959

修改正确后就可以提交了image-20240626091051948

3.点击审核通过,并且立即执行

image-20240626091125078

我们可以看到数据库里已经多出了这一条数据

image-20240626091244634

执行成功后还可以查看或者下载回滚SQL对该操作进行回滚。

image-20240626091546951

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1864246.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用 frida hook Android app

Frida&#xff1a; 一种基于动态插装&#xff08;dynamic instrumentation&#xff09;技术的工具包&#xff0c;它主要是为测试人员、开发人员和逆向工程爱好者创建&#xff0c;在目标程序运行时&#xff0c;允许用户将 JavaScript代码注入其中&#xff0c;实现动态修改和调试…

if action和Switch之间该怎么选择?

1. Switch 2. If及If Action Subsystem 3.结论 元素很多&#xff0c;用switch 元素少&#xff0c;用if或switch 如果...很多&#xff0c;用if

Go语言之集合类型

个人网站&#xff1a; http://hardyfish.top/ 免费书籍分享&#xff1a; 资料链接&#xff1a;https://url81.ctfile.com/d/57345181-61545511-81795b?p3899 访问密码&#xff1a;3899 免费专栏分享&#xff1a; 资料链接&#xff1a;https://url81.ctfile.com/d/57345181-6…

姚期智、张亚勤、薛澜、Stuart Russell、Max Tegmark,DeepMind研究员等共话全球AI治理丨大会回顾...

为什么AI安全已迫在眉睫&#xff1f;如何构建全球范围内的合作&#xff1f;民众该如何参与到其中&#xff1f;未来的AI系统将是什么样的&#xff1f; 2024年6月15日&#xff0c;智源大会第二天&#xff0c;多位AI安全领域专家进行圆桌讨论&#xff0c;连接中国北京和美国加利福…

从概念到现实:数字孪生技术在智慧充电站的实践

在电动汽车蓬勃发展的今天&#xff0c;充电基础设施的智能化升级成为了推动新能源汽车产业跃进的关键一环。数字孪生技术&#xff0c;作为智能制造和工业4.0的核心&#xff0c;正在逐渐渗透到智慧充电站的每一个角落——从提高能源效率到增强用户体验&#xff0c;为智慧充电站的…

DockerDesktop中mysql容器无法使用Exec窗口解决

解决前 需要登陆&#xff1a; 登陆后需要升级才能启动调试模式 需要订阅才能使用 解决后&#xff1a; 正常使用 解决方法&#xff1a; 不要在DockerDesktop中启动mysql容器&#xff0c;使用命令行启动 启动命令 docker run --name mysql_docker -e MYSQL_ROOT_PASSWORD12345…

MySQL递归查询(with recursive)

背景 日常开发中经常会有那种 阶梯式 数据&#xff0c;比如做地图、菜单&#xff0c;裂变给上级、上上级分红等等这样的需求的时候 你需要找个一个对象的 上级&#xff0c;上上级&#xff0c;上上上级 建了一张很容易理解阶级的表&#xff0c;一目了然 很多时候我们的需求就是…

仓库管理系统09--修改用户密码

1、添加窗体 2、窗体布局控件 UI设计这块还是传统的表格布局&#xff0c;采用5行2列 3、创建viewmodel 4、前台UI绑定viewmodel 这里要注意属性绑定和命令绑定及命令绑定时传递的参数 <Window x:Class"West.StoreMgr.Windows.EditPasswordWindow"xmlns"http…

缓存问题二、缓存雪崩

缓存雪崩 缓存雪崩&#xff1a;是指在同一时段大量的缓存key同时失效或者Redis服务宕机&#xff0c;导致大量请求到达数据库&#xff0c;带来巨大压力。 缓存雪崩的解决方案&#xff1a; 给不同的Key的TTL添加随机值利用Redis集群提高服务的可用性给缓存业务添加降级限流策略…

转行AI产品经理,这些“门槛”你得先迈过!

前言 随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;AI产品经理这一岗位逐渐崭露头角&#xff0c;成为许多追求创新和挑战的职业人士的新选择。但转行并非易事&#xff0c;特别是进入到一个全新的领域。在决定踏上AI产品经理这条道路之前&#xff0c;以下…

HarmonyOS角落里的知识:“开发应用沉浸式效果”

概述 典型应用全屏窗口UI元素包括状态栏、应用界面和底部导航条。开发应用沉浸式效果主要指通过调整状态栏、应用界面和导航条的显示效果来减少状态栏导航条等系统界面的突兀感&#xff0c;从而使用户获得最佳的UI体验。 图1 界面元素示意图 开发应用沉浸式效果主要要考虑如下…

win7 的 vmware tools 安装失败

没有安装vmware tools的系统屏幕显示异常。桌面是比较小的图像&#xff0c;四周是黑边在 vmware 软件里 方法1&#xff0c;下补丁 https://www.catalog.update.microsoft.com/Search.aspx?qkb4474419 方法2&#xff0c;使用老版vm tools http://softwareupdate.vmware.com/c…

全视通智慧医院解决方案助力“以旧换新”的医疗升级!

全视通表示&#xff0c;以旧换新的本质更多的是医院综合性能的提升&#xff0c;应该通过从顶层设计规划&#xff0c;全面提升医院的整体运营水平&#xff0c;改善患者及医护对医院的满意度、提升医护整体效率&#xff0c;同时实现医院复合手术室、实验室、ICU等医院重点空间的需…

第十一次作业

1.过滤器用的Interceptor因为idea中自带的拦截器 ReaderInterceptor import request from /utils/requestexport function fetchList(query) {return request({url: /vue-element-admin/article/list,method: get,params: query}) }export function fetchArticle(id) {return…

Lua博客网站支持搜索、评论、登录注册

该简易博客示例用于学习网站的基础知识与MySQL数据库。 简述&#xff1a;开源Lua网站开发服务(FastWeb)支持&#xff1a;注册、登录、文章分页、评论分页、简易权限管理和搜索功能。发帖功能支持Markdown(支持记忆功能)图示&#xff1a;

DOM遍历

DOM 遍历是指在 HTML 文档中导航和定位元素的过程。通过 DOM 遍历&#xff0c;您可以在文档中移动并查找特定的元素&#xff0c;以便对其进行操作或者检索信息。 寻找子元素 //DOM遍历 const h1 document.querySelector(h1);//寻找子元素 console.log(h1.querySelectorAll(.…

数据恢复篇:如何恢复丢失的Android短信?

许多用户发现自己处于重要短信意外从Android手机中删除的情况。幸运的是&#xff0c;有一些行之有效的方法可以在没有root的情况下恢复已删除的短信Android&#xff0c;这可以成为救命稻草。这些技术不需要深厚的技术知识&#xff0c;也不需要损害设备的安全性。为了帮助您摆脱…

驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法

在连接数据库的时候出现了下面图面中的错误&#xff0c;尝试集中方法后终于解决了这个问题。 1.修改驱动程序版本 出现这种错误可能是因为你的驱动程序版本不兼容&#xff0c;我们可以尝试修改版本解决。而我们的驱动程序往往是以依赖的形式导入&#xff0c;因此可以在maven仓…

iOS17系统适配

iOS17 新功能 文章目录 iOS17 新功能iOS17支持哪几款机型Xcode15新特性iOS17-开发适配指南 横屏待机 在iOS 17中&#xff0c;还带来了横屏待机功能&#xff0c;苹果将这个新功能命名为“Standby”模式&#xff0c;为 iPhone 带来了全新的玩法。iPhone启用之后&#xff0c;默认情…

Purple Pi OH固件的芯片信息识别问题说明

本文适用于在Purple Pi OH固件的芯片信息识别问题说明。触觉智能的Purple Pi OH鸿蒙开源主板&#xff0c;是华为Laval官方社区主荐的一款鸿蒙开发主板。 该主板主要针对学生党&#xff0c;极客&#xff0c;工程师&#xff0c;极大降低了开源鸿蒙开发者的入门门槛&#xff0c;具…