暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

为数据库安全再加一层防护——数据库审计软件yearning

Elasticsearch之家 2022-09-18
2003

0. 引言

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

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

1. yearning软件介绍

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

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

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

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

2. 搭建步骤

2.1 安装包安装yearning

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



2、下载yearning

yearning下载地址[1]

这里选择3.1.0版本下载



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

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

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

      yum install wget

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

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

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

          cd Yearning
          vim conf.toml

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

            [Mysql]
            Db = "Yearning"
            Host = "192.168.220.1"
            Port = "3306"
            Password = "123456"
            User = "root"

            6、安装Yearning

              ./Yearning install



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

                # 查询端口是否开放
                firewall-cmd --query-port=8000/tcp
                # 开启端口
                firewall-cmd --add-port=8000/tcp --permanent
                # 开启后重新加载
                firewall-cmd --reload

                8、启动yearning

                  ./Yearning run



                  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

                    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、最后一级审核人审核通过后就会直接执行了



                    总结

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

                    Elastic  

                    References

                    [1]
                     yearning下载地址: https://github.com/cookieY/Yearning/releases


                    文章转载自Elasticsearch之家,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                    评论