[发明专利]一种在运维审计系统对命令请求提供规则匹配能力的方法在审
| 申请号: | 202010802439.1 | 申请日: | 2020-08-11 |
| 公开(公告)号: | CN111984672A | 公开(公告)日: | 2020-11-24 |
| 发明(设计)人: | 黄代平;范渊;吴永越;郑学新;刘韬 | 申请(专利权)人: | 成都安恒信息技术有限公司 |
| 主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2455 |
| 代理公司: | 成都君合集专利代理事务所(普通合伙) 51228 | 代理人: | 尹新路 |
| 地址: | 610000 四川省成都市自由贸易试验区成*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 审计 系统 命令 请求 提供 规则 匹配 能力 方法 | ||
本发明提出了一种在运维审计系统对命令请求提供规则匹配能力的方法,首先在运维审计系统中配置一系列规则,并按顺序生成规则列表;然后在用户开始运维时,在运维审计系统中使用配置的一系列规则作为参数,构建匹配器;接着在用户开始发送命令请求后,运维系统收到命令请求后,使用构建的匹配器去匹配用户发送的命令请求;所述构建匹配器的具体操作为:读取规则列表,对于规则列表中的每一个规则,利用工厂模式生产出每一个规则对应的规则实例,并将规则实例初始化后添加到匹配器的规则链中。本发明不仅能够将基于不同算法的多个规则组成一个规则链,而且不同的场景可以复用匹配算法,无需重新去适配算法,提升开发人员的开发效率。
技术领域
本发明属于计算机运维审计领域,具体地说,涉及一种在运维审计系统对命令请求提供规则匹配能力的方法。
背景技术
对运维连接的控制是运维审计系统重要的功能之一,而实现运维连接控制中最重要的一环就是规则匹配。为提升用户体验,针对某个应用场景应支持配置多种不同匹配算法的规则,同时多个规则的匹配顺序可由用户随意调整。在本方法提出之前,开发者需要针对每个应用场景单独去适配各种匹配算法,这会出现很多冗余,比如对于正则匹配算法,需要分别针对shell命令控制和SQL语句控制做适配,这种方式存在难于维护和扩展的问题。
现有的两个应用场景为:
(1)针对SSH/TELNET连接的shell命令控制:对满足某些规则的shell命令,采取某些动作(阻断、审批等),如禁止执行“rm test_file”;
(2)针对数据库连接的SQL语句控制:对满足某些规则SQL语句,采取某些动作(阻断、审批等),如禁止执行“SELECT .+ FROM test_table”。
现有的三种匹配算法(规则类型)为:
(1)基于命令参数分解的逐参匹配(parms),如匹配包含test_file参数的rm命令,匹配包含test_table参数的SELECT类型语句;
(2)基于整行命令的正则匹配(regex),如匹配满足正则式“rm .*test_file($| )”的请求;
(3)基于SQL语法解析的规则匹配(parser),如匹配所有对test_table的无条件的更改(增加/删除/更新)操作。
在现有的技术中,开发者需要针对这两个场景分别去适配这三种匹配算法,这样就有5种组合情况(基于SQL语法解析的规则匹配无需对shell命令控制场景做适配),需要做5次模块适配:
(1)用基于命令参数分解的逐参匹配规则对shell命令进行命令控制;
(2)用基于整行命令的正则匹配规则对shell命令进行命令控制;
(3)用基于命令参数分解的逐参匹配规则对SQL语句进行命令控制;
(4)用基于整行命令的正则匹配规则对SQL语句进行命令控制;
(5)用基于SQL语法分析的匹配规则对SQL语句进行命令控制;
可见适配工作量是M*N(M为算法个数,N为应用场景个数),这通常是没必要的,我们期望的结果是不管应用场景怎么增加,都无需重新去适配算法,即针对匹配算法的适配次数应为M*1。
而且由于不同匹配算法的API不同,如果开发者强行去支持在一个规则链中混用不同的匹配算法规则,则会大量使用if/else做分支判断,这将会增加维护难度,且如果多个地方的分支判断逻辑由于疏忽没有达到一致,则可能会出现难以发现的BUG。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都安恒信息技术有限公司,未经成都安恒信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010802439.1/2.html,转载请声明来源钻瓜专利网。





