手动部署SQL审计平台Archery(连接mysql8.x)

news2024/10/7 10:15:24

安装Python和virtualenv

从1.9.0版本开始,将不再支持python3.7及以下版本,手动安装也将使用3.9版本作为样例,移除yum安装方式

# 安装依赖

yum install libffi-devel wget gcc make zlib-devel openssl openssl-devel ncurses-devel openldap-devel gettext bzip2-devel xz-devel

wget "https://www.python.org/ftp/python/3.9.10/Python-3.9.10.tar.xz"

tar -xvJf Python-3.9.10.tar.xz

# 编译

cd Python-3.9.10

./configure prefix=/data/python3

make && make install

ln -fs /data/python3/bin/python3 /usr/bin/python3

ln -fs /data/python3/bin/pip3 /usr/bin/pip3

# virtualenv

pip3 install virtualenv -i https://mirrors.ustc.edu.cn/pypi/web/simple/

ln -fs /data/python3/bin/virtualenv /usr/bin/virtualenv

在执行的过程中不确定是否执行成功的时候echo $? 查看一下回显

# 编译安装python的使用

virtualenv venv4archery --python=python3

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

source venv4archery/bin/activate

# CentOS 6 使用此命令

curl https://packages.microsoft.com/config/rhel/6/prod.repo > /etc/yum.repos.d/mssql-release.repo

# CentOS 7 使用此命令

curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo

# 卸载冲突驱动

sudo yum remove unixODBC-utf16 unixODBC-utf16-devel

# 安装驱动

sudo ACCEPT_EULA=Y yum install msodbcsql17 sudo ACCEPT_EULA=Y yum install mssql-tools

# 更新环境变量

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc

# 安装ODBC依赖

sudo yum install unixODBC-devel

wget "https://github.com/hhyo/archery/archive/v1.8.5.tar.gz"

tar -xzvf v1.8.5.tar.gz

# 安装系统依赖

yum -y install gcc gcc-c++ python-devel mysql-devel openldap-devel unixODBC-devel gettext

# 安装依赖库

cd Archery-1.8.5/

pip3 install -r requirements.txt -i https://mirrors.ustc.edu.cn/pypi/web/simple/

安装Inception(MySQL审核、查询校验和数据脱敏)

二进制部署goInception

wget https://github.com/hanchuanchuan/goInception/releases/download/v1.3.0/goInception-linux-v1.3.0-42-g169e116.tar.gz

tar zxvf goInception-linux-v1.3.0-42-g169e116.tar.gz

注意config/config.toml.default 配置中从库必须要配置 不然goInception不生效

./goInception -config=config/config.toml.default & 放到后台启动

备MySQL、Redis实例

MySQL推荐版本>=5.7

Redis提供任务队列和缓存

修改配置

vi archery/settings.py

配置mysql实例

注意使用8.x数据库需要更换用户密码策略

use mysql

select host ,user ,plugin from user; 查看一下用户的密码策略

换成mysql_native_password 不然连接会报错

alter user 'slave'@'%' identified with mysql_native_password by 'Zxcvbnm@2023';

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'archery', # 数据库名称

'USER': 'slave', # 数据库用户

'PASSWORD': 'Zxcvbnm@2023', # 数据库密码

'HOST': '192.168.197.132', # 数据库地址

'PORT': '3306', # 数据库端口

'OPTIONS': { 'init_command': "SET sql_mode='STRICT_TRANS_TABLES'", # SQL_MODE,为了兼容select * group by,可以按需调整

Redis实例配置

启动准备

# 数据库初始化

cd Archery-1.8.5/

python3 manage.py makemigrations sql

python3 manage.py migrate

# 数据初始化

使用mysql8.x 在执行时报错 下载mysql8.x对应的驱动包

https://rhel.pkgs.org/7/mysql-8.0-x86_64/ 访问下载对应版本的包

wget https://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql-community-client-8.0.31-1.el7.x86_64.rpm

访问网站找不到下载路径的话 可以修改我的下载连接直接改成对应版本即可比如我要下载8.0.28版本

wget https://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql-community-client-8.0.28-1.el7.x86_64.rpm

强制安装不下载依赖

rpm -ivh mysql-community-client-8.0.31-1.el7.x86_64.rpm --force --nodeps

然后在执行就不会报错了

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

启动

source /data/Python-3.9.10/venv4archery/bin/activate

#启动Django-Q,需保持后台运行

python3 manage.py qcluster &

#启动服务

nohup python3 manage.py runserver 0.0.0.0:9123 --insecure &

如果要关闭的话 jobs 查看后台运行的进程 kill -9 %2 杀掉进程即可

部署完成访问web 192.168.197.138:9123 输入刚刚设置的用户名密码

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

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

相关文章

分享81个PHP源码,总有一款适合您

PHP源码 分享81个PHP源码&#xff0c;总有一款适合您 下面是文件的名字&#xff0c;我放了一些图片&#xff0c;文章里不是所有的图主要是放不下...&#xff0c; 81个PHP源码下载链接&#xff1a;https://pan.baidu.com/s/18jo0nrQ6tCf-e1PAylItmQ?pwd3rxz 提取码&#xff…

Mysql之多表查询

简单测试 由于我们之前没学过多表查询 我们简单测试一下初学者认为的多表查询 SELECT * FROM emp,dept这是我们的输出结果 其实不难发现 1.返回的结果就是&#xff0c;第一张表一个个数据取出然后和第二张表所有组合 最后返回的是含有两张表的所有列 2.一共返回的记录数第一章…

【ES6篇新语法】(1)ES6介绍及常量声明、对象数组,附实例详解

【写在前面】 应一些粉丝的要求&#xff0c;整理一些ES6相关的文章&#xff0c;因此借这个岁末之际&#xff0c;给大家整理一篇ES6的相关的博客&#xff0c;不管是面试还是在实际的编程上&#xff0c;我们都常提到ES6这个词&#xff0c;可能前几年比较热门&#xff0c;希望大家…

焊接变形的原因以及防止焊接变形的措施

焊接变形的原因   在焊接过程中对焊件进行了局部的、不均匀的加热是产生焊接应力及变形的原因。焊接时焊缝和焊缝附近受热区的金属发生膨胀&#xff0c;由于四周较冷的金属阻止这种膨胀&#xff0c;在焊接区域内就发生压缩应力和塑性收缩变形&#xff0c;产生了不同程度的横向…

喜报!西门子低代码连续四年获评Gartner企业低代码应用平台魔力象限领导者

点击下载最新发布的Gartner魔力象限图™https://www.mendix.com/resources/gartner-magic-quadrant-for-low-code-application-platforms/?utm_mediumpr&utm_campaignMQ&utm_sourceMQ#formWrapper 想象一下&#xff0c;一个为持续数字化转型做好准备的组织会是什么样…

EXTI中断以及系统滴答定时器SysTick的配置和使用

前言 EXTI中断来判断按键按下 EXTI即外部中断/事件控制器&#xff0c;总共支持19个中断/事件请求。每一条中断线都有独立的使能和产生中断后的标志位。 上图可见&#xff0c;中断/时间线0-15&#xff0c;总共16条线分配给了IO&#xff0c;通过设置AFIO的AFIO_EXTICR1、AFIO_…

内核调试之Kdump的原理及配置

术语介绍生产内核&#xff08;production kernel&#xff09;&#xff1a;产品或者线上服务器当前运行的内核。捕获内核&#xff08;capture kernel&#xff09;&#xff1a;系统崩溃时&#xff0c;使用kexec启动的内核&#xff0c;该内核用于捕获生产内核当前内存中的运行状态…

【windows terminal】普通用户免密ssh登录阿里云linux服务器

创建用户 [rootxxx~]# adduser linuxcool创建密钥 使用如下命令创建密钥 [rootxxx~]# ssh-keygen -t rsa创建的密钥路径 Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. 将公钥导入authorized_keys&…

《Go 并发数据结构和算法实践》学习笔记 Day 2

系列文章目录 这是本周期内系列打卡文章的所有文章的目录 《Go 并发数据结构和算法实践》学习笔记 Day 1_jahentao的博客-CSDN博客 文章目录系列文章目录前言一、Skiplist是什么&#xff1f;(What)Skiplist的基本接口查找元素插入元素删除元素二、并行化改造1.并发查找2.并发删…

struts漏洞总结

目录 概述 struts2漏洞 S2-001 漏洞原理 复现 struts2漏洞 S2-005 原理 分析一下003 复现 struts2漏洞s2-007 struts2漏洞 S2-008 原理 复现 struts2漏洞 S2-009 原理 复现 struts2漏洞 S2-012 原理 复现 struts2漏洞 S2-013 原理 复现 struts2漏洞 S2-0…

闭包中的内存泄漏

一.闭包的内存泄漏 1.为什么有些AO对象就不会被销毁&#xff1f; 1&#xff09;普通函数中 上述代码在执行foo函数的时候&#xff0c;内存中的过程。 执行完foo函数之后&#xff0c;foo的函数上下文被销毁了&#xff0c;那么就不会指向foo的AO对象了。 那么AO对象也会被销毁…

格创东智蝉联入选工信部工业互联网APP优秀解决方案名单

1月13日&#xff0c;工信部发布《2022年工业互联网APP优秀解决方案名单公示》&#xff0c;由格创东智研发的 “基于深度学习技术的 AI智能检测&#xff08;天枢AI&#xff09;APP 应用解决方案”、“面向泛半导体行业的设备自动控制&#xff08;EAP&#xff09;APP解决方案”入…

一文详解SPI通信原理

首先我们先了解一下单工、半双工、全双工是什么概念 概念:(Serial Peripheral Interface,串行外设接口),是一种全双工协议的外设总线&#xff0c;同步串行通信 单工:电视 半双工:呼叫机 全双工:电话 SPI是单主设备&#xff08;Single Master&#xff09;通信协议&#xff…

商业智能 BI 赋能年底的财务分析

职场中总有些不能说的秘密&#xff0c;比如月底和年底的时候&#xff0c;千万不要去惹财务&#xff01;尤其是年底&#xff0c;财务部门需要统计分析一整年的费用支出和经营收入&#xff0c;各种结算分析&#xff0c;还有新一年的预算&#xff0c;数据量庞大、业务系统分散、报…

【SpringCloud14】SpringCloud Bus消息总线

1.概述&#xff08;对于Config的加深和扩充&#xff09; 1.1 分布式自动刷新配置功能 SpringCloud Bus配合SpringCloud Config使用可以实现配置的动态刷新 Spring Cloud Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架&#xff0c;它整合了Java的事件处理机制和…

Web(八)

XML概念&#xff1a;Extensible Markup Language 可扩展标记语言可扩展&#xff1a;标签都是自定义的。 <user> <student>功能* 存储数据1. 配置文件2. 在网络中传输xml与html的区别1. xml标签都是自定义的&#xff0c;html标签是预定义。2. xml的语法严格&#xf…

使用 npm 包

小程序对 npm 的支持与限制 目前&#xff0c;小程序中已经支持使用npm 安装第三方包&#xff0c;从而来提高小程序的开发效率。但是&#xff0c;在小程序中使用npm包有如下3个限制: ① 不支持 依赖于Node.js内置库 的包 ② 不支持 依赖于浏览器内置对象 的包 ③不支持 依赖于C插…

代码签名证书是如何进行验证工作的

代码签名证书是通过对代码的数字签名来标识软件来源以及软件开发者的真实身份&#xff0c;保证代码在签名之后不被恶意篡改。使用户在下载已经签名的代码时&#xff0c;能够有效的验证该代码的可信度&#xff1b;同时证书又分为个人型&#xff08;iv&#xff09;、企业型&#…

进程大杂烩

1、fork函数的使用 使用fork()函数创建一个进程 pid_t fork(void) fork函数调用成功&#xff0c;返回两次 返回为0&#xff0c; 代表当前进程是子进程 返回为正数&#xff0c;代表当前进程为父进程 fork()函数运行后会创建一个进程&#xff0c;加上开始的进程一共有两个进程&am…

第一天总结 之 用户管理界面的实现 之 模糊查询和分页操作

第一天总结 之 用户管理界面的实现 之 模糊查询和分页操作 1、明确页面的跳转 当登录操作执行时 如果正确 跳转到 UserFuzzySelectServlet 即用户模糊查询的select 注&#xff1a;因为第一次写项目 对于很多操作都不熟悉 很多前期操作没 有 按着 见名之意 …