• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

mycat的安全管理和监控工具

武飞扬头像
梦断泪影
帮助1

1. mycat的安全管理

1.1 权限配置

  1. user标签权限控制

目前mycat对于中间件的连接控制并没有做太复杂的控制,目前只做了中间件逻辑库级别的读写控制权限,可以通过user标签进行配置。

标签说明:

标签属性 说明
name 应用链接中间件逻辑库的用户名
password 该用户对应的密码
schemas 应用当前连接的逻辑库中所对应的逻辑表,schemas中可以配置一个或者多个
readonly 应用连接中间件逻辑库所具有的权限。true为只读,false为读写都有,默认是false

添加配置:

<user name="root" defaultAccount="true">
	<property name="password">123456</property>
	<property name="schemas">TESTDB</property>
</user>
<user name="mycat">
	<property name="password">mycat</property>
	<property name="schemas">TESTDB</property>
	<property name="readOnly">true</property>
</user>

尝试通过不同的用户名称进行登录,会发现root用户具有所有的权限,但是mycat用户只是具备了查询的权限,无法完成更新和插入的操作。

  1. privileges标签权限控制

在user标签下的privileges标签可以对逻辑库,表进行更加细致的DML权限控制。
privileges标签下的check属性,如果值为true则表示开启权限检查,false则表示不开启权限检查
由于mycat一个用户的schemas属性可以配置多个逻辑库,所以privileges的下级节点schema节点同样可配置多个,对多库多表进行细粒度的DML权限控制

配置权限:

DML权限 增加 更新 查询 删除
0001 禁止 禁止 禁止 允许
0010 禁止 禁止 允许 禁止
0100 禁止 允许 禁止 禁止
1000 允许 禁止 禁止 禁止

修改server.xml文件

<user name="mycat">
	<property name="password">mycat</property>
	<property name="schemas">TESTDB</property>
	<privileges check="true">
		<schema name="TESTDB" dml="1111">
			<table name="orders" dml="0000"></table>
		</schema>
	</privileges>
</user>

当使用mycat用户进行登录的时候会发现其他的表都可以做增删改查操作,但是orders表什么操作都做不了,这就是对权限作了控制。

1.2 SQL拦截

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

  1. 白名单
    可以通过设置白名单,实现某主机某用户可以访问mycat,而其他主机用户禁止访问。
<firewall>
	<whitehost>
		<host host="192.168.109.132" user="mycat"></host>
	</whitehost>
</firewall>
  1. 黑名单
    用户还可以通过设置黑名单,实现mycat对具体sql操作的拦截,如增删改查等操作的拦截
    黑名单SQL拦截功能列表:
配置项 默认值 功能
selectAllow true 是否允许执行select语句
selectColumnAllow true 是否允许执行select *操作
selectIntoAllow true 是否允许select语句中包含into子句
deleteAllow true 是否允许执行delete语句
updateAllow true 是否允许执行update语句
insertAllow true 是否允许执行insert语句
replaceAllow true 是否允许执行replace语句
createTableAllow true 是否允许创建表
setAllow true 是否允许使用set语法
truncateAllow true 是否允许执行truncate语句
alterTableAllow true 是否允许执行alter table语句
dropTableAllow true 是否允许修改表
commitAllow true 是否允许执行commit操作
rollbackAllow true 是否允许执行rollback操作
useAllow true 是否允许执行use语句
describeAllow true 是否允许执行describe操作
showAllow true 是否允许执行show语句

2. mycat监控工具

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

  1. 下载地址:http://dl.mycat.org.cn/
    学新通

  2. 安装zookeeper

1、下载zookeeper安装包
2、安装拷贝到/usr/local目录,并解压
3、进入到zookeeper解压后的目录conf,复制配置文件并改名
cp zoo_sample.cfg zoo.cfg
4、进入到zookeeper的bin目录,运行启动命令
./zkServer.sh start
5、执行如下命令,看zookeeper是否正常启动
netstat -nlpt | grep 2181

  1. 安装mycat-web

1、下载mycat-web安装包
2、解压安装包到/usr/local目录
3、配置zookeeper
进入到mycat-web的/usr/local/mycat-web/mycat-web/WEB-INF/classes,修改mycat.properties文件,可以修改zookeeper的地址
4、进入mycat-web的目录运行启动命令
./start.sh &
5、mycat-web的服务端口是8082,查看服务是否启动
netstat -nlpt | grep 8082
6、通过地址访问服务
192.168.109.132:8082/mycat/

  1. mycat-web配置
    学新通
    学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhiafbfh
系列文章
更多 icon
同类精品
更多 icon
继续加载