数据库中间件 Mycat(三)安全设置与监控工具

发布时间:2022-09-14 19:30

Table of Contents

1.Mycat 安全设置

1.1 权限配置

user 标签权限控制

privileges 标签权限控制

1.2 SQL 拦截

白名单

黑名单

2.Mycat 监控工具

2.1 Mycat-web 简介

2.2 Mycat-web 配置使用

ZooKeeper 安装

Mycat-web 安装

Mycat-web 配置

2.3 Mycat 性能监控指标


 

1.Mycat 安全设置

1.1 权限配置

user 标签权限控制

目前 Mycat 对于中间件的连接控制并没有做太复杂的控制,目前只做了中间件逻辑库级别的读

写权限控制。是通过 server.xml 的 user 标签进行配置。

 

#server.xml配置文件user部分

123456
TESTDB


user
TESTDB
true
数据库中间件 Mycat(三)安全设置与监控工具_第1张图片
 
配置说明
name
应用连接中间件逻辑库的用户名
 
password
该用户对应的密码
 
TESTDB
应用当前连接的逻辑库中所对应的逻辑表。schemas 中可以配置一个或多个
 
readOnly
应用连接中间件逻辑库所具有的权限。true 为只读,false 为读写都有,默认为 false
 

privileges 标签权限控制

在 user 标签下的 privileges 标签可以对逻辑库(schema)、表(table)进行精细化的 DML 权限控
制。
privileges 标签下的 check 属性,如为 true 开启权限检查,为 false 不开启,默认为 false。
由于 Mycat 一个用户的 schemas 属性可配置多个逻辑库(schema) ,所以 privileges 的下级
节点 schema 节点同样可配置多个,对多库多表进行细粒度的 DML 权限控制。

#server.xml配置文件privileges部分
#配置orders表没有增删改查权限

 123456
 TESTDB
 


数据库中间件 Mycat(三)安全设置与监控工具_第2张图片

配置说明 curd
0禁止 1允许

数据库中间件 Mycat(三)安全设置与监控工具_第3张图片

 

1.2 SQL 拦截

firewall 标签用来定义防火墙;firewall 下 whitehost 标签用来定义 IP 白名单 ,blacklist 用来定义
SQL 黑名单。

 

白名单

#设置白名单
#server.xml配置文件firewall标签
#配置只有192.168.71.128主机可以通过mycat用户访问,user这个用户访问不了

 
 
 

黑名单

可以通过设置黑名单,实现 Mycat 对具体 SQL 操作的拦截,如增删改查等操作的拦截。

#设置黑名单
#server.xml配置文件firewall标签
#配置禁止mycat用户进行删除操作

 
 
 
 
 false

黑名单拦截明细配置

配置项 缺省值 描述
selelctAllow true 是否允许执行 SELECT 语句
selectAllColumnAllow true 是否允许执行 SELECT * FROM T 这样的语句。如果设置为 false,不允许
执行 select * from t,但 select * from (select id, name from t) a。这个选项是防御程序通过调用 select *获得数据
表的结构信息。
selectIntoAllow true SELECT 查询中是否允许 INTO 字句
deleteAllow true 是否允许执行 DELETE 语句
updateAllow true 是否允许执行 UPDATE 语句
insertAllow true 是否允许执行 INSERT 语句
replaceAllow true 是否允许执行 REPLACE 语句
mergeAllow true 是否允许执行 MERGE 语句,这个只在 Oracle 中有用
callAllow true 是否允许通过 jdbc 的 call 语法调用存储过程
setAllow true 是否允许使用 SET 语法
truncateAllow true truncate 语句是危险,缺省打开,若需要自行关闭
createTableAllow true 是否允许创建表 
alterTableAllow true 是否允许执行 Alter Table 语句
dropTableAllow true 是否允许修改表
commentAllow false 是否允许语句中存在注释,Oracle 的用户不用担心,Wall 能够识别 hints
和注释的区别
noneBaseStatementAllow false 是否允许非以上基本语句的其他语句,缺省关闭,通过这个选项 
就能够屏蔽 DDL。
multiStatementAllow false 是否允许一次执行多条语句,缺省关闭 
useAllow true 是否允许执行 mysql 的 use 语句,缺省打开
describeAllow true 是否允许执行 mysql 的 describe 语句,缺省打开
showAllow true 是否允许执行 mysql 的 show 语句,缺省打开
commitAllow true 是否允许执行 commit 操作
rollbackAllow true 是否允许执行 roll back 操作
如果把 selectIntoAllow、deleteAllow、updateAllow、insertAllow、mergeAllow 都设置为 false,这就是一
个只读数据源了。

 

2.Mycat 监控工具

2.1 Mycat-web 简介

        Mycat-web 是 Mycat 可视化运维的管理和监控平台,弥补了 Mycat 在监控上的空白。帮 Mycat 分
担统计任务和配置管理任务。Mycat-web 引入了 ZooKeeper 作为配置中心,可以管理多个节点。
Mycat-web 主要管理和监控 Mycat 的流量、连接、活动线程和内存等,具备 IP 白名单、邮件告警等模
块,还可以统计 SQL 并分析慢 SQL 和高频 SQL 等。为优化 SQL 提供依据。

 

数据库中间件 Mycat(三)安全设置与监控工具_第4张图片

 

 

2.2 Mycat-web 配置使用

ZooKeeper 安装

#1下载安装包
http://zookeeper.apache.org/
 
 
#2 安装包拷贝到Linux系统/opt目录下,并解压
tar -zxvf zookeeper-3.4.11.tar.gz
 
#3 进入ZooKeeper解压后的配置目录(conf),复制配置文件并改名
cp zoo_sample.cfg zoo.cfg
 
#4 进入ZooKeeper的命令目录(bin),运行启动命令

./zkServer.sh start

#5 ZooKeeper服务端口为2181,查看服务已经启动
netstat -ant | grep 2181

 

Mycat-web 安装

#1下载安装包
http://mycat.org.cn/
 
#2 安装包拷贝到Linux系统/opt目录下,并解压
tar -zxvf Mycat-web-1.0-SNAPSHOT-20170102153329-linux.tar.gz
 
#3 拷贝mycat-web文件夹到/usr/local目录下
cp -r mycat-web /usr/local
 
#4 进入mycat-web的目录下运行启动命令
cd /usr/local/mycat-web/
./start.sh &
 
#5 Mycat-web服务端口为8082,查看服务已经启动
netstat -ant | grep 8082
 
#6 通过地址访问服务
http://192.168.71.128:8082/mycat/
 

数据库中间件 Mycat(三)安全设置与监控工具_第5张图片

Mycat-web 配置

#1 先在注册中心配置ZooKeeper地址,配置后刷新页面,可见

数据库中间件 Mycat(三)安全设置与监控工具_第6张图片

 

#2 新增Mycat监控实例
注意:防火墙和前面配置的白名单是否允许
 

数据库中间件 Mycat(三)安全设置与监控工具_第7张图片

数据库中间件 Mycat(三)安全设置与监控工具_第8张图片

 

2.3 Mycat 性能监控指标

在 Mycat-web 上可以进行 Mycat 性能监控,例如:内存分享、流量分析、连接分析、活动线程分
析等等。
 

数据库中间件 Mycat(三)安全设置与监控工具_第9张图片

 

 

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号