业务请求的处理方法、存储介质及电子设备与流程
未命名
09-16
阅读:70
评论:0

背景技术:
::2.目前,可以利用vpn(virtualprivatenetwork,虚拟专用网络)在公用网络上建立专用网络,进行加密通讯。在使用vpn进行私有网络的业务请求处理时,vpn网关通过对数据包的加密和数据包目标地址的转换实现远程访问。3.然而,由于vpn网关会将服务端的大量端口暴露在互联网上,在互联网上很容易就能查到,导致服务端存在被攻击的风险,例如,借由nmap(networkmapper,一种嗅探工具)等嗅探工具发起嗅探攻击。4.由此可见,相关技术中的业务请求的处理方式,存在由于服务端的服务端口易被嗅探导致的服务端存在被攻击风险的技术问题。技术实现要素:5.本技术实施例提供了一种业务请求的处理方法、存储介质及电子设备,以至少解决了相关技术中的业务请求的处理方式存在由于服务端的服务端口易被嗅探导致的服务端存在被攻击风险的技术问题。6.根据本技术实施例的一个方面,提供了一种业务请求的处理方法,包括:接收第一客户端发送的第一敲门包,其中,所述第一敲门包中携带有与所述第一客户端对应的第一源网络地址和第一源端口号,所述第一敲门包用于请求允许所述第一客户端访问目标服务器上与目标端口号对应的业务,所述目标端口号对所述第一客户端隐藏;在所述第一敲门包通过校验的情况下,将具有对应关系的所述第一源网络地址和所述第一源端口号添加到白名单列表中,以将所述目标端口号对所述第一客户端开放;接收所述第一客户端发送的第一业务请求,其中,所述第一业务请求中携带有所述第一源网络地址和所述第一源端口号,所述第一业务请求用于请求访问所述目标服务器上与第一目标端口号对应的第一业务;在所述白名单列表中查找到具有对应关系的所述第一源网络地址和所述第一源端口号、且所述目标端口号包括所述第一目标端口号的情况下,响应所述第一业务请求,允许所述第一客户端访问所述目标服务器上与所述第一目标端口号对应的所述第一业务。7.根据本技术实施例的另一个方面,还提供了一种业务请求的处理方法,包括:向目标服务器发送第一敲门包,其中,所述第一敲门包中携带有与第一客户端对应的第一源网络地址和第一源端口号,所述第一敲门包用于请求允许所述第一客户端访问所述目标服务器上与目标端口号对应的业务,所述目标端口号对所述第一客户端隐藏;向所述目标服务器发送第一业务请求,其中,所述第一业务请求中携带有所述第一源网络地址和所述第一源端口号,所述第一业务请求用于请求访问所述目标服务器上与第一目标端口号对应的第一业务。8.根据本技术实施例的又一个方面,还提供了一种业务请求的处理装置,包括:接收第一客户端发送的第一敲门包,其中,所述第一敲门包中携带有与所述第一客户端对应的第一源网络地址和第一源端口号,所述第一敲门包用于请求允许所述第一客户端访问目标服务器上与目标端口号对应的业务,所述目标端口号对所述第一客户端隐藏;在所述第一敲门包通过校验的情况下,将具有对应关系的所述第一源网络地址和所述第一源端口号添加到白名单列表中,以将所述目标端口号对所述第一客户端开放;接收所述第一客户端发送的第一业务请求,其中,所述第一业务请求中携带有所述第一源网络地址和所述第一源端口号,所述第一业务请求用于请求访问所述目标服务器上与第一目标端口号对应的第一业务;在所述白名单列表中查找到具有对应关系的所述第一源网络地址和所述第一源端口号、且所述目标端口号包括所述第一目标端口号的情况下,响应所述第一业务请求,允许所述第一客户端访问所述目标服务器上与所述第一目标端口号对应的所述第一业务。9.根据本技术实施例的又一个方面,还提供了一种业务请求的处理装置,包括:向目标服务器发送第一敲门包,其中,所述第一敲门包中携带有与第一客户端对应的第一源网络地址和第一源端口号,所述第一敲门包用于请求允许所述第一客户端访问所述目标服务器上与目标端口号对应的业务,所述目标端口号对所述第一客户端隐藏;向所述目标服务器发送第一业务请求,其中,所述第一业务请求中携带有所述第一源网络地址和所述第一源端口号,所述第一业务请求用于请求访问所述目标服务器上与第一目标端口号对应的第一业务。10.根据本技术实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述业务请求的处理方法。11.根据本技术实施例的又一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述业务请求的处理方法。12.根据本技术实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述业务请求的处理方法。13.在本技术实施例中,采用隐藏服务端的服务端口、通过敲门包的方式将源网络地址和源端口添加到白名单列表中、并基于白名单列表进行业务请求处理的方式,客户端通过向服务器(或者,用于向服务器转发请求的网关)发送敲门包,敲门包中携带有客户端对应的源网络地址和源端口号,还可以携带有服务器隐藏的服务端口号(即,目标端口号),敲门包可以用于请求允许该客户端访问服务器上与隐藏的服务端口号对应的业务;而服务器在接收敲门包之后,如果对敲门包校验通过,可以将敲门包中的源网络地址和源端口号添加到白名单列表中,白名单列表中的源网络地址和源端口号为允许访问服务器隐藏的服务端口的源网络地址和源端口号,从而将隐藏的服务端口号对客户端开放,并且,无论敲门包校验是否通过,服务器均不会向客户端进行反馈;客户端在发送敲门包之后,可以向服务器发送携带有源网络地址和源端口号的业务请求,以请求访问服务器上与已请求的服务端口对应的业务,服务器在收到业务请求之后,可以在白名单列表查找源网络地址和源端口号,如果查找到了源网络地址和源端口号,且申请访问的服务端口为已请求过访问的服务端口,则允许客户端访问对应的业务,通过敲门包与源网络地址和源端口号的结合,可以实现在隐藏服务端口的同时,进一步降低服务端被攻击的风险(与源网络地址相比,源网络地址和源端口号的组合可以实现更细粒度的放白)的目的,从而实现了降低服务端被攻击的风险、提高服务端的安全性的技术效果,进而解决了相关技术中的业务请求的处理方式存在由于服务端的服务端口易被嗅探导致的服务端存在被攻击风险的技术问题。附图说明14.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:15.图1是根据本技术实施例的一种可选的业务请求的处理方法的应用环境的示意图;16.图2是根据本技术实施例的一种可选的业务请求的处理方法的流程示意图;17.图3是根据本技术实施例的一种可选的vpn遭受网络攻击的示意图;18.图4是根据本技术实施例的一种可选的零信任系统的网络架构示意图;19.图5是根据本技术实施例的一种可选的服务隐藏功能配置界面的示意图;20.图6是根据本技术实施例的另一种可选的服务隐藏功能配置界面的示意图;21.图7是根据本技术实施例的一种可选的运行状态页面的示意图;22.图8是根据本技术实施例的一种可选的白名单列表页面的示意图;23.图9是根据本技术实施例的一种可选的访问行为列表页面的示意图;24.图10是根据本技术实施例的另一种可选的业务请求的处理方法的流程示意图;25.图11是根据本技术实施例的又一种可选的业务请求的处理方法的流程示意图;26.图12是根据本技术实施例的一种可选的交换密钥的流程示意图;27.图13是根据本技术实施例的一种可选的服务端口敲门的流程示意图;28.图14是根据本技术实施例的一种可选的客户端调用spa模块的流程示意图;29.图15是根据本技术实施例的一种可选的客户端上报敲门日志的流程示意图;30.图16是根据本技术实施例的又一种可选的业务请求的处理方法的流程示意图;31.图17是根据本技术实施例的一种可选的出口路由的mac地址的示意图;32.图18是根据本技术实施例的一种可选的业务请求的处理装置的结构框图;33.图19是根据本技术实施例的另一种可选的业务请求的处理装置的结构框图;34.图20是根据本技术实施例的一种可选的电子设备的结构示意图;35.图21是根据本技术实施例的一种可选的电子设备的计算机系统的结构框图。具体实施方式36.为了使本
技术领域:
:的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。37.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。38.根据本技术实施例的一个方面,提供了一种业务请求的处理方法,可选地,作为一种可选的实施方式,上述业务请求的处理方法可以但不限于应用于如图1所示的环境中。其中,可以但不限于包括终端设备102、网络110及服务器112,其中,该终端设备102上可以但不限于包括显示器108、处理器106及存储器104。39.示例性地,上述业务请求的处理方法的过程可以包括如下步骤:40.步骤s102,终端设备102通过网络110向服务器112发送敲门包。41.终端设备上可以运行有客户端,该客户端可以是用于验证该客户端的使用对象是否允许使用内网资源的客户端,这里的内网资源可以是私有网络中的资源。在客户端有业务处理需求需要与服务器112建立网络连接或者在满足其他发送敲门包的条件时,终端设备102或者终端设备102上的客户端可以通过网络向服务器112发送敲门包,敲门包中可以携带有与该客户端对应的源网络地址和源端口号,源网络地址可以是源ip(internetprotocol,网络互连协议)地址,源端口号可以为客户端申请的本地端口的端口号。42.可选地,敲门包中还可以携带有客户端请求访问的服务器的网络地址(例如,ip地址)以及请求访问的服务端口的端口号,这里,服务端口可以是对客户端隐藏的服务端口,即,仅允许与服务器的白名单列表中的源网络地址和源端口号的组合对应的客户端访问该服务器上的服务端口(或者,服务器上隐藏的服务端口)。43.步骤s104,在接收敲门包之后,服务器112可以通过处理引擎116对接收的敲门包进行处理,对敲门包进行校验,如果校验通过,则将敲门包中的源网络地址和源端口号放入到数据库114中的白名单列表中。44.白名单列表可以记录允许访问服务器的服务端口的源网络地址和源端口号的组合,以将客户端申请的隐藏服务端口对客户端开放。对于源端口号在内外网映射的过程中发生变化的情况(比如,进行端口号映射,同一内网端口号所映射得到的外网端口号均不相同),也可以通过仅记录源网络地址的方式进行放白(即,放入白名单)。45.步骤s106,终端设备102通过网络110向服务器112发送业务访问请求。46.在发送完敲门包之后,终端设备102上的客户端可以向服务器112发送业务访问请求,业务访问请求可以是登录请求、或者访问内网资源的请求,还可以是其他业务请求。业务访问请求中可以携带有与客户端对应的源网络地址和源端口号,还可以携带有请求访问的服务器的网络地址及请求访问的服务端口的端口号。47.步骤s108,在接收业务访问请求之后,服务器112可以通过处理引擎116对该业务访问请求进行处理,通过查找白名单列表确定是否允许客户端访问该业务访问请求所请求访问的业务,并在确定允许访问时对业务访问请求进行处理,得到请求结果(即,请求的处理结果)。48.步骤s110,服务器112将请求结果通过网络110发送给终端设备110。49.步骤s112,在接收请求结果之后,终端设备110可以将请求结果显示在终端设备110的屏幕上,也可以将请求结果进行保存,还可以基于请求结果进行后续处理。50.上述业务处理请求可以是登录请求,也可以是页面请求,还可以是其他请求。对于登录请求,根据请求结果,可以在终端设备102的显示器108中,显示登录成功的提示信息,还可以显示登录之后的界面等。51.可选地,在本实施例中,上述终端设备102可以包括但不限于以下至少之一:手机(如android手机、ios手机等),笔记本电脑,平板电脑,掌上电脑,mid(mobileinternetdevices,移动互联网设备),pad,台式电脑,车载设备等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、wifi(wirelessfidelity,无线保真)及其他实现无线通信的网络。上述服务器112可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。52.除了图1示出的示例之外,上述步骤可以由终端设备102独立完成,即由终端设备102执行区域设置信息的生成等步骤,从而减轻服务器的处理压力。该终端设备102包括但不限于手持设备(如手机)、笔记本电脑、台式电脑、车载设备等,本技术并不限制终端设备102的具体实现方式。53.可选地,作为一种可选的实施方式,以由上述服务器112执行本实施例中的业务请求的处理方法为例,图2是根据本技术实施例的一种可选的业务请求的处理方法的流程示意图,如图2所示,该业务请求的处理方法的流程可以包括以下步骤:54.步骤s202,接收第一客户端发送的第一敲门包,其中,第一敲门包中携带有与第一客户端对应的第一源网络地址和第一源端口号,第一敲门包用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务,目标端口号对第一客户端隐藏。55.本技术实施例中的业务请求的控制方法可以适用于终端设备上的客户端通过服务器提供的服务端口访问服务器所提供的服务的场景,可以应用到零信任(zerotrust)系统(即,零信任访问控制系统)中,这里,零信任系统是指基于零信任访问控制机制进行访问控制的系统,零信任是指网络中所有的业务流量均被认为是不可信任的,通过不断的身份认证、终端环境认证、操作认证等进行业务流量处理。56.相关技术中,可以通过vpn访问内网的数据资源。然而,由于vpn本身存在的漏洞导致服务端所开放的服务端口在互联网上很容易就能被查到,导致服务端存在被攻击的风险,例如,sql(structuredquerylanguage,结构化查询语言)注入攻击、xss(crosssitescripting,跨站脚本攻击)攻击、ddos(distributeddenialofservice,分布式拒绝服务)攻击等(如图3所示),导致易发生vpn安全事件。并且,vpn隧道连通后,很容易暴露内网的it资产,在缺乏其他安全措施的情况下,很容易远程扫描、探测内网的资产情况。并且,vpn基于长连接的隧道模式,网络质量出现抖动、或在不同网络之间进行切换时,极易造成业务掉线。此外,通过vpn也无法对用户终端进行统一管控,也无法对用户的业务访问行为进行细粒度的审计。57.为了降低由于服务端口暴露在互联网中导致服务端存在被攻击的风险,可以通过iptables实现服务器的服务端口的隐藏功能,该方式可以应用到零信任系统。上述方式可以借由iptables和ipset实现白名单机制的放白逻辑,放白逻辑的处理流程可以包括:开放无业务资源的中间服务器的端口供终端登录鉴权。鉴权后,中间服务器将终端访问数据包的源ip地址推送给需隐藏的后台服务器;需隐藏的后台服务器将中间服务器推送的ip地址加入其ipset白名单之中,实现对授权终端不隐藏网络端口服务,非授权终端隐藏网络端口服务的功能。这里,iptables是与3.5版本linux内核集成的ip信息包过滤系统,而ipset是linux内核的一个内部框架,可由ipset工具管理。58.然而,基于iptables实现网络隐藏功能只能支持基于ip地址放白,对于nat(networkaddresstranslation,网络地址转换)组网环境,多个终端只有一个出口ip地址,一旦放白这个ip地址,该ip地址下的所有终端均能发现隐藏的网络端口。例如,同一个小区,由于nat组网的出口ip地址可能只能有几个,一旦这个小区有用户登录零信任系统,由于出口ip地址已经被放白,则该小区内的部分未授权用户也能发现零信任系统后台隐藏的网络端口。另一方面,实现ip地址放白需要额外的中间服务器开销,且中间服务器的端口是开放的,中间服务器也有遭受网络攻击的风险。59.在本实施例中,基于单包授权机制实现隐藏服务器的服务端口,可以达到服务器网络隐身的效果。在零信任系统中集成spa(singlepackageauthorization,单包授权)以隐藏后台服务器对外网环境开放的业务端口(即,服务端口),使得攻击者无法通过类似nmap等端口扫描工具扫描到后台服务器开放的服务端口来对后台服务器发起服务端口的嗅探攻击,有效解决传统vpn技术存在暴露服务器网络端口的缺陷,使整个网络服务器的后台更加安全,显著降低服务器遭受各种网络攻击的风险。相较于使用vpn进行内网资源的访问控制,可以给用户带来更快速、更稳定、更易用的访问内网资源的体验,提升用户的使用体验。并且,将单包授权机制整合到零信任系统中,也能充分发挥零信任系统的访问内网资源的优势。60.下面结合可选示例对零信任系统进行解释说明。零信任系统可以包括:客户端,服务端,访问代理,智能网关,这里,智能网关可以是ngn(nextgenerationnetwork,下一代网络)网关,其中,61.客户端是安装在用户的终端设备(比如,工作设备)上的终端应用,用于验证终端设备上的用户身份,可以用于用户进行终端设备使用账号和密码等进行登录等;62.访问代理(终端访问代理)是部署于受控终端(即,用户的终端设备)的、发起安全访问的终端代理,负责通过tun/tap(操作系统中的虚拟网络设备)虚拟网卡获取设备流量,通过客户端鉴权之后将业务请求转发给智能网关,可以发起访问主体可信身份验证的请求,验证身份可信,即可与访问网关建立加密的访问连接,同时也是访问控制的策略执行点;63.智能网关,也可称为零信任网关,部署在应用程序(终端设备上的应用程序,例如浏览器)和内网的数据资源的入口,主要负责每一个访问内网的数据资源的会话请求的验证、授权和转发;64.服务端(即,总控制器)是零信任系统的后台系统,可以用于客户端的登录认证、策略下发等。65.此外,零信任系统还可以包括业务服务器,该业务服务器中存储有内网的数据资源,可以响应内网的数据资源的访问请求进行请求的处理等。66.在零信任系统中,后台服务可以暴露一些网络端口(即,服务端口)用于向客户端提供服务,暴露的服务端口可由用户在安装后台系统时自行修改,例如,用于进行登录服务控制的服务端口1、用于在外网中提供长连接服务的服务端口2、用于在内网中提供长连接服务的服务端口3、以及用于提供代理服务的服务端口4,这些端口的端口号可以采用默认的端口号,也可以由用户自行配置修改。67.对于零信任系统中,客户端与服务器的数据交互流程可以参考图4,客户端与后台的数据交互主要分为两个部分,第一部分包括客户端的登录、心跳、长连接和短连接等控制流的网络数据传输(对应于图4中通过服务端口1、服务端口2和服务端口3与服务器的数据交互);第二部分为登录客户端后,通过访问代理拦截本地流量对于内网的数据资源的访问请求,这些请求到达后台之后,由智能网关转发至内网的业务服务器(对应于图4中通过服务端口4通过智能网关与业务服务器的数据交互)。68.服务器上暴露的这些服务端口,会影响零信任系统的安全性能,借由nmap等嗅探工具向零信任系统发起嗅探攻击,而通过发现服务器开放的服务端口,发起诸如sql注入、xss攻击、ddos攻击等攻击。69.在本实施例中,为了实现客户端的登录、对于内网的数据资源的访问等,可以通过单包授权(即,spa)的方式对客户端进行认证,这里,单包授权是指:通过单个敲门包来申请对于服务端隐藏的服务端口进行访问(或者说,隐藏服务器开放端口)。70.对于零信任系统的管理员,其可以通过其终端设备上的客户端进行服务隐藏功能的配置,示例性地,服务隐藏功能配置页面可以如图5所示,服务隐藏功能配置页面是用于设置一组服务器的服务端口隐藏功能的界面。71.隐藏服务功能配置页面可以支持开启/关闭隐藏服务,支持开启/关闭客户端敲门,可选地支持最少一种的敲门方式,支持开启/关闭客户端敲门日志上报功能等。可选地,还可以支持按照服务器名称、服务端口、服务器的ip地址执行查询操作,支持对单个服务器开启/关闭隐藏服务功能,支持审计和阻断两种模式的切换。72.在服务隐藏功能配置页面中,还可以指示对于多个服务器的批量操作。例如,响应于对多个服务器的选取操作以及触发操作,在服务隐藏功能配置界面上显示设置窗口,这里的设置窗口为设置多个服务器的服务隐藏功能的窗口,设置窗口中可以包括用于开启或者关闭多个服务器的服务端口隐藏功能的选项、以及与服务器的处理模式对应的选项,这里的处理模式可以包括审计模式和阻断模式。73.例如,如图6所示,可以通过批量操作按钮对服务器进行批量操作,可以同时对服务器1至服务器6开启和关闭服务端口隐藏功能、以及处理模式进行配置,这里的服务器可以是root(根)服务器,也可以是网关服务器。74.除了进行服务隐藏功能配置,管理员还可以通过其终端设备运行的客户端进行查看服务隐藏功能的运行状态,在客户端上可以显示运行状态页面,在该页面中显示有零信任系统的客户端使用敲门包(也称敲门数据包)的使用信息。响应于对运行状态页面执行的查询操作,确定与查询操作对应的查询条件,查询条件可以包括但不限于以下至少之一:计算机名(运行客户端的计算机的名称),敲门id(客户端所使用的账号id),mac(mediaaccesscontrol,媒体存取控制)地址,目的ip地址,目标端口,使用多种协议中的各种协议发送敲门包的敲门结果,最终敲门结果,敲门时间。75.例如,如图7所示,运行状态页面显示有客户端敲门包的详细情况,包括敲门流水日志、各种协议敲门包的敲门总数和敲门成功数等等。并且,在运行状态页面中可以支持按照计算机名、敲门id、mac地址、目的ip地址、目标端口、各种协议类型的敲门结果、最终敲门结果等进行查询,还可以查询最近7天的敲门日志,方便管理员等相关人员诊断敲门是否适用当前的网络环境。76.可选地,对于一些特殊的网络场景,无法适用敲门机制,可以增加白名单列表界面,以支持手动添加放白的ip地址和ip地址段等,如图8所示,可以在白名单列表界面中查看白名单列表中的ip地址、ip地址段,同时可以设置ip地址的有效时间,并支持对ip地址、ip地址的有效时间等进行编辑及删除。77.可选地,还可以管理员的客户端上设置访问行为列表界面,通过访问行为列表界面可以显示一段时间内的服务端的访问记录,如图9所示,在访问行为列表界面中显示有记录的最近7天服务端的访问记录。可选地,还可以支持按照来源ip地址、服务器ip地址等的查询,还可以支持按照审计、阻断、白名单类等进行分类查看。78.在用户使用零信任系统的客户端访问内网的数据资源时,可以首先通过敲门包进行源ip地址、或者源网络地址和源端口号的放白,本实施例中,源网络地址以ip地址为例进行说明。79.对于第一客户端,按照预设的敲门包发送条件,可以向目标服务器发送第一敲门包,而目标服务器可以接收第一客户端发送的第一敲门包。第一敲门包中携带有与第一客户端对应的第一源网络地址和第一源端口号,第一敲门包可以用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务,这里的目标服务器可以是前述用于控制客户端登录认证、策略下发等的服务器,也可以是上述智能网关。目标端口号可以是目标服务器上隐藏的服务端口的端口号,可以包括一个或多个端口号,目标端口号对于第一客户端是隐藏的,即,需要通过发送敲门包的方式先将隐藏的服务端口对客户端开放。80.预设的敲门包发送条件可以是按照需要配置的发送敲门包的条件,例如,在由业务访问需求时、在有与目标服务器的网络连接需求时、按照预设时间间隔需要重新发送敲门包时,还可以包括其他需要发送敲门包的条件,本实施例中对此不做限定。只要能够保证在发送正常的数据包之前,客户端对应的源网络地址、或者源网络地址和源端口号添加到目标服务器的白名单列表即可。81.为保证敲门包可以准确地被服务器接收,第一客户端可以按照预设配置发送基于至少一种协议的敲门包,这里,第一敲门包可以是基于tcp(transmissioncontrolprotocol,传输控制协议)协议的敲门包,即,tcp_syn(synchronization,同步)敲门包,除了第一敲门包以外,第一客户端还可以同时向目标服务器发送其他敲门包,可以包括但不限于:基于udp协议的udp(userdatagramprotocol,用户数据报协议)敲门包,基于icmp(internetcontrolmessageprotocol,网络控制报文协议)协议的icmp敲门包。82.可选地,第一源网络地址和第一源端口号可以携带在上述敲门包的目标字段中,例如,payload字段。这里,payload字段是网络数据包的数据段,是指除去协议首部之外实际传输的数据。83.需要说明的是,客户端向服务器发送敲门包可以是由客户端中集成的敲门模块执行的,上述敲门模块可以为用于进行单包授权的程序模块,例如,spa模块。例如,客户端发起用户登录,客户端的spa模块将会占用一个本地端口(与源端口号对应),同时发送udp敲门包、tcp_syn敲门包以及icmp敲门包。84.为实现客户端统一管理的敲门模块sdk(softwaredevelopmentkit,软件开发工具包)的研发,可以采用golang语言开发供客户端调用的sdk,即,spa模块。所采用的技术包括gopacket库进行敲门包的组包,windows系统下,客户端采用pcap(packetcapture,数据包捕获)库的wpcap.dll进行tcp_syn敲门包、icmp敲门包的发送,而在macos(operatingsystem,操作系统)下采用的是pcap库的libpcap.a进行tcp_syn敲门包的发送。这里,在计算机网络领域,pcap是用于捕获网络流量的api(applicationprogramminginterface,应用程序接口)。85.可选地,本可选示例可以规范可供调用的接口函数,借由golang语言的交叉编译技术,编译出dll文件供win端的客户端进行调用和.a文件和供macos端的客户端进程进行调用。由于零信任系统的代理请求进程(与访问代理对应)是golang语言编写,所以可以采用gomod技术将sdk的代码集成至代理进程的代码中编译。86.步骤s204,在第一敲门包通过校验的情况下,将具有对应关系的第一源网络地址和第一源端口号添加到白名单列表中,以将目标端口号对第一客户端开放。87.在接收第一敲门包之后,目标服务器(也可以是目标服务器的代理网关,即上述智能网关,以下以目标服务器执行为例)可以对第一敲门包进行验证,验证的信息可以包括一种或者多种,可以包括但不限于以下至少之一:密钥对md5值的验证,时间戳的验证等,本实施例中对于敲门包的验证方式不做限定。88.如果第一敲门包通过校验,目标服务器可以将具有对应关系的第一源网络地址和第一源端口号(例如,第一源网络地址和第一源端口号的组合)添加到目标服务器的白名单列表中,从而将目标端口号对第一客户端开放。第一敲门包可以是tcp_syn敲门包,此外,对于第一客户端发送的其他敲门包,如果其他敲门包通过验证,则可以将其他敲门包中携带的源网络地址添加到白名单列表中。89.可选地,为了实现以服务为粒度的放白,可以将具有对应关系的第一源网络地址、第一源端口号以及目标端口号添加到白名单列表中。对于采用不同通信协议的敲门包,保存到白名单列表中的信息可以包括源网络地址、或者源网络地址和源端口号。为了实现以通信协议为粒度的放白,可以将具有对应关系的第一源网络地址、第一源端口号以及目标协议类型(即,第一敲门包所采用的通信协议,例如,tcp协议)添加到白名单列表中。90.例如,服务器收到tcp_syn敲门包之后,验证tcp_syn敲门数据包,即,其payload字段,对tcp_syn包的源ip地址和源端口号进行放白操作。服务器收到udp敲门包之后,验证udp敲门数据包,即其payload字段,对udp敲门包的源ip地址进行放白操作。服务器收到icmp敲门包之后,验证icmp敲门数据包,即其payload字段,对icmp数据包的源ip地址进行放白操作。91.示例性地,敲门包可以携带有源网络地址和源端口号,采用的通信协议的类型为目标协议类型,申请的是对客户端隐藏的目标端口号对应的业务。在敲门包校验通过的情况下,可以将根据敲门包所采用的通信协议的协议类型,将一个白名单条目添加到白名单列表中。添加的白名单条目可以包括:源网络地址,目标协议类型,也可以包括源端口号,还可以包括目标端口号。例如,白名单条目可以包括:源网络地址,目标协议类型,目标端口号(对于如udp协议、icmp协议),又例如,白名单条目可以包括:源网络地址,源端口号,目标协议类型,目标端口号。92.可选地,可以设置白名单列表中添加的每个条目(例如,源网络地址、或者源网络地址和源端口号)的有效时间,例如,15分钟,即,每个条目在设置的有效时间内有效,超过有效时间之后失效,可以对失效的条目执行删除操作,以减少对于存储资源的占用。93.步骤s206,接收第一客户端发送的第一业务请求,其中,第一业务请求中携带有第一源网络地址和第一源端口号,第一业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务。94.在发送完第一敲门包之后,第一客户端还可以向目标服务器发送第一业务请求,以请求访问目标服务器上与第一目标端口号对应的第一业务,而目标服务器可以接收第一业务请求。这里,第一业务请求中携带有第一源网络地址和第一源端口号,还可以携带有目标服务器的服务器地址以及第一目标端口号。这里的第一业务请求为正常的业务请求(非敲门包),其可以是登录请求,也可以是其他的业务请求,本实施例中对于业务请求的请求类型不做限定。95.可选地,在发送第一业务请求之前,还可以首先建立第一客户端与目标服务器之间的通信连接,例如,tcp连接,建立连接的方式可以是通过三次握手方式所建立的,也可以是采用其他连接建立方式所建立的,本实施例中对于建立连接请求的方式不做限定。96.步骤s208,在白名单列表中查找到具有对应关系的第一源网络地址和第一源端口号、且目标端口号包括第一目标端口号的情况下,响应第一业务请求,允许第一客户端访问目标服务器上与第一目标端口号对应的第一业务。97.在接收第一业务请求之后,可以在白名单列表中查找具有对应关系的第一源网络地址和第一源端口号。如果查找到具有对应关系的第一源网络地址和第一源端口号,并且目标端口号包括第一目标端口号,可以确定允许第一客户端访问目标服务器上与第一目标端口号对应的第一业务。98.上述查找也可以是按照第一业务请求所采用的协议类型(即,第一协议类型)进行的查找,如果查找到具有对应关系的第一源网络地址、第一源端口和第一协议类型,或者,如果查找到具有对应关系的第一源网络地址、第一源端口和第一协议类型,并且目标端口号包括第一目标端口号,可以确定允许第一客户端访问目标服务器上与第一目标端口号对应的第一业务。99.可选地,如果传输第一业务请求采用是源端口号在进行转换时发生变化的协议(例如,udp或者imcp等),也可以根据第一业务请求中携带的源网络地址进行查找,即使第一业务请求中的源端口号与查找到的条目中的源端口号不一致,也可以允许进行业务访问。可选地,为了提高业务处理的准确性,也可以查找具有对应关系的第一源网络地址和第一协议类型,如果查找到具有对应关系的第一源网络地址和第一协议类型,或者,如果查找到具有对应关系的第一源网络地址和第一协议类型,并且目标端口号包括第一目标端口号,可以确定允许第一客户端访问目标服务器上与第一目标端口号对应的第一业务。100.如果执行上述操作的是目标服务器,可以由目标服务器按照第一业务请求执行与第一业务对应的业务操作,还可以向第一客户端返回第一业务请求的请求结果。如果执行上述操作的是目标服务器对应的智能网关,可以由智能网关将请求转给目标服务器,由目标服务器按照第一业务请求执行与第一业务对应的业务操作,还可以通过智能网关向第一客户端返回第一业务请求的请求结果。101.这里,需要说明的是,通过在客户端发送tcp_syn、udp、icmp这三种敲门包中的至少一个敲开服务器端隐藏的服务端口,达到授权终端可以正常地访问服务器后台的网络服务,而未授权终端无法发现服务器开放的服务端口,后台服务对未授权终端实现网络隐身的目的。客户端可以使用pcap和原始套接字(rawsocket)发送敲门包,后台服务器可以基于iptables、ipset以及nfqueue(nfq,一种将数据包的决定委托给用户空间的软件)实现敲门包的源ip地址放白、或者敲门包的源ip地址和源端口放白。102.这里,iptables和nfqueue可以替换成xdp(xmldatapackage,xml数据包)的类似实现,还可以通过更改消息订阅发布的组件(例如,centrifuge,一种消息同步开源实现)来实现与发送敲门包相同或者类似的功能。103.还需要说明的是,通过发送tcp_syn敲门包来放白终端请求的源ip地址和源端口,终端复用放白的源ip地址和源端口发起网络请求,可以做到ip地址加上源端口级别的粒度放白,可以有效解决nat组网中由于存在出口ip地址一致所导致的问题。同时,无需使用到中间服务器,不会对原有的业务系统造成额外服务器资源开销。104.此外,零信任访问控制包括用户可使用的进程信息(即,可信应用)以及可访问的业务站点(可达区域)、设备信息、登录用户信息、网络流量对应的协议类型等。在权限开通的情况下,用户可通过任何一个可信应用访问到任一个可达区域。零信任访问控制的粒度为登录用户,允许为不同的登录用户制定不同的零信任策略,由总控制器发送到客户端,再由客户端下发给访问代理,由访问代理基于下发的策略对获取到的业务流量进行处理,确定业务请求是通过直连的方式发送给对应的业务服务器还是通过访问代理发送给对应的业务服务器。105.在本实施例中,相较于使用iptables加上ipset实现ip地址放白,可以实现智能网关和总控制器所有端口的隐身,整个零信任系统的安全性得到更大的提升。同时,基于ip地址加端口号的放白策略,相较于仅支持ip地址加白而言,粒度更细,可以有效解决同一局域网下出口ip地址一致导致的ip地址放白粒度较大的问题,可进一步提高服务端的安全性。106.示例性地,结合图4和图10,在隐藏服务端口的零信任系统中,基于单包授权进行业务请求处理的流程可以包括以下步骤:107.步骤s1002,通过客户端向后台服务器发送敲门包。108.用户可以使用安装集成spa模块的客户端向零信任系统的后台服务器发送敲门包,发送的敲门包可以是udp敲门包、tcp_syn敲门包、icmp敲门包中的至少在一个。109.步骤s1004,捕获敲门包后,后台服务器可以对敲门包进行校验,如果校验通过,放白敲门包的源ip地址(对于udp敲门包和icmp敲门包)或者源ip地址和源端口(对于tcp_syn敲门包),即,将这个ip地址或者这个ip地址和端口号写入ipset中。110.步骤s1006,客户端向后台服务器发送正常的业务请求(通过网络数据包发送),业务请求可以包含有源ip地址或者源ip地址和源端口。111.步骤s1008,后台服务器可以判断是否对业务请求进行响应,即,根据iptables和ipset,判断接收的网络数据包的源ip地址(对于udp敲门包和icmp敲门包)、或者源ip地址和源端口(对于tcp_syn敲门包)是否位于白名单列表中,如果是,执行步骤s1010,否则,执行步骤s1012。112.步骤s1010,后台服务器丢弃(即,drop)网络数据包。113.步骤s1012,后台服务器可以响应业务请求,确定业务请求的请求结果。114.步骤s1014,后台服务器可以向客户端返回请求结果。115.上述业务请求的处理流程可以适用于图4中数据交互的两个部分,结合图11,业务访问的完整流程可以包括以下步骤:116.步骤s1102,基于单包授权通过客户端与服务器进行数据交互进行用户登录。117.在客户端发起用户登录时,在建立与后台的连接前,会先调用客户端的spa模块执行敲门操作。客户端的spa模块将会占用一个本地端口,同时向总控制器发送udp敲门包、tcp_syn敲门包和icmp敲门包,总控制器分别对接收的udp敲门包、tcp_syn敲门包和icmp敲门包,同时对验证通过的源ip地址、或者源ip地址和源端口进行放白。118.客户端的spa模块完成敲门操作之后,返回占用的本地端口给客户端的具体业务使用,客户端绑定客户端的spa模块返回的本地端口,可以在执行现行的业务时,使用绑定的本地端口通过业务请求执行访问操作。这些业务请求包括登录命令等,业务请求可以是通过tcp连接发送的。119.总控制器可以向客户端返回命令结果,客户端通过向总控制器发送身份认证请求等完成用户登录,登录成功之后,总控制器会向客户端返回大票(可以是客户端执行后续的业务访问请求中所使用的总票据),通过大票可以在执行具体的业务请求时向总控制器申请具体业务的小票,即具体业务的票据。120.步骤s1104,基于单包授权通过客户端与智能网关进行数据交互执行业务访问流程。121.客户端在登录之后,可以通过业务应用发起业务访问请求,可以与总控制器进行交互,执行申请票据和返回票据操作,得到与所访问的业务服务器所对应的智能网关的网关地址,并通过访问代理对指定的智能网关发起业务访问请求。122.在发送业务访问请求前,通过客户端的spa模块执行敲门操作,智能网关(即,网关服务器)验证敲门包之后,对ip地址或者ip地址和端口号进行放白。之后,客户端发起带票据的连接请求,客户端返回验证结果后与服务器建立连接,客户端的访问代理转发业务访问请求,智能网关收到业务访问请求后再次转发业务访问请求给内网的业务服务器,内网的业务服务器通过智能网关返回业务访问请求的请求结果。123.此外,在步骤s1102和步骤s1104之间还可以执行其他的操作,例如,密钥交换操作等,通过密钥交换操作可以更新服务器的密钥对。124.通过本技术提供的实施例,接收第一客户端发送的第一敲门包,其中,第一敲门包中携带有与第一客户端对应的第一源网络地址和第一源端口号,第一敲门包用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务,目标端口号对第一客户端隐藏;在第一敲门包通过校验的情况下,将具有对应关系的第一源网络地址和第一源端口号添加到白名单列表中,以将目标端口号对第一客户端开放;接收第一客户端发送的第一业务请求,其中,第一业务请求中携带有第一源网络地址和第一源端口号,第一业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务;在白名单列表中查找到具有对应关系的第一源网络地址和第一源端口号、且目标端口号包括第一目标端口号的情况下,响应第一业务请求,允许第一客户端访问目标服务器上与第一目标端口号对应的第一业务,解决了相关技术中的业务请求的处理方式存在由于服务端的服务端口易被嗅探导致的服务端存在被攻击风险的技术问题,降低了服务端被攻击的风险,提高了服务端的安全性。125.作为一种可选的实施方案,上述方法还包括:126.s11,在第一敲门包中携带有用于表示端口号段的信息的情况下,判断第一目标端口号是否是端口号段内的端口号,其中,目标端口号包括端口号段内的端口号;127.s12,在第一目标端口号是端口号段内的端口号的情况下,确定出目标端口号包括第一目标端口号。128.如果第一敲门包中携带有用于表示端口号段的信息,即,请求访问的是一组服务端口,可以通过起始端口和结束端口表示,则目标端口号包括端口号段内的所有端口号,可选地,可以通过离散的端口号表示端口号段,即,枚举出所有的服务端口号。129.在接收第一业务请求之后,可以判断第一目标端口号是否是端口号段内的端口号。如果是,则确定目标端口号包括第一目标端口号,否则,确定目标端口号不包括第一目标端口号。130.例如,敲门包中携带的端口号段为:端口号1至端口号n(n为大于或者等于2的正整数),如果业务请求的服务端口属于端口号1至端口号n,则可以确定允许该业务请求。131.通过本技术提供的实施例,通过敲门包携带服务端口号段的信息的方式执行敲门操作,可以提高请求访问服务端口的效率。132.作为一种可选的实施方案,在接收第一客户端发送的第一敲门包之后,上述方法还包括:133.s21,在目标服务器与第一客户端上建立第一网络连接,其中,在第一网络连接处于有效状态的情况下,白名单列表中的具有对应关系的第一源网络地址和第一源端口号处于有效状态。134.白名单列表中的条目的有效期可以与客户端与服务器之间的通信连接的有效状态相对应。例如,在每次建立网络连接之前,可以先通过敲门包将客户端对应的源网络地址或者源网络地址和源端口号的组合添加到白名单列表中,且添加的源网络地址或者源网络地址和源端口号的组合的有效期与之后建立的网络连接的有效期对应,在建立的网络连接处于有效状态的情况下,白名单列表中添加的源网络地址或者源网络地址和源端口号的组合也处于有效状态。135.例如,对于零信任系统的客户端中的spa模块,在每一次请求后台网络服务时,可以先调用一次spa模块发送敲门包,再绑定该接口返回的端口向服务器发起请求。136.在接收第一敲门包之后,目标服务器可以根据第一客户端的网络请求与第一客户端建立网络连接,例如,第一网络连接,在第一网络连接处于有效状态的情况下,白名单列表中的具有对应关系的第一源网络地址和第一源端口号也处于有效状态。137.可选地,也可以设置白名单列表中的具有对应关系的第一源网络地址和第一源端口号对应的有效期,在有效期到达时或者到达之前,如果检测到第一网络连接处于有效状态,则第一服务器可以重新发送敲门包。如果第一网络连接为短连接,则可以通过心跳包来保证第一网络连接处于有效状态,在每次发送心跳包之前,可以重新发送敲门包,或者,心跳包和敲门包合并为一个数据包发送,即,心跳包为敲门包,敲门包的处理过程与前述实施例中类似,在此不做赘述。138.对应地,接收第一客户端发送的第一业务请求可以包括:接收第一客户端通过第一网络连接发送的第一业务请求,即,第一客户端通过建立的第一网络连接发送第一业务请求。139.需要说明的是,每个业务请求可以通过一个网络连接进行发送,同一网络连接上可以发送一个或多个业务请求,网络连接与业务请求的关系可以基于系统处理逻辑进行设定,本实施例中对此不做限定。140.通过本技术提供的实施例,在建立网络连接之前通过发送敲门包进行源网络地址或者源网络地址和源端口号的放白,同时控制网络连接的有效状态和白名单列表中的源网络地址或者源网络地址和源端口号的有效状态保持一致,可以提高业务处理的可靠性,避免业务处理失败,也减少发送敲门包对网络资源的占用。141.作为一种可选的实施方案,在将具有对应关系的第一源网络地址和第一源端口号添加到白名单列表中之后,上述方法还包括:142.s31,接收第二客户端发送的第二业务请求,其中,第二业务请求中携带有第二源网络地址和第二源端口号,第二业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务;143.s32,在白名单列表中未查找到具有对应关系的第二源网络地址和第二源端口号的情况下,丢弃第二业务请求。144.在将第一源网络地址和第一源端口号添加到白名单列表中之后,目标服务器还可以接收其他客户端内的业务请求,例如,第二客户端的业务请求。第二客户端可以向目标服务器发送第二业务请求,以请求访问目标服务器上与第一目标端口号对应的第一业务,在第二业务请求中携带的是第二源网络地址和第二源端口号。145.在接收第二业务请求之后,目标服务器可以从第二业务请求中提取出第二源网络地址和第二源端口号,并在白名单列表中进行查找,确定是否存在具有对应关系的第二源网络地址和第二源端口号。虽然第二业务请求所请求访问的是目标服务器上与第一目标端口号对应的第一业务,然而,由于第二客户端未发送过敲门包,因此,在白名单列表中未查找到具有对应关系的第二源网络地址和第二源端口号,因此,对第二业务请求执行丢弃操作,即,丢弃第二业务请求(或者说,携带第二业务请求的数据包)。146.通过本技术提供的实施例,对于未通过敲门包对源网络地址或者源网络地址和源端口号请求执行放白处理的业务请求进行丢弃,可以提高数据资源的安全性。147.作为一种可选的实施方案,上述方法还包括:148.s41,在第一客户端对应的第一源网络地址和第一源端口号更改为第三源网络地址和第三源端口号的情况下,接收第一客户端发送的第三业务请求,其中,第三业务请求中携带有第三源网络地址和第三源端口号,第三业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务;149.s42,在白名单列表中未查找到具有对应关系的第三源网络地址和第三源端口号的情况下,丢弃第三业务请求。150.由于网络环境发生变化,第一客户端对应的源网络地址和源端口号可能会发生变化。如果第一客户端对应的源网络地址和源端口号更改为第三源网络地址和第三源端口号,当第一客户端采用与前述实施例中相同或者类似的方式向目标服务器发送业务请求时,其发送的业务请求中携带的是新的源网络地址和源端口号,例如,发送的第三业务请求中携带的是第三源网络地址和第三源端口号,该业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务。151.在接收第三业务请求之后,目标服务器可以从第三业务请求中提取出第三源网络地址和第三源端口号,并在白名单列表中进行查找,确定是否存在具有对应关系的第三源网络地址和第三源端口号。虽然第三业务请求所请求访问的是目标服务器上与第一目标端口号对应的第一业务,且第一客户端已经发送过敲门包,但是,由于第一客户端的源网络地址和源端口号发生了变化,在白名单列表中未查找到具有对应关系的第三源网络地址和第三源端口号,因此,对第三业务请求执行丢弃操作,即,丢弃第三业务请求。152.通过本技术提供的实施例,对于源网络地址和源端口号发生变化的客户端发送的业务请求,基于携带的源网络地址或者源网络地址和源端口号,如果在白名单列表中未查找到对应的条目,则对业务请求进行丢弃,可以提高数据资源的安全性。153.作为一种可选的实施方案,上述方法还包括:154.s51,接收第一客户端发送的第四业务请求,其中,第四业务请求中携带有第一源网络地址和第一源端口号,第四业务请求用于请求访问目标服务器上与第二目标端口号对应的第二业务;155.s52,在白名单列表中查找到具有对应关系的第一源网络地址和第一源端口号、且目标端口号不包括第二目标端口号的情况下,丢弃第四业务请求。156.在本实施例中,第一客户端可以采用与前述实施例中相同或者类似的方式向目标服务器发送第四业务请求,第四业务请求中携带的同样是第一源网络地址和第一源端口号,该业务请求用于请求访问目标服务器上与第二目标端口号对应的第二业务。157.在接收第四业务请求之后,目标服务器可以从第四业务请求中提取出第一源网络地址和第一源端口号,并在白名单列表中进行查找,确定是否存在具有对应关系的第一源网络地址和第一源端口号。如果查找到具有对应关系的第一源网络地址和第一源端口号,并且确定目标端口号包括第二目标端口号,则可以允许第一客户端访问目标服务器上与第二目标端口号对应的第二业务。158.可选地,也可以是仅针对源网络地址或者源网络地址和源端口号进行放白,即,即使后续申请访问的端口号是未通过敲门包已经申请过的,也可以允许客户端对该服务端口对应的业务进行访问,即,如果查找到具有对应关系的第一源网络地址和第一源端口号,即使目标端口号不包括第二目标端口号,也可以允许第一客户端访问目标服务器上与第二目标端口号对应的第二业务。159.在本实施例中,为了提高业务处理的准确性,除了查找具有对应关系的具有对应关系的所述第一源网络地址和所述第一源端口号以外,还可以进一步判断目标端口号是否包括第二目标端口号,如果不包含第二目标端口号,可以直接丢弃第四业务请求,已实现基于服务端口粒度的放白。160.需要说明的是,白名单列表的条目和业务请求的处理可以是根据协议类型的,例如,白名单列表中的每个条目可以记录敲门包的协议类型。对于接收的业务请求,可以基于业务请求的协议类型,确定使用源网络地址或者源网络地址和源端口号,然后,基于协议类型和源网络地址、或者基于协议类型、源网络地址和源端口号查找白名单列表中的条目,确定是否查找到匹配的条目。上述匹配可以是完全相同,也可以是基于预设匹配条件的匹配,预设规则可以是:如果查找到协议类型相同的条目,完全相同为匹配,如果查找到协议类型不同的条目,源网络地址相同为匹配。161.需要说明的是,白名单列表的条目和业务请求的处理可以是根据服务端口的,例如,白名单列表中的每个条目可以记录敲门包所申请的端口号(服务端口号)。对于接收的业务请求,可以基于业务请求所请求的端口号和源网络地址、或者基于所请求的端口号、源网络地址和源端口号查找白名单列表中的条目,确定是否查找到匹配的条目。上述匹配可以是完全相同,即,端口号和源网络地址、或者基于所请求的端口号、源网络地址和源端口号完全相同。162.还需要说明的是,白名单列表的条目和业务请求的处理可以是根据协议类型和服务端口的,例如,白名单列表中的每个条目可以记录敲门包的协议类型以及敲门包所申请的端口号(服务端口号)。对于接收的业务请求,可以先采用与前述相同或者类似的方式先使用协议类型和源网络地址、或者协议类型、源网络地址和源端口号,确定是否存在匹配的候选条目;如果存在,再依据业务请求所请求的端口号是否属于候选条目中的端口号,从而确定是否查找到匹配的条目。163.通过本技术提供的实施例,基于源网络地址、或者源网络地址和源端口号进行放白,可以提高业务请求处理的灵活性。164.作为一种可选的实施方案,在将具有对应关系的第一源网络地址和第一源端口号添加到白名单列表中之后,上述方法还包括:165.s61,将具有对应关系的第一源网络地址和第一源端口号在白名单列表中的有效时长设置为第一时长;166.s62,在第一时长结束之前,接收第一客户端发送的第二敲门包,其中,第二敲门包中携带有第一源网络地址和第一源端口号,第二敲门包用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务;167.s63,在第二敲门包通过校验、且在白名单列表中查找到具有对应关系的第一源网络地址和第一源端口号的情况下,将具有对应关系的第一源网络地址和第一源端口号在白名单列表中的有效时长调整为第二时长。168.在本实施例中,可以为白名单列表中具有对应关系的第一源网络地址和第一源端口号设置在白名单列表中的有效时长,设置的有效时长可以为第一时长。如果在第一时长结束之前未接收新的敲门包,则将白名单列表中具有对应关系的第一源网络地址和第一源端口号设置为无效状态。169.可选地,在第一时长结束之前,目标服务器可以接收第一客户端发送的第二敲门包,第二敲门包中携带有第一源网络地址和第一源端口号,第二敲门包用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务,发送第二敲门包和接收第二敲门包的方式与前述实施例中类似,在此不做赘述。170.在目标服务器对第二敲门包进行校验通过之后,可以直接将具有对应关系的第一源网络地址和第一源端口号添加到白名单列表中,在此情况下,白名单列表中可以具有至少两条具有对应关系的第一源网络地址和第一源端口号。171.可选地,在本实施例中,在第二敲门包校验通过之后,目标服务器可以在白名单列表中进行查找,确定是否存在具有对应关系的第一源网络地址和第一源端口号,如果查找到,则可以将具有对应关系的第一源网络地址和第一源端口号在白名单列表中的有效时长调整为第二时长。这里,第二时长和第一时长可以是相同的时长,即,对具有对应关系的第一源网络地址和第一源端口号在白名单列表中的有效时长进行重置,第二时长也可以大于上述的第一时长,例如,基于接收的敲门包对具有对应关系的第一源网络地址和第一源端口号在白名单列表中的有效时长进行累加,本实施例中对此不做限定。172.通过本技术提供的实施例,通过设置白名单列表中的条目的有效时长,并基于接收的敲门包来调整对应条目的有效时长,可以提高服务端的安全性,还可以提高有效时长设置的灵活性。173.作为一种可选的实施方案,上述方法还包括:174.s71,在第一客户端登录成功的情况下,接收第一客户端发送的密钥获取请求,其中,密钥获取请求用于请求获取与第一客户端对应的密钥对;175.s72,响应密钥获取请求,生成与第一客户端对应的目标密钥对,其中,目标密钥对为目标服务器与第一客户端进行数据通信所使用的密钥对,目标服务器用于为不同的客户端生成不同的密钥对;176.s73,将目标密钥对中的目标公钥发送给第一客户端。177.在本实施例中,在发送完第一敲门包之后,第一客户端可以执行登录操作,例如,使用通过第一客户端输入的账号和密码、或者账号、密码以及验证信息进行登录。在未登录之前,与目标服务端进行交互所使用的密钥对可以是目标服务器默认的密钥对。178.例如,客户端的spa模块中可以内置服务端的通用密码对,使用加密存储,可以防止攻击者逆向破译spa模块的通用密钥对。但是,使用通用密码对加密敲门包仍是不安全的。因此,在本实施例中,可以为每个客户端生成对应的密钥对,即,与该客户端通信所使用的密钥对,并通过密钥交换新的密钥对中的公钥发送给客户端。179.第一客户端可以向目标服务器发送密钥获取请求(即,密钥交换请求,申请客户端的私有种子),该密钥获取请求用于请求获取与第一客户端对应的密钥对。密钥获取请求可以携带有客户端所使用的密钥对的公钥,还可以携带有其他信息,例如,第一客户端所属终端设备的设备标识,还可以携带有票据信息,上述信息可以使用目标服务器的公钥进行加密。180.目标服务器可以接收密钥获取请求,响应该密钥获取请求,为第一客户端生成目标密钥对(即,获取种子),生成的目标密钥对为目标服务器与第一客户端进行数据通信所使用的密钥对,目标服务器可以为不同的客户端生成不同的密钥对,并使用不同的密钥对于不同的客户端进行通信。在得到目标密钥对之后,目标服务器可以将目标密钥对中的目标公钥发送给第一客户端,目标公钥可以使用客户端所使用的密钥对的公钥进行加密(即,解密种子)。181.在接收目标服务器返回的目标公钥之后,第一客户端可以对其进行保存,在与目标服务器进行后续交互时,对交互数据进行加密所使用的可以是目标公钥。182.例如,如图12所示,终端设备可以包括客户端的ui(userinterface,用户界面)进程,网络库(包含spa接口),持久化存储,spa-sdk,访问代理,总控制器可以包括:服务器的spa模块(即,spa_控制器)和服务器逻辑层。客户端与服务端交换密钥的流程可以包括以下步骤:183.步骤1202,客户端发起登录请求,并成功登录。184.客户端_ui进程向网络库发起登录请求,调用客户端的spa模块使用默认密钥(即,通用密钥)对发起敲门操作,可以包括spa-sdk调用spa接口准备敲门,使用默认密钥发送敲门包,spa_控制器确定敲门成功打开端口。185.步骤1204,登录成功之后,进行客户端与服务器的密钥交换。186.登录成功后,客户端与服务器可以开始进行密钥交换。客户端将交换的密钥写入本地持久化存储sqlite(一种轻型的数据库)中。之后,调用spa模块的设置密钥接口设置交换后的加密密钥,完成密钥交换环节。187.在使用密钥对时,可以通过计算密钥对的md(message-digestalgorithm,信息摘要算法)5值,唯一标识密钥对。客户端公钥和md5值上传到服务端之后,可以落入数据库同时读入缓存。之后服务端下发服务端公钥,从而完成密钥交换。密钥交换后,客户端会加密存储密钥对。通过实现一端一密(一个终端对应于一个密钥对),可以防止spa模块使用默认密钥对泄漏,可以抵御攻击者通过分析敲门包破译密钥,从而可以增强spa单包授权的可靠性与安全性。188.示例性地,客户端向总控制器发起客户端spa模块的密钥交换请求,接收返回的交换密钥后,客户端将密钥加密存储到本地,同时通知客户端spa模块更换数据加密密钥对。189.通过本技术提供的实施例,通过为不同的客户端生成不同的密钥对,可以提高业务数据传输的安全性和可靠性。190.作为一种可选的实施方案,上述方法还包括:191.s81,接收第一客户端上报的第一敲门日志,其中,第一敲门日志为第一客户端记录的、用于描述与第一敲门包对应的敲门事件的日志,第一敲门日志中携带有用于唯一标识第一敲门包的敲门包标识;192.s82,在使用敲门包标识从目标数据库保存的敲门日志中查找到与第一敲门日志匹配的第二敲门日志的情况下,对第一敲门日志和第二敲门日志执行合并操作,得到目标敲门日志,其中,第二敲门日志为目标服务器记录的、用于描述与第一敲门包对应的敲门事件的日志;193.s83,将目标敲门日志保存到目标数据库中。194.可选地,可以为客户端开启上报敲门日志的功能,即,用于记录客户端对应的敲门事件对应的敲门日志,也可以为服务器开始记录敲门日志的功能。敲门日志可以保存在后台数据库中,例如,es数据库,这里,es(elasticsearch)是一个搜索服务器,提供了一个分布式多用户能力的全文搜索引擎。195.对于第一客户端,第一客户端可以在向目标服务器发送第一敲门包之后,生成与第一敲门包对应的第一敲门日志,生成的第一敲门日志可以发送至目标数据库进行保存。第一敲门日志用于描述与第一敲门包对应的敲门事件的日志,第一敲门日志中携带有用于唯一标识第一敲门包的敲门包标识,例如,nonce字段。对于目标服务器,对于接收的第一敲门包,其也可以生成与第一敲门包对应的敲门日志,并将生成的敲门日志保存到目标数据库中。196.在接收第一敲门日志之后,目标数据库可以使用敲门包标识从目标数据库保存的敲门日志中查找与第一敲门日志匹配的敲门日志,即,查找目标服务器记录的、用于描述与第一敲门包对应的敲门事件的日志。如果查找到第二敲门日志,目标数据库可以对第一敲门日志和第二敲门日志执行合并操作,得到目标敲门日志,得到的目标敲门日志可以保存到目标数据库中,执行合并操作的方式可以是:相同的日志信息进行保留一个,不同的日志信息均进行保留。197.示例性地,对于服务端,如图13所示,基于iptables、ipset以及nfq实现服务端口敲门的流程可以包括以下步骤:198.步骤s1302,后台服务器(后台服务器的spa服务,即,spa模块)可以设置iptables的初始化脚本,完成后台服务器的ipset、iptable以及nfq的设置。199.步骤s1304,客户端通过敲门包将客户单的ip地址和端口号写入到服务器的白名单列表中,并复用端口发起tcp连接,服务器将敲门包的记录(敲门包日志)写入到es数据库中。200.客户端可以计算本地种子并加密敲门包,然后发送tcp_syn敲门包、udp敲门包和icmp敲门包。后台系统可以放行白名单数据包(携带的ip地址、或者ip地址和端口号位于白名单列表中的数据包),并过滤敲门包,将过滤的敲门包加入到nfq队列中。201.后台服务器的spa模块可以消费nfq队列中的敲门包,对敲门包进行校验,如果校验通过,则将敲门包的源ip地址或者源ip地址和源端口号加入ipset白名单中。同时,将敲门记录写入后台es数据库中。202.步骤s1306,客户端上报敲门日志,上报的敲门日志写入到es数据库中。203.客户端每执行一次敲门操作会记录敲门日志。客户端通过复用端口的tcp连接,向服务器后台上报敲门日志,上报的敲门日志可以写入到es数据库中。204.这里,服务端在服务端口1、服务端口2、服务端口3和服务端口4设置有iptables链。所有到达这些端口的网络数据包将会交由ipset抉择是否放行。敲门包到达这些端口后,也会通过nfqueue导入到程序应用态抉择验证,这导致一个潜在的风险,即,攻击者可以向这些端口发送大量恶意的敲门包(例如,tcp_syn敲门包)阻塞正常的敲门业务,消耗服务器cpu性能,造成类似ddos攻击的效果。为了有效抵御恶意构造敲门包来造成的类ddos攻击,可以改造敲门包的版本前缀字段,只导入携带特定版本前缀的敲门数据包到用户态抉择。205.在实现支持源ip地址和源端口的放白逻辑时,通过优化构建ipset,实现源ip地址和源端口放白,即,在构建ipset时,通过构造指定两个参数src(source),实现支持源ip地址和源端口放白的ipset表。206.对于客户端,如图14所示,客户端调用spa模块的流程可以包括以下步骤:207.步骤s1402,主控制流调用spa模块。208.客户端的主控制流调用spa模块的调用逻辑主要包括:向spa_fwknop(单包授权与端口试探工具)打印spa版本信息(即,调用接口包获取spa模块版本信息)、注入日志打印实现接口、以及设置配置数据(例如,日志接管设置、配置参数设置等);还可以包括:发送敲门包(即,sendknockpackage)、返回本地结果、使用本地端口调用后台接口以及返回接口数据等。209.这里,客户端每创建一个tcp连接访问后台,都需要调用spa_fwknop进行敲门和申请本地接口。210.步骤s1404,访问代理调用spa模块。211.客户端的访问代理调用spa模块的调用逻辑与主控制流调用spa模块的调用逻辑基本类似。这里,访问代理每创建一个tcp隧道连接,都调用spa_fwknop进行敲门和申请本地接口。212.由于客户端的spa模块运行时的日志由spa模块的开发者在编码时决定,如果采用常规的日志处理流程,客户端在调用spa模块时,会出现一个客户端进程难以统一到一套日志系统的问题,且敲门日志的上报也会由于日志系统的不同难以集中用一套方案统一管理。213.为了解决上述问题,客户端的spa模块可以通过函数指针的方式实现日志接管操作,由调用方决定打印日志方式,以win端的客户端接管spa模块为例,交叉编译后导出的dll库拥有日志注入接口,客户端调用时传入实现打印日志的函数指针达到接管spa模块日志的效果。spa模块和客户端的日志系统统一,可以有效解决集成spa模块的日志系统不一致导致的上传敲门日志难处理,spa模块运行状况难排查的问题。214.在客户端进行日志上报时,如图15所示,在客户端调用敲门操作后,绑定敲门操作返回的本地端口发起请求,通过7722字段(也可以是其他字段)上报敲门日志到后台nsq队列(一种分布式消息队列)中,后台服务器从nsq队列中获取敲门日志后,过滤7722字段,并将过滤的字段写入es数据库中存储,保证敲门包中的nonce字段的唯一性,其中,nsq_syncto_es是用于将nsq队列中的数据同步到es数据库的程序模块。215.这里,在执行一次敲门操作时,在客户端和服务器上分别生成一个敲门日志,即,每次敲门操作对应于两个敲门日志。在为敲门日志分配nonce值时,可以为单个敲门日志分配唯一的随机24byte位nonce值标识,在接收客户端发送的敲门日志时,使用nonce值查找对应的服务器生成的敲门日志,并将接收的敲门日志和查找到的敲门日志进行合并处理,得到合并后的一个敲门日志,可以实现了客户端的敲门日志落入服务端的es数据库和敲门包字段落入服务端的es数据库时统一为唯一的文档记录,可以解决es数据库中的日志查询、聚合、后台对账、分析敲门成功率等场景中存在的问题。216.通过本技术提供的实施例,基于敲门包标识对客户端生成的敲门包日志和服务器生成的敲门包日志进行合并,可以提高数据处理的准确性。217.作为一种可选的实施方案,在接收第一客户端发送的第一敲门包之后,上述方法还包括:218.s91,从第一敲门包的时间戳字段中提取出待校验时间戳,其中,待校验时间戳是根据第一敲门包的生成时间和第一客户端与目标服务器之间的传输时延所添加的时间戳;219.s92,在待校验时间戳指示的时间与目标服务器的系统时间之间的差值大于或者等于目标差值阈值的情况下,确定出第一敲门包未通过校验。220.在接收第一敲门包之后,目标服务器可以对第一敲门包进行校验,例如,敲门包协议的格式可以如表1所示:221.表1222.版本前缀客户端公钥m5认证包的实际加密数据nonce0x80,0x86,0x0116byte固定长度json结构,对称加密,长度可变24byte固定长度223.这里,实际加密数据所使用的加密算法为基于椭圆曲线数学的公开密钥加密算法,使用的密钥可以为利用curve25519.scalarbasemult生成的公私钥,json结构中包含的字段可以包括:224.timestamp(8字节),创建数据包时的unix64位时间戳;225.clientid(16字节),设备的唯一uuid(设备id);226.protocol(1字节),客户端请求访问的协议(例如,tcp、udp、icmp);227.serverip(16字节),请求访问的服务器ip地址;228.startport(2字节),客户端请求访问的端口;229.endport(2字节),客户端请求访问的端口范围的最后一个端口,如只访问一个端口,则此字段与startport相同;230.localip(16字节),需要访问的客户端ip地址;231.localport(2字节),需要访问的客户端端口;232.platform(2字节),客户端平台;233.hostname(16字节),机器名称;234.mac(6字节),mac地址。235.spa敲门包被攻击者捕获后,攻击者通过分析payload字段,可能会发起重放攻击,导致服务端存在被重放攻击的风险。为了克服上述问题,在本实施例中,可以在设计敲门字段时,加入时间戳(timestamp)字段,该字段中保存有创建数据包时添加的时间戳,通过判断时间戳字段中的时间戳和本地时间之间的差值是否小于或者等于预设时间差值(目标差值阈值,例如,120s),确定接收的敲门包的时间戳校验是否通过。236.时间戳字段中的时间戳可以是客户端生成敲门包(或者,发送敲门包)时的本地时间。由于数据包从被客户端发送到被服务器接收存在一定的传输时延,不同的客户端与服务器之间的传输时延、采用不同通信协议的传输时延等与实际的传输场景有关,很难保证预设时间差值对于各个客户端的各个传输场景对应。237.可选地,在本实施例中,客户端(也可以是服务器)可以根据客户端与服务器的历史传输时延,确定参考传输时延(可以是历史传输时延的平均值),或者,根据采用多种传输协议中的每种传输协议进行敲门包传输时客户端与服务器的历史传输时延,确定与每种传输协议匹配的参考传输时延(可以是与每种传输协议对应的历史传输时延的平均值)。客户端可以将生成敲门包时的本地时间与客户端可以将生成敲门包时的本地时间与第一客户端与目标服务器之间的传输时延的和,添加到时间戳字段中。238.在对敲门包进行校验时,目标服务器可以对敲门包的时间戳字段中的时间戳执行强校验操作,如果时间戳与本地时间之间的差值小于或者等于预设时间差值(例如,120s),则强检验通过,否则,强检验不通过。通过上述方式,可以抵御攻击者发起的重放攻击。239.在选择加密算法时,如果采用sm4等算法,存在不同终端系统难移植适配的问题。在本实施例中,通过选用基于椭圆曲线数学的公开密钥加密算法加密敲门包的payload段,可以防止网络攻击者截获敲门包后分析敲门包后构造敲门包发起网络攻击,解决不同终端系统难移植适配的问题,实现多系统终端适用一套加密算法。240.通过本技术提供的实施例,基于时间戳进行敲门包校验,可提高敲门包校验的准确性。241.根据本技术实施例的另一个方面,还提供了一种业务请求的处理方法,可选地,作为一种可选的实施方式,上述业务请求的处理方法可以但不限于应用于如图1所示的环境中。242.可选地,作为一种可选的实施方式,以由上述终端设备102执行本实施例中的业务请求的处理方法为例,图16是根据本技术实施例的另一种可选的业务请求的处理方法的流程示意图,如图16所示,该业务请求的处理方法的流程可以包括以下步骤:243.步骤s1602,向目标服务器发送第一敲门包,其中,第一敲门包中携带有与第一客户端对应的第一源网络地址和第一源端口号,第一敲门包用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务,目标端口号对第一客户端隐藏;244.步骤s1604,向目标服务器发送第一业务请求,其中,第一业务请求中携带有第一源网络地址和第一源端口号,第一业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务。245.在本实施例中,终端设备可以采用与前述实施例中相同或者类似的方式向目标服务器发送第一敲门包和第一业务请求,目标服务器可以是前述的总控制器,也可以是通过智能网关访问的智能网关,以及进行过描述的,在此不做赘述。246.可选地,第一客户端可以通过调用内存释放接口释放发送第一敲门包所申请的内存资源。spa模块可以使用golang语言进行编写,通过golang语言的交叉编译机制和gomobile相关技术实现golang代码的跨平台编译,达到多平台适用一套golang代码发送敲门包的目的。然而,由于golang语言没有内存自动回收的机制,因此,将golang语言交叉编译成dll会存在内存泄漏的问题。例如,调用c.cstring()将go中的字符串转换成c中的字符串,如果不调用c.free()函数释放该内存,则会存在内存泄漏。247.为解决由于不再使用的内存不被释放导致的内存泄漏问题,在本实施例中,可以由spa模块进行内存接口释放,即,由spa模块调用内存释放函数(例如,c.free()函数)进行内存释放,可以有效解决golang的cgo(golang与c语言相互调用)机制导致调用方的程序内存泄漏的问题。释放接口的代码可以如下:248.//释放内存接口249.//exportfreememory250.funcfreememory(ptr*c.char){251.ꢀꢀc.free(unsafe.pointer(ptr))252.}253.可选地,由于win端不支持原始套接字发送敲门包,如果使用pcap直接组敲门包写入终端的物理网卡,需要从链路层组包,也就是说,win端可以采用利用gopacket从链路层组包到协议层的方式发送tcp_syn敲门包和icmp敲门包,而从链路层组包需要填入本地网卡的mac地址和出口路由器的mac地址,因此,需要从链路层组包需要获取出口路由的mac地址,出口路由的mac地址如图17所示。254.而为了有效获取出口路由的mac地址,在本实施例中,可以通过查看本地路由表的方式获取出口路由的mac地址:获取本地路由表,在本地路由表中未查找到出口路由的mac地址的记录的情况下,向终端设备的本地网卡发送用于请求获取出口路由mac地址的广播请求;响应于接收的广播请求的回包,从接收的回包中解析出口路由的mac地址。255.例如,以win端为例,可以在代码中执行arp(addressresolutionprotocol,地址解析协议)命令查看本地的路由表,看本地是否有出口路由的mac地址记录,如果没有,从本地往网卡中写入一个arp广播请求数据包,通过解析发出arp请求包的回包,得到出口路由的ma地址。256.由于获取出口路由的mac地址操作耗时严重,大概需要300ms。如果每次发送敲门包都执行出口路由的mac地址的获取操作,会导致敲门包发送影响到用户的使用体验,系统延时严重。在本实施例中,可以预先缓存本地ip地址和出口路由的mac地址、并在发送敲门包时直接查询内存缓存的本地ip地址和出口路由的mac地址的方式,来减少发送敲门包所导致的系统时延。257.在向目标服务器发送第一敲门包之前,可以读取本地内存缓存的本地网络地址(例如,ip地址)和出口路由的mac地址,使用读取的本地网络地址和出口路由的mac地址生成第一敲门包。在检测终端设备的网络环境发生变化时,可以实时更新内存缓存中的本地网络地址以及出口路由的mac地址。通过上述方式,单次调用敲门接口,耗时为10ms,解决了由于发送敲门包所造成的用户访问时延增加严重的问题。258.如果用户的网络环境发生改变,其本地ip地址和出口路由的mac地址均会发送变化,而如果用户不按照常规操作使用客户端,例如,断开网络打开客户端,之后连接网络,这会导致本地ip地址和出口路由的mac地址获取失败。为了应优化缓存出口路由的mac地址的获取方式,在客户端调用spa模块时,可以先启动网络检测协程,通过golang并发编码技术,当检测到网络变化时,可以吊起updatedstmac(即,更新目标mac地址)协程,更新缓存中的出口路由的mac地址。为了防止网络检测协程在断网时返回终止,可以首先启动网络检测协程,然后再更新本地ip地址和出口路由的mac地址,以有效解决由于类似用户误操作或网络环境频繁抖动导致的网络检测协程返回终止的问题。259.客户端在调用spa模块时,向目标服务器发起请求的请求域名难解析成ip地址,这会导致出现的域名无法解析、spa模块不知道目标服务器的ip地址从而无法发送敲门包的问题。260.在本实施例中,可以对本地dns(domainnamesystem,域名系统)解析技术优化,通过在本地维护一个映射表(map表),其存有域名到ip地址的映射关系,并且每隔预定时间(例如,5分钟)会更新映射表中域名与ip地址的对应关系,可以实现了一个本地的dns缓存系统。由spa模块集成这个dns缓存系统,供调用方使用,可以有效解决在调用spa模块时域名难解析的问题。261.在向目标服务器发送第一敲门包时,可以使用目标服务器的域名查询目标映射表(即,本地维护的、域名与网络地址之间的对应关系的映射表),得到目标服务器的网络地址;使用得到的网络地址生成第一敲门包。262.通过本技术提供的实施例,向目标服务器发送第一敲门包,其中,第一敲门包中携带有与第一客户端对应的第一源网络地址和第一源端口号,第一敲门包用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务,目标端口号对第一客户端隐藏;向目标服务器发送第一业务请求,其中,第一业务请求中携带有第一源网络地址和第一源端口号,第一业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务,解决了相关技术中的业务请求的处理方式存在由于服务端的服务端口易被嗅探导致的服务端存在被攻击风险的技术问题,降低了服务端被攻击的风险,提高了服务端的安全性。263.作为一种可选的实施方案,在向目标服务器发送第一敲门包之前,上述方法还包括:264.s101,根据第一敲门包的生成时间和第一客户端与目标服务器之间的传输时延,在第一敲门包中添加待校验时间戳,其中,待校验时间戳用于对第一敲门包进行校验。265.终端设备或者终端设备上的第一客户端可以采用与前述实施例中相同或者类似的方式在第一敲门包中添加待校验时间戳,已经进行过描述的,本实施例中在此不做赘述。266.通过本技术提供的实施例,基于时间戳进行敲门包校验,可提高敲门包校验的准确性。267.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。268.根据本技术实施例的又一个方面,还提供了一种用于实施上述业务请求的处理方法的业务请求的处理装置。图18是根据本技术实施例的一种可选的业务请求的处理装置的结构框图,如图18所示,该装置可以包括:269.第一接收单元1802,用于接收第一客户端发送的第一敲门包,其中,第一敲门包中携带有与第一客户端对应的第一源网络地址和第一源端口号,第一敲门包用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务,目标端口号对第一客户端隐藏;270.第一添加单元1804,用于在第一敲门包通过校验的情况下,将具有对应关系的第一源网络地址和第一源端口号添加到白名单列表中,以将目标端口号对第一客户端开放;271.第二接收单元1806,用于接收第一客户端发送的第一业务请求,其中,第一业务请求中携带有第一源网络地址和第一源端口号,第一业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务;272.控制单元1808,用于在白名单列表中查找到具有对应关系的第一源网络地址和第一源端口号、且目标端口号包括第一目标端口号的情况下,响应第一业务请求,允许第一客户端访问目标服务器上与第一目标端口号对应的第一业务。273.需要说明的是,该实施例中第一接收单元1802可以用于执行上述步骤s202,该实施例中的第一添加单元1804可以用于执行上述步骤s204,该实施例中的第二接收单元1806可以用于执行上述步骤s206,该实施例中的控制单元1808可以用于执行上述步骤s208。274.通过本技术提供的实施例,接收第一客户端发送的第一敲门包,其中,第一敲门包中携带有与第一客户端对应的第一源网络地址和第一源端口号,第一敲门包用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务,目标端口号对第一客户端隐藏;在第一敲门包通过校验的情况下,将具有对应关系的第一源网络地址和第一源端口号添加到白名单列表中,以将目标端口号对第一客户端开放;接收第一客户端发送的第一业务请求,其中,第一业务请求中携带有第一源网络地址和第一源端口号,第一业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务;在白名单列表中查找到具有对应关系的第一源网络地址和第一源端口号、且目标端口号包括第一目标端口号的情况下,响应第一业务请求,允许第一客户端访问目标服务器上与第一目标端口号对应的第一业务,解决了相关技术中的业务请求的处理方式存在由于服务端的服务端口易被嗅探导致的服务端存在被攻击风险的技术问题,降低了服务端被攻击的风险,提高了服务端的安全性。275.作为一种可选的实施方案,上述装置还包括:276.判断单元,用于在第一敲门包中携带有用于表示端口号段的信息的情况下,判断第一目标端口号是否是端口号段内的端口号,其中,目标端口号包括端口号段内的端口号;277.第一确定单元,用于在第一目标端口号是端口号段内的端口号的情况下,确定出目标端口号包括第一目标端口号。278.本实施方案的可选示例可以参考上述业务请求的处理方法中所示的示例,本实施方案中在此不再赘述。279.作为一种可选的实施方案,上述装置还包括:建立单元,第二接收单元包括:接收模块,其中,280.建立单元,用于在接收第一客户端发送的第一敲门包之后,在目标服务器与第一客户端上建立第一网络连接,其中,在第一网络连接处于有效状态的情况下,白名单列表中的具有对应关系的第一源网络地址和第一源端口号处于有效状态;281.接收模块,用于接收第一客户端通过第一网络连接发送的第一业务请求。282.本实施方案的可选示例可以参考上述业务请求的处理方法中所示的示例,本实施方案中在此不再赘述。283.作为一种可选的实施方案,上述装置还包括:284.第三接收单元,用于在将具有对应关系的第一源网络地址和第一源端口号添加到白名单列表中之后,接收第二客户端发送的第二业务请求,其中,第二业务请求中携带有第二源网络地址和第二源端口号,第二业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务;285.第一丢弃单元,用于在白名单列表中未查找到具有对应关系的第二源网络地址和第二源端口号的情况下,丢弃第二业务请求。286.本实施方案的可选示例可以参考上述业务请求的处理方法中所示的示例,本实施方案中在此不再赘述。287.作为一种可选的实施方案,上述装置还包括:288.第四接收单元,用于在第一客户端对应的第一源网络地址和第一源端口号更改为第三源网络地址和第三源端口号的情况下,接收第一客户端发送的第三业务请求,其中,第三业务请求中携带有第三源网络地址和第三源端口号,第三业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务;289.第二丢弃单元,用于在白名单列表中未查找到具有对应关系的第三源网络地址和第三源端口号的情况下,丢弃第三业务请求。290.本实施方案的可选示例可以参考上述业务请求的处理方法中所示的示例,本实施方案中在此不再赘述。291.作为一种可选的实施方案,上述装置还包括:292.第五接收单元,用于接收第一客户端发送的第四业务请求,其中,第四业务请求中携带有第一源网络地址和第一源端口号,第四业务请求用于请求访问目标服务器上与第二目标端口号对应的第二业务;293.第三丢弃单元,用于在白名单列表中查找到具有对应关系的第一源网络地址和第一源端口号、且目标端口号不包括所述第二目标端口号的情况下,丢弃第四业务请求。294.本实施方案的可选示例可以参考上述业务请求的处理方法中所示的示例,本实施方案中在此不再赘述。295.作为一种可选的实施方案,上述装置还包括:296.设置单元,用于在将具有对应关系的第一源网络地址和第一源端口号添加到白名单列表中之后,将具有对应关系的第一源网络地址和第一源端口号在白名单列表中的有效时长设置为第一时长;297.第六接收单元,用于在第一时长结束之前,接收第一客户端发送的第二敲门包,其中,第二敲门包中携带有第一源网络地址和第一源端口号,第二敲门包用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务;298.调整单元,用于在第二敲门包通过校验、且在白名单列表中查找到具有对应关系的第一源网络地址和第一源端口号的情况下,将具有对应关系的第一源网络地址和第一源端口号在白名单列表中的有效时长调整为第二时长。299.本实施方案的可选示例可以参考上述业务请求的处理方法中所示的示例,本实施方案中在此不再赘述。300.作为一种可选的实施方案,上述装置还包括:301.第七接收单元,用于在第一客户端登录成功的情况下,接收第一客户端发送的密钥获取请求,其中,密钥获取请求用于请求获取与第一客户端对应的密钥对;302.生成单元,用于响应密钥获取请求,生成与第一客户端对应的目标密钥对,其中,目标密钥对为目标服务器与第一客户端进行数据通信所使用的密钥对,目标服务器用于为不同的客户端生成不同的密钥对;303.发送单元,用于将目标密钥对中的目标公钥发送给第一客户端。304.本实施方案的可选示例可以参考上述业务请求的处理方法中所示的示例,本实施方案中在此不再赘述。305.作为一种可选的实施方案,上述装置还包括:306.第八接收单元,用于接收第一客户端上报的第一敲门日志,其中,第一敲门日志为第一客户端记录的、用于描述与第一敲门包对应的敲门事件的日志,第一敲门日志中携带有用于唯一标识第一敲门包的敲门包标识;307.执行单元,用于在使用敲门包标识从目标数据库保存的敲门日志中查找到与第一敲门日志匹配的第二敲门日志的情况下,对第一敲门日志和第二敲门日志执行合并操作,得到目标敲门日志,其中,第二敲门日志为目标服务器记录的、用于描述与第一敲门包对应的敲门事件的日志;308.保存单元,用于将目标敲门日志保存到目标数据库中。309.本实施方案的可选示例可以参考上述业务请求的处理方法中所示的示例,本实施方案中在此不再赘述。310.作为一种可选的实施方案,上述装置还包括:311.提取单元,用于在接收第一客户端发送的第一敲门包之后,从第一敲门包的时间戳字段中提取出待校验时间戳,其中,待校验时间戳是根据第一敲门包的生成时间和第一客户端与目标服务器之间的传输时延所添加的时间戳;312.第二确定单元,用于在待校验时间戳指示的时间与目标服务器的系统时间之间的差值大于或者等于目标差值阈值的情况下,确定出第一敲门包未通过校验。313.本实施方案的可选示例可以参考上述业务请求的处理方法中所示的示例,本实施方案中在此不再赘述。314.根据本技术实施例的又一个方面,还提供了一种用于实施上述业务请求的处理方法的业务请求的处理装置。图19是根据本技术实施例的一种可选的业务请求的处理装置的结构框图,如图19所示,该装置可以包括:315.第一发送单元1902,用于向目标服务器发送第一敲门包,其中,第一敲门包中携带有与第一客户端对应的第一源网络地址和第一源端口号,第一敲门包用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务,目标端口号对第一客户端隐藏;316.第二发送单元1904,用于向目标服务器发送第一业务请求,其中,第一业务请求中携带有第一源网络地址和第一源端口号,第一业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务。317.需要说明的是,该实施例中第一发送单元1902可以用于执行上述步骤s1602,该实施例中的第二发送单元1904可以用于执行上述步骤s1604。318.通过本技术提供的实施例,向目标服务器发送第一敲门包,其中,第一敲门包中携带有与第一客户端对应的第一源网络地址和第一源端口号,第一敲门包用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务,目标端口号对第一客户端隐藏;向目标服务器发送第一业务请求,其中,第一业务请求中携带有第一源网络地址和第一源端口号,第一业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务,解决了相关技术中的业务请求的处理方式存在由于服务端的服务端口易被嗅探导致的服务端存在被攻击风险的技术问题,降低了服务端被攻击的风险,提高了服务端的安全性。319.作为一种可选的实施方案,上述装置还包括:320.第二添加单元,用于在向目标服务器发送第一敲门包之前,根据第一敲门包的生成时间和第一客户端与目标服务器之间的传输时延,在第一敲门包中添加待校验时间戳,其中,待校验时间戳用于对第一敲门包进行校验。321.本实施方案的可选示例可以参考上述业务请求的处理方法中所示的示例,本实施方案中在此不再赘述。322.根据本技术实施例的又一个方面,还提供了一种用于实施上述业务请求的处理方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为终端设备为例来说明。如图20所示,该电子设备包括存储器2002和处理器2004,该存储器2002中存储有计算机程序,该处理器2004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。323.可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。324.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:325.s1,接收第一客户端发送的第一敲门包,其中,第一敲门包中携带有与第一客户端对应的第一源网络地址和第一源端口号,第一敲门包用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务,目标端口号对第一客户端隐藏;326.s2,在第一敲门包通过校验的情况下,将具有对应关系的第一源网络地址和第一源端口号添加到白名单列表中,以将目标端口号对第一客户端开放;327.s3,接收第一客户端发送的第一业务请求,其中,第一业务请求中携带有第一源网络地址和第一源端口号,第一业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务;328.s4,在白名单列表中查找到具有对应关系的第一源网络地址和第一源端口号、且目标端口号包括第一目标端口号的情况下,响应第一业务请求,允许第一客户端访问目标服务器上与第一目标端口号对应的第一业务。329.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:330.s1,向目标服务器发送第一敲门包,其中,第一敲门包中携带有与第一客户端对应的第一源网络地址和第一源端口号,第一敲门包用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务,目标端口号对第一客户端隐藏;331.s2,向目标服务器发送第一业务请求,其中,第一业务请求中携带有第一源网络地址和第一源端口号,第一业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务。332.可选地,本领域普通技术人员可以理解,图20所示的结构仅为示意,电子设备也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及mid、pad等终端设备。图20其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图20中所示更多或者更少的组件(如网络接口等),或者具有与图20所示不同的配置。333.其中,存储器2002可用于存储软件程序以及模块,如本技术实施例中的业务请求的处理方法和装置对应的程序指令/模块,处理器2004通过运行存储在存储器2002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的业务请求的处理方法。存储器2002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器2002可进一步包括相对于处理器2004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器2002具体可以但不限于用于序列化文件和编译文件等信息。334.作为一种示例,如图20所示,上述存储器2002中可以但不限于包括上述业务请求的处理装置中的第一接收单元1802、第一添加单元1804、第二接收单元1806及控制单元1808。此外,还可以包括但不限于上述业务请求的处理装置中的其他模块单元,本示例中不再赘述。335.作为另一种示例,上述存储器2002中可以但不限于包括上述业务请求的处理装置中的第一发送单元1902及第二发送单元1904。此外,还可以包括但不限于上述业务请求的处理装置中的其他模块单元,本示例中不再赘述。336.可选地,上述的传输装置2006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置2006包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置2006为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。337.此外,上述电子设备还包括:显示器2008,用于显示第一客户端的显示界面,还可以用于显示与业务请求对应的业务应用的应用界面;和连接总线2010,用于连接上述电子设备中的各个模块部件。338.在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(p2p,peertopeer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。339.根据本技术的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序/指令,该计算机程序/指令包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分2109从网络上被下载和安装,和/或从可拆卸介质2111被安装。在该计算机程序被中央处理器2101执行时,执行本技术实施例提供的各种功能。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。340.图21示意性地示出了用于实现本技术实施例的电子设备的计算机系统结构框图。如图21所示,计算机系统2100包括中央处理器2101(centralprocessingunit,cpu),其可以根据存储在只读存储器2102(read-onlymemory,rom)中的程序或者从存储部分2108加载到随机访问存储器2103(randomaccessmemory,ram)中的程序而执行各种适当的动作和处理。在随机访问存储器2103中,还存储有系统操作所需的各种程序和数据。中央处理器2101、在只读存储器2102以及随机访问存储器2103通过总线2104彼此相连。输入/输出接口2105(input/output接口,即i/o接口)也连接至总线2104。341.以下部件连接至输入/输出接口2105:包括键盘、鼠标等的输入部分2106;包括诸如阴极射线管(cathoderaytube,crt)、液晶显示器(liquidcrystaldisplay,lcd)等以及扬声器等的输出部分2107;包括硬盘等的存储部分2108;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分2109。通信部分2109经由诸如因特网的网络执行通信处理。驱动器2110也根据需要连接至输入/输出接口2105。可拆卸介质2111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2110上,以便于从其上读出的计算机程序根据需要被安装入存储部分2108。342.特别地,根据本技术的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分2109从网络上被下载和安装,和/或从可拆卸介质2111被安装。在该计算机程序被中央处理器2101执行时,执行本技术的系统中限定的各种功能。343.需要说明的是,图21示出的电子设备的计算机系统2100仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。344.根据本技术的一个方面,提供了一种计算机可读存储介质,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的各种可选实现方式中提供的方法。345.可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:346.s1,接收第一客户端发送的第一敲门包,其中,第一敲门包中携带有与第一客户端对应的第一源网络地址和第一源端口号,第一敲门包用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务,目标端口号对第一客户端隐藏;347.s2,在第一敲门包通过校验的情况下,将具有对应关系的第一源网络地址和第一源端口号添加到白名单列表中,以将目标端口号对第一客户端开放;348.s3,接收第一客户端发送的第一业务请求,其中,第一业务请求中携带有第一源网络地址和第一源端口号,第一业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务;349.s4,在白名单列表中查找到具有对应关系的第一源网络地址和第一源端口号、且目标端口号包括第一目标端口号的情况下,响应第一业务请求,允许第一客户端访问目标服务器上与第一目标端口号对应的第一业务。350.可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:351.s1,向目标服务器发送第一敲门包,其中,第一敲门包中携带有与第一客户端对应的第一源网络地址和第一源端口号,第一敲门包用于请求允许第一客户端访问目标服务器上与目标端口号对应的业务,目标端口号对第一客户端隐藏;352.s2,向目标服务器发送第一业务请求,其中,第一业务请求中携带有第一源网络地址和第一源端口号,第一业务请求用于请求访问目标服务器上与第一目标端口号对应的第一业务。353.可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。354.上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。355.在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。356.在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。357.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。358.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。359.以上所述仅是本技术的优选实施方式,应当指出,对于本
技术领域:
:的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。当前第1页12当前第1页12
技术特征:
1.一种业务请求的处理方法,其特征在于,包括:接收第一客户端发送的第一敲门包,其中,所述第一敲门包中携带有与所述第一客户端对应的第一源网络地址和第一源端口号,所述第一敲门包用于请求允许所述第一客户端访问目标服务器上与目标端口号对应的业务,所述目标端口号对所述第一客户端隐藏;在所述第一敲门包通过校验的情况下,将具有对应关系的所述第一源网络地址和所述第一源端口号添加到白名单列表中,以将所述目标端口号对所述第一客户端开放;接收所述第一客户端发送的第一业务请求,其中,所述第一业务请求中携带有所述第一源网络地址和所述第一源端口号,所述第一业务请求用于请求访问所述目标服务器上与第一目标端口号对应的第一业务;在所述白名单列表中查找到具有对应关系的所述第一源网络地址和所述第一源端口号、且所述目标端口号包括所述第一目标端口号的情况下,响应所述第一业务请求,允许所述第一客户端访问所述目标服务器上与所述第一目标端口号对应的所述第一业务。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述第一敲门包携带有用于表示端口号段的信息的情况下,判断所述第一目标端口号是否是所述端口号段内的端口号,其中,所述目标端口号包括所述端口号段内的端口号;在所述第一目标端口号是所述端口号段内的端口号的情况下,确定出所述目标端口号包括所述第一目标端口号。3.根据权利要求1所述的方法,其特征在于,在所述接收第一客户端发送的第一敲门包之后,所述方法还包括:在所述目标服务器与所述第一客户端上建立第一网络连接,其中,在所述第一网络连接处于有效状态的情况下,所述白名单列表中的所述具有对应关系的所述第一源网络地址和所述第一源端口号处于有效状态;所述接收所述第一客户端发送的第一业务请求,包括:接收所述第一客户端通过所述第一网络连接发送的所述第一业务请求。4.根据权利要求1所述的方法,其特征在于,在将具有对应关系的所述第一源网络地址和所述第一源端口号添加到白名单列表中之后,所述方法还包括:接收第二客户端发送的第二业务请求,其中,所述第二业务请求中携带有第二源网络地址和第二源端口号,所述第二业务请求用于请求访问所述目标服务器上与所述第一目标端口号对应的第一业务;在所述白名单列表中未查找到具有对应关系的所述第二源网络地址和所述第二源端口号的情况下,丢弃所述第二业务请求。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述第一客户端对应的第一源网络地址和第一源端口号更改为第三源网络地址和第三源端口号的情况下,接收所述第一客户端发送的第三业务请求,其中,所述第三业务请求中携带有所述第三源网络地址和所述第三源端口号,所述第三业务请求用于请求访问所述目标服务器上与所述第一目标端口号对应的第一业务;在所述白名单列表中未查找到具有对应关系的所述第三源网络地址和所述第三源端口号的情况下,丢弃所述第三业务请求。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述第一客户端发送的第四业务请求,其中,所述第四业务请求中携带有所述第一源网络地址和所述第一源端口号,所述第四业务请求用于请求访问所述目标服务器上与第二目标端口号对应的第二业务;在所述白名单列表中查找到具有对应关系的所述第一源网络地址和所述第一源端口号、且所述目标端口号不包括所述第二目标端口号的情况下,丢弃所述第四业务请求。7.根据权利要求1所述的方法,其特征在于,在将具有对应关系的所述第一源网络地址和所述第一源端口号添加到白名单列表中之后,所述方法还包括:将具有对应关系的所述第一源网络地址和所述第一源端口号在所述白名单列表中的有效时长设置为第一时长;在所述第一时长结束之前,接收所述第一客户端发送的第二敲门包,其中,所述第二敲门包中携带有所述第一源网络地址和所述第一源端口号,所述第二敲门包用于请求允许所述第一客户端访问所述目标服务器上与所述目标端口号对应的业务;在所述第二敲门包通过校验、且在所述白名单列表中查找到具有对应关系的所述第一源网络地址和所述第一源端口号的情况下,将具有对应关系的所述第一源网络地址和所述第一源端口号在所述白名单列表中的有效时长调整为第二时长。8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:在所述第一客户端登录成功的情况下,接收所述第一客户端发送的密钥获取请求,其中,所述密钥获取请求用于请求获取与所述第一客户端对应的密钥对;响应所述密钥获取请求,生成与所述第一客户端对应的目标密钥对,其中,所述目标密钥对为所述目标服务器与所述第一客户端进行数据通信所使用的密钥对,所述目标服务器用于为不同的客户端生成不同的密钥对;将所述目标密钥对中的目标公钥发送给所述第一客户端。9.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:接收所述第一客户端上报的第一敲门日志,其中,所述第一敲门日志为所述第一客户端记录的、用于描述与所述第一敲门包对应的敲门事件的日志,所述第一敲门日志中携带有用于唯一标识所述第一敲门包的敲门包标识;在使用所述敲门包标识从目标数据库保存的敲门日志中查找到与所述第一敲门日志匹配的第二敲门日志的情况下,对所述第一敲门日志和所述第二敲门日志执行合并操作,得到目标敲门日志,其中,所述第二敲门日志为所述目标服务器记录的、用于描述与所述第一敲门包对应的敲门事件的日志;将所述目标敲门日志保存到所述目标数据库中。10.根据权利要求1至7中任一项所述的方法,其特征在于,在所述接收第一客户端发送的第一敲门包之后,所述方法还包括:从所述第一敲门包的时间戳字段中提取出待校验时间戳,其中,所述待校验时间戳是根据所述第一敲门包的生成时间和所述第一客户端与所述目标服务器之间的传输时延所添加的时间戳;在所述待校验时间戳指示的时间与所述目标服务器的系统时间之间的差值大于或者等于目标差值阈值的情况下,确定出所述第一敲门包未通过校验。11.一种业务请求的处理方法,其特征在于,包括:向目标服务器发送第一敲门包,其中,所述第一敲门包中携带有与第一客户端对应的
第一源网络地址和第一源端口号,所述第一敲门包用于请求允许所述第一客户端访问所述目标服务器上与目标端口号对应的业务,所述目标端口号对所述第一客户端隐藏;向所述目标服务器发送第一业务请求,其中,所述第一业务请求中携带有所述第一源网络地址和所述第一源端口号,所述第一业务请求用于请求访问所述目标服务器上与第一目标端口号对应的第一业务。12.根据权利要求11所述的方法,其特征在于,在所述向目标服务器发送第一敲门包之前,所述方法还包括:根据所述第一敲门包的生成时间和所述第一客户端与所述目标服务器之间的传输时延,在所述第一敲门包中添加待校验时间戳,其中,所述待校验时间戳用于对所述第一敲门包进行校验。13.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至12任一项中所述的方法。14.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至12任一项所述方法的步骤。15.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至12任一项中所述的方法。
技术总结
本申请公开了一种业务请求的处理方法、存储介质及电子设备。其中,该方法包括:接收第一客户端发送的、携带有第一源网络地址和第一源端口号的第一敲门包,第一敲门包用于请求允许第一客户端访问目标服务器上与对第一客户端隐藏的目标端口号对应的业务;在第一敲门包通过校验时,将第一源网络地址和第一源端口号添加到白名单列表中,以将目标端口号对第一客户端开放;接收第一客户端发送的、用于请求访问目标服务器上与第一目标端口号对应的第一业务的第一业务请求,第一业务请求中携带有第一源网络地址和第一源端口号;在白名单列表中查找到第一源网络地址和第一源端口号、且目标端口号包括第一目标端口号时,允许第一客户端访问第一业务。问第一业务。问第一业务。
技术研发人员:蔡东赟 吴岳廷 仇瑞晋 苏文辉 黄湘 朱祁林
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2022.03.04
技术公布日:2023/9/13
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/