• mysql进阶:数据库审计软件yearning搭建指南


    0. 引言

    数据库审计管理,是数据安全规范中不可或缺的一环,通过审计管理我们能够把控、追溯sql执行情况。yearning作为一款开源的数据库审计软件,是我们开发运维工作中经常打交道的一个“伙伴”。

    今天来带大家一起来搭建yearning

    1. yearning软件介绍

    yearning提供的核心功能就是sql查询和审计。

    我们可以通过yearning来创建用户,设置权限,规定哪些用户可以查询哪个库,哪些用户可以修改哪个库,查询、修改操作需要经过那些人的审批后才能执行,执行完成的SQL修改语句可以进行回退,可以监控追溯到哪些人执行了哪些SQL。

    以此我们可以搭建一个监控SQL执行的审计平台,也方便的实现数据库权限的分层管理。

    下面我们详细来看看yearning的搭建和使用。

    2. 搭建步骤

    2.1 安装包安装yearning

    1、首先创建一个yearning数据库

    在这里插入图片描述

    2、下载yearning

    yearning下载地址

    这里选择3.1.0版本下载

    在这里插入图片描述

    3、将下载的压缩包上传到服务器上,或者可以通过wget指令直接在服务器上下载

    wget https://github.com/cookieY/Yearning/releases/download/v3.1.0/Yearning-v3.1.0-linux-amd64.zip
    
    • 1

    如果没有安装wget工具可以通过如下指令安装

    yum install wget
    
    • 1

    4、进入压缩包所在目录,解压压缩包

    cd /usr/local/yearning
    unzip Yearning-v3.1.0-linux-amd64.zip
    
    • 1
    • 2

    5、进入yearning安装路径,修改配置文件

    cd Yearning
    vim conf.toml
    
    • 1
    • 2

    修改内容如下,将数据库地址修改为你自己的

    [Mysql]
    Db = "Yearning"
    Host = "192.168.220.1"
    Port = "3306"
    Password = "123456"
    User = "root"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    6、安装Yearning

    ./Yearning install
    
    • 1

    在这里插入图片描述

    7、开启8000端口,如果已经开启或者已关闭防火墙可忽略此步骤

    # 查询端口是否开放
    firewall-cmd --query-port=8000/tcp
    # 开启端口
    firewall-cmd --add-port=8000/tcp --permanent
    # 开启后重新加载
    firewall-cmd --reload
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    8、启动yearning

    ./Yearning run
    
    • 1

    在这里插入图片描述

    9、访问http://192.168.14.128:8000,这里的ip是你自己服务器ip

    输入账号密码,默认登陆账号密码为:admin/Yearning_admin

    在这里插入图片描述

    如图,登陆成功

    在这里插入图片描述

    2.2 docker安装yearning

    如果你本身安装了docker,或者你只是想在本机简单搭建一个yearning来玩玩,那么可以尝试用docker来安装yearning

    安装指令如下,注意以下调整为你自己的mysql地址和账号密码

    docker run -itd \
      --name yearning \
      --restart unless-stopped \
      -p 8000:8000 \
      -e MYSQL_ADDR=192.168.0.5:3306 \
      -e MYSQL_USER=root \
      -e MYSQL_PASSWORD=123456 \
      -e MYSQL_DB=yearning \
      zhangsean/yearning
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    3. yearning使用指南

    3.1 基础配置

    1、首先设置我们发送消息的邮箱,后续可以通过这个邮箱推送消息给指定的审核人,如果不需要邮件提醒可以跳过,当然也支持钉钉机器人消息提醒

    在这里插入图片描述
    点击邮件测试,我们会在收件邮件中收到一封测试邮件

    2、然后在下方的进阶设置中,我们可以设置环境名称,一般命名为各个mysql服务的名称,同时可以选择开启查询审核,最后不要忘记点击保存

    在这里插入图片描述
    3、在管理-用户中新建用户

    在这里插入图片描述
    4、在管理-流程中新建流程,用于管理数据库修改或查询

    在这里插入图片描述
    5、添加数据源

    在这里插入图片描述

    6、添加权限组,相当于角色赋权

    在这里插入图片描述
    7、给用户设置权限

    在这里插入图片描述
    8、我们可以在审核规则中设置需要限制的条件

    在这里插入图片描述
    9、在自动任务中可以设置自动审核通过的操作,比如要开放开发环境的数据库修改权限时就可以在这里设置

    在这里插入图片描述

    3.2 提交查询、修改申请

    1、在工单申请中选择需要进行申请的操作,比如查询,选择需要查询的数据库,并且可以选择是否需要导出查询数据

    实际操作的时候注意做好权限分配,比如普通开发人员只分配数据库查询权限,开发组长分配DML权限,数据库管理员分配DDL权限

    在这里插入图片描述
    2、如果开启了查询审核,则需要审批人通过之后才能进行查询操作

    在这里插入图片描述
    3、如果想直接跳过查询审核,可以在设置中关闭查询审核

    在这里插入图片描述
    4、审核通过后,申请人点击工单申请即可进行查询

    在这里插入图片描述
    在这里插入图片描述
    5、对于DDL,DML操作也类似,也先提交工单,只是提交的工单中就会书写要执行的SQL语句了

    在这里插入图片描述
    6、最后一级审核人审核通过后就会直接执行了

    在这里插入图片描述

    总结

    本期针对数据库审计软件的讲解就到此结束了,多看、多练,亲自实践!

  • 相关阅读:
    题解:ABC320E - Somen Nagashi
    基于SSM的酒店客房管理系统设计与实现
    Nginx单独开启SSL模块和HTTP2模块,无需重新覆盖安装
    工作记录之策略模式
    C# 预处理器指令详解与示例
    Vue中v-model原理
    [山东科技大学OJ]2509 Problem A: 整型占用的存储空间
    k-均值聚类
    护眼灯真的可以保护眼睛吗?市面上的护眼台灯到底是不是智商税
    第十章 开源许可证
  • 原文地址:https://blog.csdn.net/qq_24950043/article/details/126898384