一种用于堡垒机的SSH高危命令识别与阻断系统技术方案

技术编号:38561296 阅读:12 留言:0更新日期:2023-08-22 21:02
本发明专利技术公开了一种用于堡垒机的SSH高危命令识别与阻断系统,包括软件管理模块、代理模块、认证模块和数据库、命令提取模块和命令识别模块;命令提取模块同时从发送报文和回传报文中解析客户端输入的命令;命令识别模块接收一条待识别的命令,从数据库中获取高危命令规则库,根据高危命令规则库里的每一条规则构造相应的正则表达式去匹配待识别的命令。本发明专利技术利用正则表达式对高危命令进行模糊匹配识别与阻断,保证高危命令不会在目标服务器中执行。行。行。

【技术实现步骤摘要】
一种用于堡垒机的SSH高危命令识别与阻断系统


[0001]本专利技术属于信息安全
,尤其涉及一种用于堡垒机的SSH高危命令识别与阻断系统。

技术介绍

[0002]大数据时代下,数据存储在各个企业的服务器中,在对服务器进行运维操作时,如果出现不当操作将会导致数据丢失,给企业带来巨大的损失。在相关
中的一种通用解决方案是,使用堡垒机的作为客户端与服务器之间的代理工具,分析所有客户端与服务器之间的交互报文,实现对运维操作的控制与审计,达到事前预防、事中干预和事后分析的效果。目前市面上的堡垒机有两种类型,一种是企业研发的、私有的堡垒机,通过收取费用向客户提供服务,功能齐全完备但不开源;另一种是开源堡垒机,但是开源堡垒机仅仅提供了基础的运维审计功能,缺少控制功能,例如如何对运维人员将要执行的命令进行高危命令识别并阻断?现有技术中,公开号CN104135389B的中国专利提出一种基于代理技术的SSH协议运维审计系统的审计方法,使用一种基于在代理服务器中加入监控模块的解决方案,其核心思想是通过监控(包括实时监控和监控回放)对运维人员进行的运维操作进行事后分析、通过实时监控对运维人员进行的运维操作进行事中干预,及时发现风险并阻断。同时,方案中提到代理服务器会根据违规规则库对命令信息进行比对,如发现违规的操作行为,则终止数据包的转发,并中断整个运维会话。在上述技术方案中,针对高危命令阻断有两种方法,其一是审计人员通过实时监控发现风险并阻断,其二是依靠代理服务器根据违规规则库对命令信息进行比对来发现违规操作,这两种方法存在效果不稳定、技术描述模糊等缺点。第一,实时监控的效果受网络延迟影响,监控数据从代理服务器发送至客户端存在时延,审计人员看到的画面未必是“实时的”。当网络延迟较高时,当审计人员看到运维人员正在输入危险命令而向代理服务器发送阻断命令时,可能运维人员已经执行了该命令。此外,如果违规规则库复杂,通过实时监控发现风险操作,对审计人员的知识水平要求很高。第二,该技术方案并没有详细描述代理服务器如何根据违规规则库将命令识别为违规操作。

技术实现思路

[0003]有鉴于此,本专利技术的目的是在代理服务器中根据高危命令规则库,利用正则表达式对高危命令进行模糊匹配识别与阻断。在使用堡垒机的作为客户端与服务器之间的代理工具,以实现对运维操作的控制与审计的模型中,客户端通过SSH连接服务器并对其进行运维操作,运维操作包括一系列运维人员要执行的命令。
[0004]本专利技术公开的一种用于堡垒机的SSH高危命令识别与阻断系统,包括软件管理模块、代理模块、认证模块和数据库,还包括命令提取模块和命令识别模块;所述命令提取模块同时从发送报文和回传报文中解析客户端输入的命令,当命令提取模块感知到客户端将要执行一条命令时,立刻将提取到的完整命令送入命令识别模块
进行识别;所述命令识别模块接收一条待识别的命令,从数据库中获取高危命令规则库,根据高危命令规则库里的每一条规则构造相应的正则表达式去匹配待识别的命令;如果该命令与所有规则都不匹配,则认为不是高危命令,代理模块可以将其转发至目标服务器;否则认为该命令是高危命令,指示代理模块发送审批请求至软件管理模块,代理模块根据审批结果决定是否将该命令转发至目标服务器。
[0005]进一步地,所述正则表达式的构造方式如下:将高危命令规则按照空格分割成若干部分part1,part2,

,part
n
,在任意两个part之间允许存在若干空格或者Tab,且至少存在一个空格或一个Tab分开两个part,在part1之前和part
n
之后允许存在集合{空,若干空格和Tab的组合,分号,|,||,&&}中的一个。
[0006]进一步地,对于强制删除命令rm
ꢀ‑
rf,所述正则表达式如下:(^|;|

|&&|[|]{1,2}|[[:blank:]]+)rm[:blank:]+

rf($|;|

|&&|[|]{1,2}|[blank:]+)其中,异或符^表示开头字符串可为空;分号符;表示一条命令结束;反引号符`表示将两个反引号符之间的字符串当做命令处理而忽略特殊字符的转义功能;逻辑与符&&表示命令连接;[|]{1,2}表示1个或2个管道符,1个管道符表示将上一条命令的输出当做下一条命令的输入,2个管道符表示逻辑或用于命令连接;[blank:]表示空格或Tab键;+表示匹配前面子表达式1次或以上;()表示将括号中的字符串作为一个整体,括号内通过或运算符|连将多个部分连接起来表示只需要匹配其中之一即可;rm表示删除命令,

rf表示强制递归删除文件及子目录;$表示结尾字符串可以为空。
[0007]进一步地,所述命令提取模块使用SSH协议进行运维审计,每次传送一个字符,即每次传送客户端的一次输入与服务器的一次响应。
[0008]本专利技术的有益效果如下:在代理服务器中根据高危命令规则库,利用正则表达式对高危命令进行模糊匹配识别与阻断,保证高危命令不会在目标服务器中执行,将高危命令识别任务全自动化,而且不受网络延迟的影响,确保目标服务器的安全。
附图说明
[0009]图1本专利技术的高危命令识别与阻断系统结构图;图2一条高危命令规则(rm
ꢀ‑
rf)的正则表达式构造原理;图3无选项命令的测试结果图;图4有选项命令的测试结果图。
实施方式
[0010]下面结合附图对本专利技术作进一步的说明,但不以任何方式对本专利技术加以限制,基于本专利技术教导所作的任何变换或替换,均属于本专利技术的保护范围。
[0011]本专利技术的系统架构如图1所示,本专利技术应用堡垒机代理技术,实现SSH协议运维操作的代理转发、会话记录、命令分析与高危命令识别阻断。当客户端需要进行运维操作时,代理服务器同时与客户端和目标服务器建立SSH通讯。一边接收来自客户端的报文(发送报
文),经过代理模块分析后转发至目标服务器;一边接收来自服务器的报文(回传报文),经过代理模块分析后转发至客户端。
[0012]本专利技术包括命令提取模块和命令识别模块。命令提取模块同时从发送报文和回传报文中解析客户端输入的命令,当命令提取模块感知到客户端将要执行一条命令时(比如客户端按下回车),立刻将提取到的完整命令送入命令识别模块进行识别(进行模糊匹配)。
[0013]命令识别模块接收一条待识别的命令,从数据库中获取高危命令规则库,根据高危命令规则库里的每一条规则构造相应的正则表达式去匹配待识别的命令。如果该命令与所有规则都不匹配,则认为不是高危命令,代理模块可以将其转发至目标服务器;否则认为该命令是高危命令,令代理模块发送审批请求至软件管理模块,代理模块根据审批结果决定是否将该命令转发至目标服务器。
[0014]命令提取模块:命令提取模本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于堡垒机的SSH高危命令识别与阻断系统,包括软件管理模块、代理模块、认证模块和数据库,其特征在于,还包括命令提取模块和命令识别模块;所述命令提取模块同时从发送报文和回传报文中解析客户端输入的命令,当命令提取模块感知到客户端将要执行一条命令时,立刻将提取到的完整命令送入命令识别模块进行识别;所述命令识别模块接收一条待识别的命令,从数据库中获取高危命令规则库,根据高危命令规则库里的每一条规则构造相应的正则表达式去匹配待识别的命令;如果该命令与所有规则都不匹配,则认为不是高危命令,代理模块可以将其转发至目标服务器;否则认为该命令是高危命令,指示代理模块发送审批请求至软件管理模块,代理模块根据审批结果决定是否将该命令转发至目标服务器。2.根据权利要求1所述的用于堡垒机的SSH高危命令识别与阻断系统,其特征在于,所述正则表达式的构造方式如下:将高危命令规则按照空格分割成若干部分part1,part2,

,part
n
,在任意两个part之间允许存在若干空格或者Tab,且至少存在一个空格或一个Tab分开两个part,在part1之前和part
n
之后允许存在集合{空,若干空格和Tab的组合,分号,|,||,&&}中的一个。3. 根据权利要求2所述的用于堡垒机的SSH高危命令识别与...

【专利技术属性】
技术研发人员:杨志邦黄金朋李肯立蔡宇辉余思洋杨圣洪唐伟段明星吕婷
申请(专利权)人:湖南匡安网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1