![危险命令检测方法、系统、计算机设备及可读存储介质与流程](http://img.xjishu.com/img/zl/2021/11/5/cv9hwxhp5.jpg)
1.本技术涉及信息安全技术领域,特别是涉及危险命令检测方法、系统、计算机设备及可读存储介质。
背景技术:2.堡垒机的产生是为了数据安全,有数据显示,网站数据70%故障均来自内部人员的操作失误。作为企业的运维人员,其掌握着数据应用服务器的最高权限,一旦运维人员的操作出现任何问题,那么将给企业带来巨大的损失,为了能够预防和及时阻止此类事情的发生,运维堡垒机应运而生。
3.堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设备的操作行为,以便集中报警、及时处理及审计定责。
4.随着互联网的快速发展,各行各业越来越依赖互联网,企业内部的服务器、应用以及网络设备需求越来越多,相对应的运维人员也逐渐增加,在传统的堡垒机对命令控制这块,基于正则或者直接匹配的情况下,很容易被直接绕过,无法达到命令控制的目的,网络安全法的实行,标志着权限控制越来越重要,但是目前堡垒机基于传统的命令控制,严重影响了权限控制,使一些员工通过绕过使用危险命令,最后造成严重的安全事件。
技术实现要素:5.本技术实施例提供了一种危险命令检测方法、系统、计算机设备及可读存储介质,以至少解决相关技术中存在危险命令被绕过的问题。
6.第一方面,本技术实施例提供了一种危险命令检测方法,应用于堡垒机,该方法包括:方法包括:
7.获取输入的命令和文件,并以字符协议流量的形式传输至堡垒机;
8.将经过所述堡垒机的字符协议流量进行缓存;
9.对所述字符协议流量进行检测,判断所述命令是否为危险命令以及所述文件是否包含危险命令字符;
10.若判断到所述命令为危险命令或所述文件包含危险命令字符,则将所述字符协议流量进行拦截。
11.在其中一些实施例中,所述判断所述命令是否为危险命令以及所述文件是否包含危险命令字符的步骤包括;
12.将所述文件和所述命令与命令列表进行比对,查询所述命令列表内是否包括所述文件和所述命令,其中,所述命令列表为所述堡垒机内预设的危险命令的集合。
13.在其中一些实施例中,所述字符协议包括ssh、rdp、telnet、vnc、ftp、sftp协议。
14.在其中一些实施例中,所述获取输入的命令和文件,并以字符协议流量的形式传输至堡垒机的步骤之前,包括:
15.获取登录请求端的账号ip以及mac地址;
16.查询所述账号ip是否为绑定账号;
17.若是,则查询所述mac地址是否为所述账号ip的常用地址;
18.若所述mac地址不是所述账号ip的常用地址,则将所述账号ip于所述mac地址所操作的所有指令以及文件标记为敏感命令。
19.在其中一些实施例中,所述将经过所述堡垒机的字符协议流量进行缓存的步骤之后,包括:
20.查询所述文件和所述命令中是否包含所述敏感命令;
21.若是,则将所述字符协议流量进行复核。
22.第二方面,本技术实施例提供了一种危险命令检测系统,所述系统包括:
23.输入模块:用于获取输入的命令和文件,并以字符协议流量的形式传输至堡垒机;
24.缓存模块:用于将经过所述堡垒机的字符协议流量进行缓存;
25.检测模块:用于对所述字符协议流量进行检测,判断所述命令是否为危险命令以及所述文件是否包含危险命令字符;
26.拦截模块:用于判断到所述命令为危险命令或所述文件包含危险命令字符,将所述字符协议流量进行拦截。
27.在其中一些实施例中,所述检测模块具体包括:
28.对比单元:用于将所述文件和所述命令与命令列表进行比对,查询所述命令列表内是否包括所述文件和所述命令,其中,所述命令列表为所述堡垒机内预设的危险命令的集合。
29.在其中一些实施例中,所述系统还包括:
30.获取模块:用于获取登录请求端的账号ip以及mac地址;
31.第一查询模块:用于查询所述账号ip是否为绑定账号;
32.第一判断模块:用于当所述账号ip为绑定账号时,查询所述mac地址是否为所述账号ip的常用地址;
33.第二判断模块:用于当所述mac地址不是所述账号ip的常用地址时,则将所述账号ip于所述mac地址所操作的所有指令以及文件标记为敏感命令;
34.第二查询模块:用于查询所述文件和所述命令中是否包含所述敏感命令;
35.复核模块:用于将所述字符协议流量进行复核。
36.第三方面,本技术实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的危险命令检测方法。
37.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的危险命令检测方法。
38.相比于相关技术,本技术实施例提供的危险命令检测方法,在运维人员登录系统后向堡垒机上传文件、命令时,对上传的文件、命令以字符协议流量的形式传输至堡垒机,并将字符协议流量进行缓存,通过检测述字符协议流量中的和所述命令是否为危险命令以及所述文件是否包含危险命令字符来对运维人员上传的命令和文件进行检测,有效的避免了运维人员通过绕过的方式直接上传脚本直接运行脚本内的危险命令;分段执行危险命令
的方式绕过堡垒机;以及通过堡垒机运维一台服务器作为跳板,登录另外一台服务器在该服务器执行危险命令的问题。
39.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
40.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
41.图1是本发明第一实施例提出的危险命令检测方法的流程图;
42.图2是本发明第一实施例提出的危险命令检测方法中获取输入的命令和文件,并以字符协议流量的形式传输至堡垒机的步骤之前的流程图;
43.图3是本发明第一实施例提出的危险命令检测方法中将经过所述堡垒机的字符协议流量进行缓存的步骤之后的流程图;
44.图4是本发明第二实施例提出的危险命令检测系统的结构示意图;
45.图5是本发明第二实施例提出的危险命令检测系统的一种优选结构示意图;
46.图6是本技术实施例提出的计算机设备的硬件结构示意图。
具体实施方式
47.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
48.显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
49.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
50.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单
元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
51.本技术第一实施例提供了一种危险命令检测方法。图1是根据本技术第一实施例的危险命令检测方法的流程图,如图1所示,该流程包括如下步骤:
52.步骤s10,获取输入的命令和文件,并以字符协议流量的形式传输至堡垒机。
53.可以理解的,堡垒机是一种运维审计系统,用户需要运维的协议有哪些就会支持代理哪些,常见的运维协议有ssh、rdp、telnet、vnc、ftp、sftp等,堡垒机是尽可能多的兼容所有的运维协议。当运维人员就某种运维协议进行操作维护时,其职责就是对网络设备、服务器设备、操作系统运行状况进行监控,并针对其出现的异常问题进行优化处理,诸如提供业务需求整理、需求变更和用户体验优化的加载、维护、配置、升级、补丁等方面。以上运维过程中均需要向服务器上传相应的文件和命令来对应实现相应的技术目的。出于安全性的考虑,所有数据都会通过采用堡垒机提升运维过程中的安全性。文件和命令的传输过程可以简单的归纳为pc客户端(xshell等工具)——运维协议(ssh、telnet)——堡垒机(代理转发)——ssh、telnet协议——服务器(linux等)。
54.步骤s20,将经过堡垒机的字符协议流量进行缓存。
55.在本发明实施例中,在使用堡垒机运维网络设备以及linux服务器的时候,将所有经过堡垒机的字符协议流量(包含ssh、telent协议)进行缓存存储,可由有效的防止运维人员通过分段执行命令的方式来跨过堡垒机的拦截,使得运维人员所输入的命令及文件经过缓存,在由后续的检测步骤对相关的命令和文件进行危险命令的检测。
56.步骤s30,对字符协议流量进行检测,判断命令是否为危险命令以及文件是否包含危险命令字符。
57.可以理解的,上述通过将运维人员输入的文件和命令缓存后,同一进行协议形式的字符协议流量进行检测,查询其中是否包含有危险命令。运维人员通过键盘输入的字符会暂时存储在缓存中进行校验对比连续的几个字符是否可以组合为危险命令。具体的,例如输入“r\”然后回车,输入“m”,检测到这种也属于危险命令。
58.在本发明实施例中,上传的文件通过文件查看器进行文件过滤查看是否文件中包含危险命令字符,如果有压缩包文件则进行解压缩后再进行检测,检测结束后根据结果做出对应的处理方式。
59.步骤s40,若判断到命令为危险命令或文件包含危险命令字符,则将字符协议流量进行拦截。
60.综上,通过上述方法,运维人员登录系统后向堡垒机上传文件、命令时,对上传的文件、命令以字符协议流量的形式传输至堡垒机,并将字符协议流量进行缓存,通过检测述字符协议流量中的和所述命令是否为危险命令以及所述文件是否包含危险命令字符来对运维人员上传的命令和文件进行检测,有效的避免了运维人员通过绕过的方式直接上传脚本直接运行脚本内的危险命令;分段执行危险命令的方式绕过堡垒机;以及通过堡垒机运
维一台服务器作为跳板,登录另外一台服务器在该服务器执行危险命令的问题。
61.本发明第一实施例中,查询字符协议流量中的文件和命令是否是危险命令的方法具体包括:
62.将文件和命令与命令列表进行比对,查询命令列表内是否包括文件和命令,其中,命令列表为堡垒机内预设的危险命令的集合。一般上述危险命令的集合由管理人员针预先设置的命令控制库内。
63.此外,需要说明的是,由于堡垒机是一种运维审计系统,用户需要运维的协议有哪些就会支持代理哪些,堡垒机是尽可能多的兼容所有的运维协议,很多用户的网络环境中,仍然会存在telnet此类的协议,但针对telnet此类的协议,堡垒在只做代理转发和审计,系统本身不采用telnet通信协议的。本发明主要克服的技术问题为针对多种类型的字符协议均确保其数据安全性,故本技术所公开的技术方案中,堡垒机的字符协议类型包括但不限于以下几种:ssh、rdp、telnet、vnc、ftp、sftp。
64.在实际运用过程中,如果用户采用上传脚本的方式,到服务器端本地执行脚本,那么上述协议代理的方式就无法检测到脚本中的命令,属于绕过行为,上述任意的协议方式通过本发明所采用的技术手段,使其在字符协议类运维中,通过缓存的技术检测和分析传输文件中存在的可执行命令,以补充协议代理命令提取的不足。
65.本发明第一实施例中,关于该危险命令检测方法,还提出一种获取输入的命令和文件,并以字符协议流量的形式传输至堡垒机的步骤之前的流程图,如图2所示,该流程方法包括:
66.步骤s01,获取登录请求端的账号ip以及mac地址。
67.可以理解的,运维工作的开展是随网络系统的安全性出发的,这使得运维人员存在工作时间的不确定性,运维人员绝大部分情况会发生异地处理紧急事件的可能,而必然存在非工作区域办公的情况,但采用外部pc端进行维护时,往往存在一定的安全隐患。对于此,本技术在运维人员对服务器进行运维时,需要确认其登录请求端的账号ip以及mac地址。
68.步骤s02,查询账号ip是否为绑定账号。
69.其中,上述绑定账号为在建立网络系统是为运维人员提出的具有修改权限的登录账号。
70.步骤s03,若是,则查询mac地址是否为账号ip的常用地址。
71.可以理解的,上述账号ip的常用地址一般为企业的mac地址,其目的是达到安全校验的作用,避免账号被盗用篡改网络系统的服务器而产生隐患。
72.步骤s04,若mac地址不是账号ip的常用地址,则将账号ip于mac地址所操作的所有指令以及文件标记为敏感命令。
73.在本发明实施例中,敏感指令表示当前账号ip与当前mac地址所做出的一切指令及文件是不被信任的,是需要审核的。通过上述方式即避免了网络系统受到非法篡改的同时,也使得相关运维人员可进行一定的维护操作,上述维护操作在审计后如果没有问题,则上述敏感命令相应去除其标记,再正常的查验其命令和文件中是否存在危险命令。
74.具体的,请参阅图3,为本发明第一实施例中查验敏感命令的方法中经过所述堡垒机的字符协议流量进行缓存的步骤之后的流程图,该流程方法包括:
75.步骤s21,查询文件和命令中是否包含敏感命令。
76.示例而非限定的,在本发明实施例中,敏感指令的文件和指令会被附加一个标记信息,通过识别文件和命令中是否存在标记信息来确定上述文件和命令是否为敏感指令。可以理解的,标记信息的形式以及特征可以是多种的,只要其满足可以受到识别检索即可,本发明对此不作具体限定。
77.步骤s22,若是,则将字符协议流量进行复核。
78.其中,复核的权限为系统设置的权限更高级别的管理人员,本发明针对敏感命令的处理人员可以是针对请求登录端ip账号所对应人员的直属领导的ip账号,也可以是由预先设置的某些账号集中处理上述异常情况。
79.本发明通过采用上述方法,提升了非常规mac地址,登录账号ip维护系统的安全性,极大的克服了账号安全性的问题。
80.综上,本发明提出的危险命令检测方法,通过检测述字符协议流量中的和所述命令是否为危险命令以及所述文件是否包含危险命令字符来对运维人员上传的命令和文件进行检测,有效的避免了运维人员通过绕过的方式直接上传脚本直接运行脚本内的危险命令;分段执行危险命令的方式绕过堡垒机;以及通过堡垒机运维一台服务器作为跳板,登录另外一台服务器在该服务器执行危险命令的问题。并且,通过校验账号ip和mac地址的方式来避免账号异常登录修改系统的问题。
81.需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
82.本实施例还提供了一种危险命令检测系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
83.图4是根据本技术实施例第二实施例提出的危险命令检测系统的结构框图,如图4所示,该系统包括:
84.输入模块10:用于获取输入的命令和文件,并以字符协议流量的形式传输至堡垒机。
85.缓存模块20:用于将经过堡垒机的字符协议流量进行缓存。
86.检测模块30:用于对字符协议流量进行检测,判断命令是否为危险命令以及文件是否包含危险命令字符。
87.拦截模块40:用于当判断到命令为危险命令或文件包含危险命令字符时,将字符协议流量进行拦截。
88.通过上述危险命令检测系统,用以执行上述的危险命令检测方法的相应步骤,通过检测述字符协议流量中的和所述命令是否为危险命令以及所述文件是否包含危险命令字符来对运维人员上传的命令和文件进行检测,有效的避免了运维人员通过绕过的方式直接上传脚本直接运行脚本内的危险命令;分段执行危险命令的方式绕过堡垒机;以及通过堡垒机运维一台服务器作为跳板,登录另外一台服务器在该服务器执行危险命令的问题。
89.进一步的,请参阅图5,该危险命令检测系统还包括:
random access memory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extended date out dynamic random access memory,简称为edodram)、同步动态随机存取内存(synchronous dynamic random
‑
access memory,简称sdram)等。
101.存储器112可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器112所执行的可能的计算机程序指令。
102.处理器111通过读取并执行存储器112中存储的计算机程序指令,以实现上述实施例中的任意一种危险命令检测方法。
103.在其中一些实施例中,计算机设备还可包括通信接口113和总线110。其中,如图6所示,处理器111、存储器112、通信接口113通过总线110连接并完成相互间的通信。
104.通信接口113用于实现本技术实施例中各模块、装置、单元和/或设备之间的通信。通信接口113还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
105.总线110包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线110包括但不限于以下至少之一:数据总线(data bus)、地址总线(address bus)、控制总线(control bus)、扩展总线(expansion bus)、局部总线(local bus)。举例来说而非限制,总线110可包括图形加速接口(accelerated graphics port,简称为agp)或其他图形总线、增强工业标准架构(extended industry standard architecture,简称为eisa)总线、前端总线(front side bus,简称为fsb)、超传输(hyper transport,简称为ht)互连、工业标准架构(industry standard architecture,简称为isa)总线、无线带宽(infiniband)互连、低引脚数(low pin count,简称为lpc)总线、存储器总线、微信道架构(micro channel architecture,简称为mca)总线、外围组件互连(peripheral component interconnect,简称为pci)总线、pci
‑
express(pci
‑
x)总线、串行高级技术附件(serial advanced technology attachment,简称为sata)总线、视频电子标准协会局部(video electronics standards association local bus,简称为vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线110可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
106.该计算机设备可以基于获取到的数据信息,执行本技术实施例中的危险命令检测方法,从而实现结合图1描述的危险命令检测方法。
107.另外,结合上述实施例中的危险命令检测方法,本技术实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种危险命令检测方法。
108.以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
109.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。