mysql做数据库的风险_基于Mysql代理实现的数据库风险控制方法与流程

1e50018e04b9dd828cf1ee80867011b9.gif

本发明涉及一种对数据库服务器的管理风险进行控制的方法。

背景技术:

mysql代理是一个处于客户端工具和数据库服务器之间的中间程序,其最基本的用法就是作为一个请求拦截、请求中转的中间层,它可以监测、分析或改变它们的通信。mysql代理使用灵活,没有限制,常见的用途包括:负载均衡,故障、查询分析,查询过滤和修改等等。简单地说,mysql代理就是一个连接池,负责将前台应用的连接请求转发给后台的数据库。对于应用来说,数据库服务器是不透明的,而mysql代理则完全透明,应用只需要连接到mysql代理即可。

虽然mysql代理为用户提供了很大的便利性,但在现实情况下,数据库服务器每天面对着大量用户执行着不同的命令,这些操作可能会使数据库服务器因误操作或恶意攻击而导致某些关键数据被删除。mysql代理虽然解决了很多问题,却不能拦截过滤这些安全隐患,也不会记录每个用户的操作行为,这样就大大增加了数据库服务器管理的风险和难度。

技术实现要素:

本发明的目的是:实现在mysql代理中记录客户端不同用户对应操作的命令以应对事后追查,以及拦截分析执行的命令以控制操作风险。

为了达到上述目的,本发明的技术方案是提供了一种基于mysql代理实现的数据库风险控制方法,其特征在于,包括以下步骤:

步骤1、mysql客户端通过mysql代理建立与mysql数据库连接的同时建立与旁路的连接,旁路中存储有用户预先设定的策略;

步骤2、当mysql客户端向mysql代理发送请求后,mysql代理将请求数据包转发给旁路,旁路将请求数据包中包含的命令与预先设定的策略相匹配,若旁路策略匹配通过,则mysql代理向mysql数据库发送请求数据包并将请求结果返回给mysql客户端,若旁路策略匹配未通过,则mysql代理直接向mysql客户端返回拒绝请求。

优选地,所述步骤1包括以下步骤:

mysql客户端发起与mysql数据库的连接请求,mysql代理在收到来自mysql客户端的连接请求后,向旁路请求初始化旁路信息,并在旁路初始化成功后向mysql数据库发起连接请求,连接建立成功后向客户端工具返回连接建立成功的信息。

优选地,步骤1中,所述策略包括审计策略与监控策略。

优选地,所述监控策略用于对所述请求数据包进行事中拦截;所述审计策略用于对所述请求数据包进行事后审计。

本发明提供的基于mysql代理实现的数据库风险控制方法可以在用户操作数据库时通过旁路功能记录用户操作数据库的动作,作为事后审计时用户在操作数据库的一种行为凭据。同时旁路功能通过监控策略监控用户操作,对影响较大的操作可以进行二次确认以避免误操作带来的安全隐患,对高危操作会向管理员发送告警信息或直接拦截以保障数据库数据的安全。

附图说明

图1为本发明的整体设计构架;

图2为mysql代理旁路连接过程;

图3为mysql代理旁路命令过程。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

如图1所示,本发明提供了一种基于mysql代理实现的数据库风险控制方法,包括以下步骤:

步骤1、mysql客户端通过mysql代理建立与mysql数据库连接的同时建立与旁路的连接。旁路中存储有用户预先设定的策略,包括审计策略与监控策略。

结合图2,步骤1具体包括以下步骤:

mysql客户端请求与mysql数据库连接过程中,从mysql客户端发起连接请求,mysql代理在收到来自mysql客户端的连接请求后,向旁路请求初始化旁路信息,并在旁路初始化成功后向mysql数据库发起连接请求,连接建立成功后向mysql客户端返回连接建立成功的信息。

步骤2、当mysql客户端向mysql代理发送请求后,mysql代理将请求数据包转发给旁路,旁路将请求数据包中包含的命令与预先设定的策略相匹配,即通过用户自定义的“审计策略”和“监控策略”进行对应操作,以实现来自mysql客户端的命令的事中拦截控制以及事后审计功能。

若旁路策略匹配通过,则mysql代理向mysql数据库发送请求数据包并将请求结果返回给mysql客户端,若旁路策略匹配未通过,则mysql代理直接向mysql客户端返回拒绝请求。

监控策略同步监听、同步处理来自客户端工具的请求,通过预先配置的策略(匹配命令的正则表达式,用文件存储或数据库存储)来确定对当前命令采取的控制手段(通过或拒绝)。在文件或数据库中预先存储不同命令的正则表达式,以及与每个正则表达式相对应的控制手段,例如:通过或拒绝。当接收到来自客户端工具的请求后,将请求中包含的命令与预先存储的正则表达式相匹配,匹配得到相应的正则表达式后,获得相对应的控制手段。匹配策略时可以设置优先级,根据配置的策略的优先级逐级匹配,直到匹配到适当的策略。如果没有匹配到任何策略则采用默认策略,默认策略为全部放行,其优先级最低(用户也可以定义默认策略为全部拒绝)。

审计策略同步监听、异步处理来自客户端工具的请求,通过预先配置的策略(匹配命令的正则表达式,用文件存储或数据库存储)来确定对当前命令采取的审计措施(普通记录、分级记录等)。分级可根据命令影响大小确定(如删除命令级别较高,查询命令级别较低)。与监控策略相类似,在文件或数据库中预先存储不同命令的正则表达式,以及与每个正则表达式相对应的审计措施,例如:普通记录、分级记录等。当接收到来自客户端工具的请求后,将请求中包含的命令与预先存储的正则表达式相匹配,匹配得到相应的正则表达式后,获得相对应的审计措施。匹配策略时可以设置优先级,根据配置的策略的优先级逐级匹配,直到匹配到适当的策略。如果没有匹配到任何策略则仅记录命令信息(无级别)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值