一种SSH连接的安全加固方法及装置与流程

文档序号:31729337发布日期:2022-10-05 01:29阅读:189来源:国知局
一种SSH连接的安全加固方法及装置与流程
一种ssh连接的安全加固方法及装置
技术领域
1.本发明实施例涉及计算机技术领域,特别涉及一种ssh连接的安全加固方法及装置。


背景技术:

2.本发明涉及网络技术领域,特别是涉及一种基于sm2,sm4国密算法提升ssh协议安全性的方法;使用国密算法sm2,sm4替换ssh协议中的对称加密和非对称加密算法,提升ssh协议在涉密网络中的安全,规避ssh协议在涉密网络中的安全风险;包括以下步骤:在ssh连接过程中,将密钥认证的算法替换为sm2国密算法,在客户端-服务器通信阶段,将对称加密算法替换为sm4国密算法,实现了支持国密算法的ssh协议。
3.现有的方法中,如方案1,包括使用国密算法sm2,sm4替换ssh协议中的对称加密和非对称加密算法,提升ssh协议在涉密网络中的安全,规避ssh协议在涉密网络中的安全风险;具体包括以下步骤:在ssh连接过程中,将密钥认证的算法替换为sm2国密算法,在客户端-服务器通信阶段,将对称加密算法替换为sm4国密算法,实现了支持国密算法的ssh协议。
4.但是此方案需要替换原有的sm2和sm4算法,实现过程复杂,实现门槛比较高,而且对设备性能的要求也比较高,更无法实现对白名单命令和参数的过滤。
5.方案2,其是通过将可信计算的远程证明与ssh协议的密钥交换这两个过程进行有机整合,实现了平台状态信息验证与会话密钥协商的紧密结合,在保证数据安全传输的前提下,加强了数据在通信端点的安全性。该方法要求服务器端和客户端都配有可信安全芯片,并且安装了度量模块和可信操作系统,能够对各自平台状态进行度量。基于该方案不但有效地防范了ssh协议中存在的利用安全通道与未知端点通信仍可能遭受各种攻击的安全威胁,同时有效地防范了重放攻击、假冒攻击和中间人攻击。
6.但是,该方案需要安装额外的可信安全芯片,成本高,同样面临着实现复杂,实现门槛比较高的问题,而且不能实现对白名单命令和参数的过滤。


技术实现要素:

7.本发明提供了一种成本低廉,易于实现,能够有效加固ssh连接安全的ssh连接的安全加固方法及装置。
8.为了解决上述技术问题,本发明实施例提供了一种ssh连接的安全加固方法,应用于ssh服务端中,其特征在于,所述方法包括:
9.在接收到输入指令时,调用加固模块判断所述输入指令的安全性;
10.基于判断结果确定是否执行所述输入指令。
11.作为一可选实施例,所述调用加固模块判断所述输入指令的安全性,包括:
12.调用加固模块判断所述输入指令是否位于白名单命令行中,若位于所述白名单命令行中,则表明所述输入指令为安全指令,若未位于所述白名单命令行中,则表明所述输入
指令为危险指令。
13.作为一可选实施例,还包括:
14.获得用户输入的所述白名单命令行;或
15.构建所述白名单命令行。
16.作为一可选实施例,所述构建所述白名单命令行,包括:
17.基于历史数据或大数据获得历史安全指令集;
18.至少基于所述历史安全指令集构建所述白名单命令行。
19.作为一可选实施例,所述至少基于所述历史安全指令集构建所述白名单命令行,包括:
20.获得电子设备的内建命令集;
21.确定出所述内建命令集中为安全指令的目标内建命令;
22.基于所述历史安全指令集及目标内建命令构建所述白名单命令行。
23.作为一可选实施例,还包括:
24.调用加固模块判断所述输入指令中的参数的安全性,若所述参数为安全参数,则执行所述输入指令。
25.作为一可选实施例,所述调用加固模块判断所述输入指令中的参数的安全性,包括:
26.调用所述加固模块基于存储的参考参数判断所述输入指令中参数的安全性。
27.本发明另一实施例同时提供一种ssh连接的安全加固装置,应用于ssh服务端中,所述装置包括:
28.调用模块,用于在接收到输入指令时,调用加固模块判断所述输入指令的安全性;
29.确定模块,用于根据判断结果确定是否执行所述输入指令。
30.作为一可选实施例,所述调用加固模块判断所述输入指令的安全性,包括:
31.调用加固模块判断所述输入指令是否位于白名单命令行中,若位于所述白名单命令行中,则表明所述输入指令为安全指令,若未位于所述白名单命令行中,则表明所述输入指令为危险指令。
32.作为一可选实施例,还包括:
33.获得模块,用于获得用户输入的所述白名单命令行;或
34.构建模块,用于构建所述白名单命令行。
35.基于上述实施例的公开可以获知,本发明实施例具备的有益效果包括通过设置能够判断输入命令的安全性的加固模块,使通过该加固模块对输入命令进行安全检查,确保ssh服务端仅处理安全指令,危险指令拒绝执行,如此实现安全连接加固,保证ssh服务端内的数据安全。上述过程简单易实施,可在不增加网关额外计算负担和硬件成本的情况下大幅提高网关ssh命令执行的安全性。
36.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
37.下面通过附图和实施例,对本技术的技术方案做进一步的详细描述。
附图说明
38.附图用来提供对本技术的进一步理解,并且构成说明书的一部分,与本技术的实施例一起用于解释本技术,并不构成对本技术的限制。在附图中:
39.图1为本发明实施例中的ssh连接的安全加固方法的流程图。
40.图2为本发明实施例中的ssh连接的安全加固方法的客户端与服务端间的关系图。
41.图3为本发明另一实施例中的ssh连接的安全加固方法的流程图。
42.图4为本发明实施例中的ssh连接的安全加固方法的实际应用流程图。
43.图5为本发明实施例中的ssh连接的安全加固装置的结构框图。
具体实施方式
44.下面,结合附图对本发明的具体实施例进行详细的描述,但不作为本发明的限定。
45.应理解的是,可以对此处公开的实施例做出各种修改。因此,下述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本公开的范围和精神内的其他修改。
46.包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且与上面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开的原理。
47.通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本发明的这些和其它特性将会变得显而易见。
48.还应当理解,尽管已经参照一些具体实例对本发明进行了描述,但本领域技术人员能够确定地实现本发明的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
49.当结合附图时,鉴于以下详细说明,本公开的上述和其他方面、特征和优势将变得更为显而易见。
50.此后参照附图描述本公开的具体实施例;然而,应当理解,所公开的实施例仅仅是本公开的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本公开模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本公开。
51.本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或不同实施例中的一个或多个。
52.下面,结合附图详细的说明本发明实施例。
53.如图1所示,本发明实施例提供一种ssh连接的安全加固方法,应用于ssh服务端中,所述方法包括:
54.在接收到输入指令时,调用加固模块判断输入指令的安全性;
55.基于判断结果确定是否执行输入指令。
56.本实施例中的加固模块是基于现有的ssh终端软件进行改善设计实现的,基于上述实施例的公开可以获知,本实施例具备的有益效果包括通过设置能够判断输入命令的安全性的加固模块,使通过该加固模块对输入命令进行安全检查,确保ssh服务端仅处理安全
指令,危险指令拒绝执行,如此实现安全连接加固,保证ssh服务端内的数据安全。上述过程简单易实施,可在不增加网关额外计算负担和硬件成本的情况下大幅提高网关ssh命令执行的安全性。
57.进一步地,如图2所示,调用加固模块判断输入指令的安全性,包括:
58.调用加固模块判断输入指令是否位于白名单命令行中,若位于白名单命令行中,则表明输入指令为安全指令,若未位于白名单命令行中,则表明输入指令为危险指令。
59.本实施例中通过增加白名单命令和非法输入的判断机制,实现对ssh软件服务端的安全性加固。
60.本实施例中的方法还包括:
61.获得用户输入的白名单命令行;或
62.构建白名单命令行。
63.例如,白名单命令行为用户制备完成后输入至ssh服务端中,或者白名单命令行是由ssh服务端进行构建的,包括采集数据,基于数据构建白名单命令行。
64.具体地,在构建白名单命令行,包括:
65.基于历史数据或大数据获得历史安全指令集;
66.至少基于历史安全指令集构建白名单命令行。
67.例如,服务端会获得历史数据,该历史数据可以是服务端自己收集获取,也可以是用户输入的。或者,服务端会基于网络获得相关的大数据。当服务端获得了历史数据或大数据后,会基于该历史数据、大数据而进行分析,确定出历史安全指令集,最终将历史安全指令集纳入白名单命令行中。
68.进一步地,如图3所示,为了使白名单命令行涵盖的安全指令更广泛,精度更高,本实施例中至少基于历史安全指令集构建白名单命令行,包括:
69.获得ssh服务端的内建命令集;
70.确定出内建命令集中为安全指令的目标内建命令;
71.基于历史安全指令集及目标内建命令构建白名单命令行。
72.具体地,ssh服务端获得内部设置的内建命令集,包含多个内建命令。但是该多个内建命令中是包含安全指令和危险指令的,即包含不合法指令。正常情况下,内建命令是均需要执行的,但是基于本实施例的方法,ssh服务端可以对内建命令集进行裁剪,将非法指令排除,保留安全指令,也即得到目标内建命令。之后ssh服务端会将前述的历史安全指令集和目标内建命令一同纳入白名单命令行中,构建形成本实施例中所述的白名单命令行。基于本实施例的方法可以实现内建命令如ls、cd命令的屏蔽,避免使用ls命令打印网关目录结构,造成信息泄露。
73.具体地,本实施例中的方法还包括:
74.调用加固模块判断输入指令中的参数的安全性,若参数为安全参数,则执行输入指令。
75.其中,调用加固模块判断输入指令中的参数的安全性,包括:
76.调用加固模块基于存储的参考参数判断输入指令中参数的安全性。
77.基于本实施例中的方法,加固模块可以基于内部预设的参数可以对输入的命令行参数进行合法性判断,杜绝命令注入风险;对合法的参数,继续往下执行;对非法的参数,拒
绝执行,并断开连接。
78.基于上述内容可知,加固模块中提前预设了可以执行的白名单命令行和参数,以及白名单命令行判断机制,可以对用户输入的命令行进行判断;对合法输入的命令,继续往下执行;对非法输入的命令,拒绝执行,并断开连接。另外,本实施例中的ssh服务端还可以对内建命令集进行任意裁剪,将需要的可以执行的一些内建命令加入到白名单命令行中,将高风险的不可执行的内建命令排除在外,灵活的对内建命令进行取舍,增加系统安全性。
79.如图4所示,在实际应用中,首先建立与ssh服务端的tcp连接,接着进行用户身份验证,若用户验证通过,则终端输入命令,ssh服务端调用加固模块,加固模块对输入指令进行安全判断,包括基于白名单命令行进行判断,然后再进行参数合法性判断,最后基于判断结果确定为安全指令,则正常执行,若判断为危险指令,则拒绝执行。例如,确定为输入的是非法命令,返回错误码并断开与ssh服务端的连接;输入的是正常命令,但为非法参数,则返回错误码并断开ssh服务端的连接;输入的是正常命令,正常参数,则正常执行该输入命令。
80.如图5所示,本发明另一实施例同时一种ssh连接的安全加固装置,应用于ssh服务端中,所述装置包括:
81.调用模块,用于在接收到输入指令时,调用加固模块判断所述输入指令的安全性;
82.确定模块,用于根据判断结果确定是否执行所述输入指令。
83.所述调用加固模块判断所述输入指令的安全性,包括:
84.调用加固模块判断所述输入指令是否位于白名单命令行中,若位于所述白名单命令行中,则表明所述输入指令为安全指令,若未位于所述白名单命令行中,则表明所述输入指令为危险指令。
85.还包括:
86.获得模块,用于获得用户输入的所述白名单命令行;或
87.构建模块,用于构建所述白名单命令行。
88.作为可选实施例,所述构建所述白名单命令行,包括:
89.基于历史数据或大数据获得历史安全指令集;
90.至少基于所述历史安全指令集构建所述白名单命令行。
91.作为可选实施例,所述至少基于所述历史安全指令集构建所述白名单命令行,包括:
92.获得电子设备的内建命令集;
93.确定出所述内建命令集中为安全指令的目标内建命令;
94.基于所述历史安全指令集及目标内建命令构建所述白名单命令行。
95.作为可选实施例,还包括:
96.调用加固模块判断所述输入指令中的参数的安全性,若所述参数为安全参数,则执行所述输入指令。
97.作为可选实施例,所述调用加固模块判断所述输入指令中的参数的安全性,包括:
98.调用所述加固模块基于存储的参考参数判断所述输入指令中参数的安全性。
99.本发明另一实施例还提供一种电子设备,包括:
100.一个或多个处理器;
101.存储器,配置为存储一个或多个程序;
102.当该一个或多个程序被该一个或多个处理器执行时,使得该一个或多个处理器实现上述方法。
103.本发明一实施例还提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的方法。应理解,本实施例中的各个方案具有上述方法实施例中对应的技术效果,此处不再赘述。
104.本技术实施例还提供了一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可读指令,所述计算机可执行指令在被执行时使至少一个处理器执行诸如上文所述实施例中的方法。应理解,本实施例中的各个方案具有上述方法实施例中对应的技术效果,此处不再赘述。
105.需要说明的是,本技术的计算机存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读介质例如可以但不限于是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储介质(ram)、只读存储介质(rom)、可擦式可编程只读存储介质(eprom或闪存)、光纤、便携式紧凑磁盘只读存储介质(cd-rom)、光存储介质件、磁存储介质件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输配置为由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、天线、光缆、rf等等,或者上述的任意合适的组合。
106.应当理解,虽然本技术是按照各个实施例描述的,但并非每个实施例仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
107.以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1