远程访问方法、装置、计算设备及存储介质与流程

文档序号:29450062发布日期:2022-03-30 11:41阅读:100来源:国知局
远程访问方法、装置、计算设备及存储介质与流程

1.本发明实施例涉及远程访问技术领域,特别涉及一种远程访问方法、装置、计算设备及存储介质。


背景技术:

2.随着网络技术的深入发展,越来越多的应用场景下具备远程访问设备的需求。目前,常见的远程服务类型包括rdp、sshd、telnet等,不同类型的远程服务使用的端口不同。当设备开启远程服务时,容易被恶意程序利用,恶意程序通过扫描对应端口确定设备开启的远程服务类型,并利用该远程服务向设备发起恶意攻击,影响远程服务的安全性。


技术实现要素:

3.基于现有技术中远程服务安全性较低的问题,本发明实施例提供了一种远程访问方法、装置、计算设备及存储介质,能够提高远程服务的安全性。
4.第一方面,本发明实施例提供了一种远程访问方法,包括:
5.接收访问端发送的远程访问请求;
6.对发送所述远程访问请求的访问端进行身份鉴权;
7.若身份鉴权通过,则确定所述远程访问请求对应的远程服务类型,确定当前是否开启有该类型的远程服务,若是,则确定该类型的远程服务当前使用的服务端口;其中,服务端口是动态变化的;
8.利用当前使用的服务端口与所述访问端建立链路连接,以利用建立的链路向所述访问端提供远程服务。
9.优选地,若确定当前未开启有该类型的远程服务,则在所述确定当前是否开启有该类型的远程服务之后,还包括:
10.确定该类型的远程服务是否为可提供的远程服务,若是,则进一步确定当前开启的远程服务的类型数量是否超过设定数量,若未超过,则开启该类型的远程服务,并执行所述确定该类型的远程服务当前使用的服务端口。
11.优选地,在所述确定该类型的远程服务当前使用的服务端口之前,还包括:
12.按照预先设置的服务端口变更策略,动态变更各类型远程服务的服务端口。
13.优选地,所述对发送所述远程访问请求的访问端进行身份鉴权,包括:
14.获取所述远程访问请求中携带的身份信息;所述身份信息是由所述访问端利用随机令牌对其身份进行加密后得到的;
15.确定所述访问端对其身份进行加密使用的随机令牌;
16.利用确定的该随机令牌对加密后的所述身份信息解密,得到解密后的身份信息;
17.根据预先存储的可提供远程服务的各身份,确定是否可向该解密后的身份信息对应的访问端提供服务,若是,则确定身份鉴权通过。
18.优选地,所述随机令牌为所述访问端生成所述远程访问请求时的时间戳;
19.所述确定所述访问端对其身份进行加密使用的随机令牌,包括:确定接收所述远程访问请求时的时间戳,将该时间戳确定为所述访问端对其身份进行加密使用的随机令牌;
20.所述利用确定的该随机令牌对加密后的所述身份信息解密之后,还包括:若解密未成功,则身份鉴权不通过。
21.优选地,所述身份信息是所述访问端将利用所述随机令牌对其身份进行加密后得到的身份信息与所述随机令牌进行组合,并利用公钥对组合信息进行加密后携带在所述远程访问请求中的;
22.所述确定所述访问端对其身份进行加密使用的随机令牌,包括:利用与所述公钥对应的私钥对所述身份信息进行解密,得到解密后的组合信息;将随机令牌和利用随机令牌进行加密后得到的身份信息从该解密后的组合信息拆分出来;
23.所述利用确定的该随机令牌对加密后的所述身份信息解密,得到解密后的身份信息,包括:利用拆分出来的随机令牌对拆分出来的身份信息进行解密,得到解密后的身份信息。
24.优选地,在利用建立的链路向所述访问端提供远程服务之后,还包括:
25.若监测到所述远程服务触发预设敏感条件时,则断开与所述访问端建立的链路。
26.第二方面,本发明实施例还提供了一种远程访问装置,包括:
27.通信单元,用于接收访问端发送的远程访问请求;
28.身份鉴权单元,用于对发送所述远程访问请求的访问端进行身份鉴权,若身份鉴权通过,则触发访问处理单元执行相应操作;
29.所述访问处理单元,用于确定所述远程访问请求对应的远程服务类型,确定当前是否开启有该类型的远程服务,若是,则确定该类型的远程服务当前使用的服务端口;其中,服务端口是动态变化的;
30.远程服务单元,用于利用当前使用的服务端口与所述访问端建立链路连接,以利用建立的链路向所述访问端提供远程服务。
31.第三方面,本发明实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
32.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
33.本发明实施例提供了一种远程访问方法、装置、计算设备及存储介质,在访问端对当前客户端发送远程访问请求时,需要对访问端进行身份鉴权,若身份鉴权通过,表明可向该访问端提供远程服务,由于不同类型的远程服务使用不同的端口,且服务端口是动态变化的,因此,向访问端提供远程服务前需要确定该远程服务请求对应类型的远程服务当前使用的服务端口,利用当前使用的服务端口与访问端建立链路连接。可见,由于服务端口是动态变化的,只有当需要提供该类型的远程服务时,才能够确定服务端口是哪一个,使得恶意程序无法提前获知该类型的远程服务所使用的服务端口,从而避开端口扫描器的扫描,提高了远程服务的安全性。
附图说明
34.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1是本发明一实施例提供的一种远程访问方法流程图;
36.图2是本发明一实施例提供的一种计算设备的硬件架构图;
37.图3是本发明一实施例提供的一种远程访问装置结构图;
38.图4是本发明一实施例提供的另一种远程访问装置结构图。
具体实施方式
39.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
40.如前所述,对于目前常见的远程服务类型rdp、sshd、telnet等,不同类型的远程服务使用的端口不同,且使用的端口为默认端口。比如,rdp使用3389端口、sshd使用22端口。恶意程序使用端口扫描器通过扫描各种远程服务类型对应的默认端口,获知设备开启了哪些类型的远程服务,进而利用这些远程服务向设备发起攻击。基于该问题,可以考虑更改远程服务的默认端口,以使服务端口处在动态变化中,以避开端口扫描器的扫描。
41.下面描述以上构思的具体实现方式。
42.请参考图1,本发明实施例提供了一种远程访问方法,该方法包括:
43.步骤100,接收访问端发送的远程访问请求。
44.步骤102,对发送所述远程访问请求的访问端进行身份鉴权。
45.步骤104,若身份鉴权通过,则确定所述远程访问请求对应的远程服务类型,确定当前是否开启有该类型的远程服务,若是,则确定该类型的远程服务当前使用的服务端口;其中,服务端口是动态变化的;
46.步骤106,利用当前使用的服务端口与所述访问端建立链路连接,以利用建立的链路向所述访问端提供远程服务。
47.本发明实施例中,在访问端对当前客户端发送远程访问请求时,需要对访问端进行身份鉴权,若身份鉴权通过,表明可向该访问端提供远程服务,由于不同类型的远程服务使用不同的端口,且服务端口是动态变化的,因此,向访问端提供远程服务前需要确定该远程服务请求对应类型的远程服务当前使用的服务端口,利用当前使用的服务端口与访问端建立链路连接。可见,由于服务端口是动态变化的,只有当需要提供该类型的远程服务时,才能够确定服务端口是哪一个,使得恶意程序无法提前获知该类型的远程服务所使用的服务端口,从而避开端口扫描器的扫描,提高了远程服务的安全性。
48.下面描述图1所示的各个步骤的执行方式。
49.首先,针对步骤100“接收访问端发送的远程访问请求”和步骤102“对发送所述远程访问请求的访问端进行身份鉴权”同时进行说明。
50.在本发明一个实施例中,在本步骤的远程访问请求发起之前,由服务端向各客户端下发对应的远程访问策略,各客户端根据接收到的远程访问策略对本地客户端进行部署,并基于部署内容对向其发起的远程访问请求进行处理,以及作为访问端向其它客户端发起远程访问请求时的处理。
51.为了提高远程访问的安全性,需要对发送远程访问请求的访问端进行身份鉴权,只有身份鉴权通过,才表明本地客户端允许向该访问端提供远程服务。其中,本地客户端对服务端下发的远程访问策略中所包括的可提供远程服务的各身份进行存储,利用存储的可提供远程服务的各身份对访问端进行身份鉴权。
52.需要说明的是,该身份可以包括ip地址、所属ip网段、域名、账户等。
53.在本发明一个实施例中,在步骤102进行身份鉴权时,可以利用如下一种方式进行身份鉴权:
54.s1、获取所述远程访问请求中携带的身份信息;所述身份信息是由所述访问端利用随机令牌对其身份进行加密后得到的;
55.s2、确定所述访问端对其身份进行加密使用的随机令牌;
56.s3、利用确定的该随机令牌对加密后的所述身份信息解密,得到解密后的身份信息;
57.s4、根据预先存储的可提供远程服务的各身份,确定是否可向该解密后的身份信息对应的访问端提供服务,若是,则身份鉴权通过。
58.访问端根据服务端下发的远程访问策略,在向其它客户端发起远程访问请求时,将身份进行加密,将加密后的身份信息携带在远程访问请求中,可以防止远程访问请求被恶意拦截,获取到访问端的身份,进而利用访问端的身份冒充具有权限的访问端向客户端发起远程请求,对客户端安全造成影响。
59.针对上述步骤s1-s3,对于访问端对其身份进行加密使用的随机令牌的生成方式可以包括如下两种方式:
60.方式一、基于时间戳生成;
61.方式二、随机生成。
62.下面针对上述两种生成随机令牌的方式分别进行说明,以对不同生成方式下,如何确定随机令牌以及如何解密进行说明,
63.在方式一中,该随机令牌是基于时间戳生成的,具体地,该随机令牌为访问端生成远程访问请求时的时间戳,该随机令牌作为密钥对访问端的身份进行加密,得到加密后的身份信息。比如,生成远程访问请求时的时间戳为20120101124832,前八位用于表征年月日,后六位用于表征时间点。
64.在方式一中,步骤s2确定访问端对其身份进行加密使用的随机令牌时,由于访问端生成远程访问请求之后即刻进行发送,因此,客户端接收该远程访问请求的时间与访问端生成远程访问请求的时间差值几乎可以忽略不计,因此步骤s2可以包括:确定接收所述远程访问请求时的时间戳,将该时间戳确定为所述访问端对其身份进行加密使用的随机令牌。
65.进一步地,在方式一中,若利用确定的该随机令牌对加密后的身份信息进行解密成功,那么表明生成该远程访问请求的时间戳与接收该远程访问请求的时间戳是相同的;
若确定的该随机令牌对加密后的身份信息进行解密未成功,则表明生成该远程访问请求的时间戳与接收该远程访问请求的时间戳是不相同的,该远程访问请求在发送过程中被恶意拦截,该远程访问请求是恶意攻击者将远程访问请求拦截之后利用加密后的身份信息发送过来的,因此,可以判定身份鉴权不通过。
66.在方式一中,通过时间戳作为对身份进行加密的随机令牌,可以检测到远程访问请求是否被拦截,从而可以提高远程访问的安全性。
67.接下来,在方式二中,该随机令牌是随机生成的,由于随机令牌是随机生成的,为了客户端能够对加密后的身份信息进行解密,需要客户端也能够获知到加密使用的该随机令牌,本发明一个实施例中,访问端可以按照服务端下发的远程访问策略随机生成随机令牌,该随机令牌的长度为约定长度,且远程访问请求中携带的身份信息是访问端利用该随机令牌对其身份进行加密后得到的身份信息与所述随机令牌进行组合,并利用公钥对组合信息进行加密后携带在所述远程访问请求中的。
68.其中,利用随机令牌对其身份进行加密使用的加密算法、组合方式、公钥均是服务端下发的远程服务策略中约定的。服务端针对该被访问的客户端生成密钥对之后,将公钥下发给其它有权限访问该客户端的访问端,将私钥下发给被访问的客户端。
69.那么方式二中,本步骤s2可以包括:利用与所述公钥对应的私钥对所述身份信息进行解密,得到解密后的组合信息;将随机令牌和利用随机令牌进行加密后得到的身份信息从该解密后的组合信息拆分出来;
70.进一步地,本步骤s3可以包括:利用拆分出来的随机令牌对拆分出来的身份信息进行解密,得到解密后的身份信息。
71.在方式二中,通过将随机生成的随机令牌对身份进行加密,并将随机令牌与加密后的身份信息进行组合,由于组合方式被访问的客户端是已知的,因此可以将组合信息中的随机令牌和该加密后的身份信息拆分出来,如此,即使同一个访问端向同一个客户端发送远程访问请求,由于每次发送的远程访问请求中携带的加密后的身份信息是不同的,即使该访问端发送的远程访问请求被拦截,也无法将访问端的身份破解出来,从而可以进一步提高远程访问的安全性。
72.然后,针对步骤104,若身份鉴权通过,则确定所述远程访问请求对应的远程服务类型,确定当前是否开启有该类型的远程服务,若是,则确定该类型的远程服务当前使用的服务端口;其中,服务端口是动态变化的。
73.本发明一个实施例中,客户端可以根据远程访问策略对本地客户端中开启的远程服务进行如下配置:
74.1、若本地客户端无需开启远程服务,则关闭或卸载本地客户端上安装的所有远程服务;
75.2、确定可提供远程服务的类型,并将当前开启的远程服务中不可提供远程服务的类型所对应的远程服务关闭;比如,可提供远程服务的类型为vncserver、teamview、向日葵、todesk等;不可提供远程服务的类型为telnet(该类型的远程服务在运行时,数据是未经过加密的,安全性较低)、sshd(该类型的远程服务是基于开源软件开发得到的,安全性较低)等;
76.3、确定关闭所有远程服务的时间段,比如,22:00-08:00的时间段;
77.4、确定远程服务同时可开启的数量,比如,可同时开启3个远程服务。
78.其中,可以基于上述配置来确定当前是否开启有该类型的远程服务。
79.在本发明一个实施例中,若确定当前未开启有该类型的远程服务,那么在所述确定当前是否开启有该类型的远程服务之后,还可以包括:确定该类型的远程服务是否为可提供的远程服务,若是,则进一步确定当前开启的远程服务的类型数量是否超过设定数量,若未超过,则开启该类型的远程服务,并执行所述确定该类型的远程服务当前使用的服务端口。如此,可以保证能够为访问端提供正常的远程服务。
80.本发明实施例中,由于不同类型的远程服务使用不同的服务端口,因此,需要确定该远程访问请求对应的远程服务类型,进而确定该类型的远程服务使用的服务端口。
81.在本发明实施例中,对于目前常见的类型的远程服务均对应有默认服务端口,但是该默认服务端口会被恶意程序通过端口扫描器扫描获知到本地客户端开启的远程服务的类型,其中,端口扫描器的原理是基于远程服务的类型及其默认端口,向该默认端口发起该类型的远程服务,若本地客户端有响应,则确定该本地客户端开启有盖类型的远程服务。基于此,为了防止被端口扫描器扫描到,可以按照服务端下发的远程管理策略,更改远程服务的服务端口,且在本发明一个实施例中,按照服务端口变更策略,动态变化各类型远程服务的服务端口。其中,该服务端口变更策略是基于远程管理策略设置的。
82.本发明实施例中,该服务端口变更策略可以包括但不限于如下策略:按照时间周期变更服务端口、每利用当前服务端口向一个访问端提供远程服务并结束之后则变更该服务端口。在确定变更后的服务端口时,可以基于当前闲置的服务端口进行变更。
83.可见,由于服务端口是动态变化的,因此,需要确定当前使用的服务端口。
84.最后,针对步骤106,利用当前使用的服务端口与所述访问端建立链路连接,以利用建立的链路向所述访问端提供远程服务。
85.本发明一个实施例中,在本步骤106之后,还可以包括:若监测到所述远程服务触发预设敏感条件时,则断开与所述访问端建立的链路。
86.其中该敏感条件可以基于服务端下发的远程访问策略进行设置,该敏感条件至少可以包括但不限于如下内容:
87.1)链路建立连接之后超出设定时间段未检测到任何操作;比如,5分钟。
88.2)链路建立连接之后检测到访问端访问敏感目录、敏感文件和进行敏感行为中的至少一种。比如,该敏感目录为c:\program files\,该敏感文件为包含“合同报价”的文件,该敏感行为包括浏览器下载文件、使用打印机打印等。
89.如图2、图3所示,本发明实施例提供了一种远程访问装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图2所示,为本发明实施例提供的一种远程访问装置所在计算设备的一种硬件架构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的计算设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图3所示,作为一个逻辑意义上的装置,是通过其所在计算设备的cpu将非易失性存储器中对应的计算机程序读取到内存中运行形成的。本实施例提供的一种远程访问装置,包括:
90.通信单元301,用于接收访问端发送的远程访问请求;
91.身份鉴权单元302,用于对发送所述远程访问请求的访问端进行身份鉴权,若身份
鉴权通过,则触发访问处理单元执行相应操作;
92.所述访问处理单元303,用于确定所述远程访问请求对应的远程服务类型,确定当前是否开启有该类型的远程服务,若是,则确定该类型的远程服务当前使用的服务端口;其中,服务端口是动态变化的;
93.远程服务单元304,用于利用当前使用的服务端口与所述访问端建立链路连接,以利用建立的链路向所述访问端提供远程服务。
94.在本发明一个实施例中,所述访问处理单元303,还用于当确定当前未开启有该类型的远程服务时,确定该类型的远程服务是否为可提供的远程服务,若是,则进一步确定当前开启的远程服务的类型数量是否超过设定数量,若未超过,则开启该类型的远程服务,并执行所述确定该类型的远程服务当前使用的服务端口。
95.在本发明一个实施例中,请参考图4,该远程访问装置还可以包括:服务端口变更单元305,用于按照预先设置的服务端口变更策略,动态变更各类型远程服务的服务端口。
96.在本发明一个实施例中,所述身份鉴权单元302,具体用于获取所述远程访问请求中携带的身份信息;所述身份信息是由所述访问端利用随机令牌对其身份进行加密后得到的;确定所述访问端对其身份进行加密使用的随机令牌;利用确定的该随机令牌对加密后的所述身份信息解密,得到解密后的身份信息;根据预先存储的可提供远程服务的各身份,确定是否可向该解密后的身份信息对应的访问端提供服务,若是,则身份鉴权通过。
97.在本发明一个实施例中,所述随机令牌为所述访问端生成所述远程访问请求时的时间戳;
98.所述身份鉴权单元302在确定所述访问端对其身份进行加密使用的随机令牌时,具体用于确定接收所述远程访问请求时的时间戳,将该时间戳确定为所述访问端对其身份进行加密使用的随机令牌;
99.所述身份鉴权单元302还用于当确定解密未成功时,则确定身份鉴权不通过。
100.在本发明一个实施例中,所述身份信息是所述访问端将利用所述随机令牌对其身份进行加密后得到的身份信息与所述随机令牌进行组合,并利用公钥对组合信息进行加密后携带在所述远程访问请求中的;
101.所述身份鉴权单元302在确定所述访问端对其身份进行加密使用的随机令牌时,具体用于利用与所述公钥对应的私钥对所述身份信息进行解密,得到解密后的组合信息;将随机令牌和利用随机令牌进行加密后得到的身份信息从该解密后的组合信息拆分出来;
102.所述身份鉴权单元302在利用确定的该随机令牌对加密后的所述身份信息解密得到解密后的身份信息时,具体用于利用拆分出来的随机令牌对拆分出来的身份信息进行解密,得到解密后的身份信息。
103.在本发明一个实施例中,所述远程服务单元304还用于当监测到所述远程服务触发预设敏感条件时,则断开与所述访问端建立的链路。
104.可以理解的是,本发明实施例示意的结构并不构成对一种远程访问装置的具体限定。在本发明的另一些实施例中,一种远程访问装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
105.上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施
例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
106.本发明实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种远程访问方法。
107.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种远程访问方法。
108.具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
109.在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
110.用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
111.此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
112.此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
113.需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
…”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
114.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。
115.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1