CN111988319A - 访问控制方法及装置 - Google Patents

访问控制方法及装置 Download PDF

Info

Publication number
CN111988319A
CN111988319A CN202010847193.XA CN202010847193A CN111988319A CN 111988319 A CN111988319 A CN 111988319A CN 202010847193 A CN202010847193 A CN 202010847193A CN 111988319 A CN111988319 A CN 111988319A
Authority
CN
China
Prior art keywords
data packet
access control
client
protocol
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010847193.XA
Other languages
English (en)
Other versions
CN111988319B (zh
Inventor
张永飞
孙艳杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN202010847193.XA priority Critical patent/CN111988319B/zh
Publication of CN111988319A publication Critical patent/CN111988319A/zh
Application granted granted Critical
Publication of CN111988319B publication Critical patent/CN111988319B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开涉及一种访问控制方法、装置、电子设备及计算机可读介质。可用于负载均衡设备,该方法包括:获取来自客户端的数据包,所述数据包中包括协议信息;基于所述协议信息计算安全套接层协议在所述数据包中的位置;基于所述位置判断所述数据包是否满足预设条件;在所述数据包满足所述预设条件时,基于所述位置确定所述安全套接层协议的版本号;在所述安全套接层协议的版本号大于等于预设版本号时,转发所述数据包至服务器。本公开涉及的访问控制方法、装置、电子设备及计算机可读介质,能够在SSL报文到达负载均衡设备的网络层时就判断出SSL访问的合法性,既帮助服务器避免了无用SSL报文的处理工作,又可提升可负载均衡设备本身的处理效率。

Description

访问控制方法及装置
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种访问控制方法、装置、电子设备及计算机可读介质。
背景技术
SSL(Secure Sockets Layer安全套接字协议)为了保证通信双方信息的加密性和安全性,需要进行身份认证及通过非对称密钥交换的方式计算通信双方加密通信所需的对称密钥,这个阶段称之为SSL协议的握手阶段,握手成功之后才开始真正的加密通信。为了保证密钥协商过程中关键信息的安全性,握手阶段要进行大量的计算,占用较多的服务器资源,如果有大量的SSL握手请求到服务器,会导致服务器性能的急剧下降。因此,及时将不合要求的SSL请求断开,可以有效节约服务器的计算资源,提升服务器的资源利用率和性能。
在现有技术中,可通过配置文件的设置,服务器本身可以实现对特定SSL协议版本的访问支持。此外当前技术可以在应用层实现SSL的版本访问控制。通过设置服务器配置文件这种方式,虽然能够实现对特定SSL协议版本的访问控制,但是服务器自身仍然要处理握手阶段的一些报文,当不符合SSL版本要求的访问过多时,仍会导致服务器处理正常业务的能力下降。在七层实现SSL版本控制,在处理时,报文要经历从物理层一直到应用层的处理,效率上有所损耗。
因此,需要一种新的访问控制方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种访问控制方法、装置、电子设备及计算机可读介质,能够在SSL报文到达负载均衡设备的网络层时就判断出SSL访问的合法性,避免了报文上送高层协议栈的处理操作,既帮助服务器避免了无用SSL报文的处理工作,又可提升可负载均衡设备本身的处理效率。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种访问控制方法,该方法包括:获取来自客户端的数据包,所述数据包中包括协议信息;基于所述协议信息计算安全套接层协议在所述数据包中的位置;基于所述位置判断所述数据包是否满足预设条件;在所述数据包满足所述预设条件时,基于所述位置确定所述安全套接层协议的版本号;在所述安全套接层协议的版本号大于等于预设版本号时,转发所述数据包至服务器。
在本公开的一种示例性实施例中,获取来自客户端的数据包之前,包括:所述客户端和服务器经由所述负载均衡设备建立TCP连接。
在本公开的一种示例性实施例中,还包括:在所述安全套接层协议的版本号小于预设版本号时,拦截所述数据包,并断开所述客户端和服务器之间的TCP连接。
在本公开的一种示例性实施例中,断开所述客户端和服务器之间的TCP连接,包括:向所述客户端和所述服务器分别发送RST报文。
在本公开的一种示例性实施例中,还包括:在所述数据包不满足所述预设条件时,继续获取当前数据流的下一个数据包直至所述数据包满足预设条件为止。
在本公开的一种示例性实施例中,获取来自客户端的数据包,包括:所述负载均衡设备的网络层获取来自客户端的所述数据包。
在本公开的一种示例性实施例中,基于所述协议信息计算安全套接层协议在所述数据包中的位置,包括:基于所述协议信息中的协议类型、IP头部字段长度、TCP头部字段长度及数据总长度计算安全套接层协议在所述数据包中的位置。
在本公开的一种示例性实施例中,基于所述位置判断所述数据包是否满足预设条件,包括:基于所述位置判断所述数据包是否为安全套接层协议的握手报文且报文类型为客户问候消息;在所述数据包为安全套接层协议的握手报文且报文类型为客户问候消息时,确定所述数据包满足预设条件。
在本公开的一种示例性实施例中,转发所述数据包至服务器之前,还包括:将所述数据包的标志位置位。
根据本公开的一方面,提出一种访问控制装置,可用于负载均衡设备,该装置包括:数据模块,用于获取来自客户端的数据包,所述数据包中包括协议信息;位置模块,用于基于所述协议信息计算安全套接层协议在所述数据包中的位置;条件模块,用于基于所述位置判断所述数据包是否满足预设条件;版本模块,用于在所述数据包满足所述预设条件时,基于所述位置确定所述安全套接层协议的版本号;转发模块,用于在所述安全套接层协议的版本号大于等于预设版本号时,转发所述数据包至服务器。
在本公开的一种示例性实施例中,还包括:断开模块,用于在所述安全套接层协议的版本号小于预设版本号时,拦截所述数据包,并断开所述客户端和服务器之间的TCP连接。
根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本公开的访问控制方法、装置、电子设备及计算机可读介质,获取来自客户端的数据包,所述数据包中包括协议信息;基于所述协议信息计算安全套接层协议在所述数据包中的位置;基于所述位置判断所述数据包是否满足预设条件;在所述数据包满足所述预设条件时,基于所述位置确定所述安全套接层协议的版本号;在所述安全套接层协议的版本号大于等于预设版本号时,转发所述数据包至服务器的方式,能够在SSL报文到达负载均衡设备的网络层时就判断出SSL访问的合法性,避免了报文上送高层协议栈的处理操作,既帮助服务器避免了无用SSL报文的处理工作,又可提升可负载均衡设备本身的处理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种访问控制方法及装置的应用场景图。
图2是根据一示例性实施例示出的一种访问控制方法的流程图。
图3是根据另一示例性实施例示出的一种访问控制方法的流程图。
图4是根据一示例性实施例示出的一种访问控制装置的框图。
图5是根据一示例性实施例示出的一种电子设备的框图。
图6是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
本公开的发明人提出,由于服务器系统自身的复杂性、网络的广泛可接入性等因素,服务器面临日益增多的安全威胁,安全问题日益突出。为保证服务器系统的安全性,负载均衡设备在将访问流量分流至服务器前,如果能够将非法或认定为不安全的访问及时过滤掉,则既可以保证服务器系统的安全性,又避免了服务器对无用访问的处理,提升服务器资源利用率及处理效率。下面借助于具体的实施例,来对本公开的技术内容进行详细描述。
图1是根据一示例性实施例示出的一种访问控制方法、装置、电子设备及计算机可读介质的系统框图。
如图1所示,系统架构10可以包括终端设备101、102、103,负载均衡设备104和服务器105、106、107。还包括网络108,网络108用以在终端设备101、102、103和负载均衡设备104之间提供通信链路的介质。网络108还用以在负载均衡设备104和服务器105、106、107之间提供通信链路的介质。网络108可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过负载均衡设备104与服务器105、106、107。交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105、106、107可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果反馈给终端设备。
负载均衡设备104可将来自终端设备101、102、103的访问流量或者请求任务均衡地引导至服务器105、106、107中的一个或多个服务器或网络设备上进行处理,以此达到提高设备和服务器的带宽、增加吞吐量、增强数据处理能力、提高服务的可用性和稳定性的目的。
在本公开的实施例中,负载均衡设备104可对终端设备101、102、103的访问进行访问控制,访问控制,是通过某种途径准许或限制访问能力,从而控制对关键资源的访问,防止非法用户的侵入或者合法用户的不慎操作所造成的破坏。
可例如,负载均衡设备104获取来自客户端(终端设备101、102、103)的数据包,所述数据包中包括协议信息;负载均衡设备104基于所述协议信息计算安全套接层协议在所述数据包中的位置;负载均衡设备104基于所述位置判断所述数据包是否满足预设条件;负载均衡设备104在所述数据包满足所述预设条件时,基于所述位置确定所述安全套接层协议的版本号;负载均衡设备104在所述安全套接层协议的版本号大于等于预设版本号时,转发所述数据包至服务器(服务器105、106、107)。
还可例如,负载均衡设备104在所述安全套接层协议的版本号小于预设版本号时,拦截所述数据包,并断开所述客户端和服务器之间的TCP连接。
负载均衡设备104可以是一个实体的负载均衡设备104,还可例如为多个负载均衡设备组成,需要说明的是,本公开实施例所提供的访问控制方法可以由负载均衡设备104执行,相应地,访问控制装置可以设置于负载均衡设备104中。
图2是根据一示例性实施例示出的一种访问控制方法的流程图。访问控制方法20至少包括步骤S202至S212。
如图2所示,在S202中,获取来自客户端的数据包,所述数据包中包括协议信息。更具体的,所述负载均衡设备的网络层获取来自客户端的所述数据包。网络层获取来自客户端的所述数据包的方式,能够在报文处理的早期阶段即获取SSL协议版本号,节省不必要的报文处理操作。
其中,获取来自客户端的数据包之前,包括:所述客户端和服务器经由所述负载均衡设备建立TCP连接。客户端与服务器在进行可靠通信之前,首先要通过TCP三次握手建立连接。SSL协议承载于TCP协议之上,即,要进行SSL通信,必须要先建立TCP连接,TCP三次握手成功之后才能进行后续的SSL握手。
在S204中,基于所述协议信息计算安全套接层协议在所述数据包中的位置。基于所述协议信息中的协议类型、IP头部字段长度、TCP头部字段长度及数据总长度计算安全套接层协议在所述数据包中的位置,协议类型可指明数据包是IP协议还是IPv6协议传输。
在S206中,基于所述位置判断所述数据包是否满足预设条件。更具体的,基于所述位置判断所述数据包是否为安全套接层协议的握手报文且报文类型为客户问候消息(Client Hello);在所述数据包为安全套接层协议的握手报文且报文类型为客户问候消息时,确定所述数据包满足预设条件。
其中,传输层安全(Transport Layer Security,TLS)及其前身安全套接层(Secure Sockets Layer,SSL)是一种安全协议,其保证了网络通信的安全性和信息的完整性。使用SSL通信的双方,在进行数据交换之前首先进行身份认证、密钥协商等操作,保证通信双方身份的真实性及信息的加密性。
在S208中,在所述数据包满足所述预设条件时,基于所述位置确定所述安全套接层协议的版本号。
在一个实施例中,还包括:在所述数据包不满足所述预设条件时,继续获取当前数据流的下一个数据包直至所述数据包满足预设条件为止。
在S210中,在所述安全套接层协议的版本号大于等于预设版本号时,转发所述数据包至服务器。其中,转发所述数据包至服务器之前,还包括:将所述数据包的标志位置位。
本公开的方法,可针对版本回退攻击,即攻击者故意使系统放弃新式、安全性高的SSL协议版本,反而使用为向下兼容而准备的老式、安全性差的版本,将SSL协议安全性大幅削弱,得以进行原本不可能做到的攻击。通过负载均衡设备对协议的版本号进行过滤的方式,能够解除服务器本身的对不符合协议版本要求的报文的处理,提升服务器的资源利用率和处理性能。
在S212中,在所述安全套接层协议的版本号小于预设版本号时,拦截所述数据包,并断开所述客户端和服务器之间的TCP连接。更具体的,断开所述客户端和服务器之间的TCP连接,包括:向所述客户端和所述服务器分别发送RST报文。
在一个具体的实施例中,可在负载均衡设备上设置拒绝小于TLS1.1版本的SSL连接访问服务器。则当client1以TLS1.0向服务器发起SSL连接时,负载均衡在收到其发来的ClientHello报文后发现,TLS1.0小于设定的TLS1.1,则直接向client1和server1发送RST报文断开二者的TCP连接。而对于以TLS1.1和TLS1.2版本访问服务器的client2和client3,由于其访问的SSL协议版本号大于等于所设定的版本号,负载均衡设备直接将请求转发分流到相应的服务器处理。
根据本公开的访问控制方法,获取来自客户端的数据包,所述数据包中包括协议信息;基于所述协议信息计算安全套接层协议在所述数据包中的位置;基于所述位置判断所述数据包是否满足预设条件;在所述数据包满足所述预设条件时,基于所述位置确定所述安全套接层协议的版本号;在所述安全套接层协议的版本号大于等于预设版本号时,转发所述数据包至服务器的方式,能够在SSL报文到达负载均衡设备的网络层时就判断出SSL访问的合法性,避免了报文上送高层协议栈的处理操作,既帮助服务器避免了无用SSL报文的处理工作,又可提升可负载均衡设备本身的处理效率。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
图3是根据另一示例性实施例示出的一种访问控制方法的流程图。图3所示的流程30是对图2所示的流程的详细描述。
如图3所示,在S302中,在网络层获取数据包。由于网络协议栈的分层属性,下层协议可获取上层协议的数据。可在SSL握手阶段的第一个报文(称为ClientHello报文)到达网络层(三层)时,即根据IP协议、TCP协议及SSL协议的特点,直接获取到SSL协议的版本号,无需再将报文交付给上层处理,节省了传输层到应用层的处理。
在S304中,计算SSL协议数据部分在数据包中的起始位置。具体的获取SSL协议版本的方式可为:负载均衡设备的网络层获取到IP或IPv6数据包,然后根据协议头中相应的IP头部字段长度、TCP头部字段长度及数据总长度,计算得到SSL协议数据在报文中的位置。
在S306中,获取SSL协议数据中的内容类型及握手类型字段的值。
在S308中,判断内容类型是否为握手协议,且握手协议类型是否为客户问候消息。判断当前收到的报文类型是否是SSL握手报文并且握手类型是ClientHello。
在S310中,读取预设的SSL协议版本号,并将相应的标志位置位。若是,则取出并保存相应的SSL协议版本号,并将相应的标志位置位,以示成功取到了SSL协议版本号,以便后续判断SSL协议版本号是否符合SSL版本访问控制要求,若否,则继续获取当前数据流的下一个数据包直至取到所需的信息为止。
在S312中,当前SSL协议版本号小于预设的SSL协议版本号。
在S314中,转发报文。根据版本号控制当前SSL连接:此处判断是否成功获取到SSL协议版本号且SSL协议版本号是否在允许访问的范围之内。若成功获取协议版本号且协议版本号大于等于所设定的SSL协议版本号,则转发当前报文,允许客户端与服务器间的SSL通信。
在S316中,拦截该报文,并向客户端和服务器发送RST报文。拦截当前收到的报文,并断开客户端与服务器之间的TCP连接。因为SSL协议承载于TCP协议之上,所以当开始SSL握手时,客户端与服务器已经建立了TCP连接,因此,要实现客户端与服务器连接的断开,只需向客户端和服务器均发送相应的RST报文即可。为了保证客户端与服务端的连接能够及时断开,必须向客户端与服务端都发送RST报文,避免受TCP协议本身的超时重传机制的影响,而导致断开连接失败。
本公开的访问控制方法为一种高效的SSL协议版本访问控制方法。通过本方法可以灵活地控制特定SSL协议版本对服务器的访问,将不符合限制的SSL请求在到达服务器之前就过滤掉,有效减轻服务器的负担、提升服务器的效率。
本领域技术人员可以理解,实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图4是根据一示例性实施例示出的一种访问控制装置的框图。如图4所示,访问控制装置40包括:数据模块402,位置模块404,条件模块406,版本模块408,转发模块410,断开模块412。
数据模块402用于获取来自客户端的数据包,所述数据包中包括协议信息;更具体的,所述负载均衡设备中的数据模块402由网络层获取来自客户端的所述数据包。
位置模块404用于基于所述协议信息计算安全套接层协议在所述数据包中的位置;更具体的,位置模块404还用于基于所述协议信息中的协议类型、IP头部字段长度、TCP头部字段长度及数据总长度计算安全套接层协议在所述数据包中的位置。
条件模块406用于基于所述位置判断所述数据包是否满足预设条件;基于所述位置判断所述数据包是否为安全套接层协议的握手报文且报文类型为客户问候消息;在所述数据包为安全套接层协议的握手报文且报文类型为客户问候消息时,确定所述数据包满足预设条件。
版本模块408用于在所述数据包满足所述预设条件时,基于所述位置确定所述安全套接层协议的版本号;版本模块408还用于在所述数据包不满足所述预设条件时,继续获取当前数据流的下一个数据包直至所述数据包满足预设条件为止。
转发模块410用于在所述安全套接层协议的版本号大于等于预设版本号时,转发所述数据包至服务器。转发模块410还用于将所述数据包的标志位置位。
断开模块412用于在所述安全套接层协议的版本号小于预设版本号时,拦截所述数据包,并断开所述客户端和服务器之间的TCP连接。断开模块412还用于向所述客户端和所述服务器分别发送RST报文。
根据本公开的访问控制装置,获取来自客户端的数据包,所述数据包中包括协议信息;基于所述协议信息计算安全套接层协议在所述数据包中的位置;基于所述位置判断所述数据包是否满足预设条件;在所述数据包满足所述预设条件时,基于所述位置确定所述安全套接层协议的版本号;在所述安全套接层协议的版本号大于等于预设版本号时,转发所述数据包至服务器的方式,能够在SSL报文到达负载均衡设备的网络层时就判断出SSL访问的合法性,避免了报文上送高层协议栈的处理操作,既帮助服务器避免了无用SSL报文的处理工作,又可提升可负载均衡设备本身的处理效率。
图5是根据一示例性实施例示出的一种电子设备的框图。
下面参照图5来描述根据本公开的这种实施方式的电子设备500。图5显示的电子设备500仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:至少一个处理单元510、至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530、显示单元540等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元510可以执行如图2,图3中所示的步骤。
所述存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(ROM)5203。
所述存储单元520还可以包括具有一组(至少一个)程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备500也可以与一个或多个外部设备500’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备500交互的设备通信,和/或该电子设备500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口550进行。并且,电子设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器560可以通过总线530与电子设备500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图6所示,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取来自客户端的数据包,所述数据包中包括协议信息;基于所述协议信息计算安全套接层协议在所述数据包中的位置;基于所述位置判断所述数据包是否满足预设条件;在所述数据包满足所述预设条件时,基于所述位置确定所述安全套接层协议的版本号;在所述安全套接层协议的版本号大于等于预设版本号时,转发所述数据包至服务器。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (11)

1.一种访问控制方法,可用于负载均衡设备,其特征在于,包括:
获取来自客户端的数据包,所述数据包中包括协议信息;
基于所述协议信息计算安全套接层协议在所述数据包中的位置;
基于所述位置判断所述数据包是否满足预设条件;
在所述数据包满足所述预设条件时,基于所述位置确定所述安全套接层协议的版本号;
在所述安全套接层协议的版本号大于等于预设版本号时,转发所述数据包至服务器。
2.如权利要求1所述的访问控制方法,其特征在于,获取来自客户端的数据包之前,包括:
所述客户端和服务器经由所述负载均衡设备建立TCP连接。
3.如权利要求2所述的访问控制方法,其特征在于,还包括:
在所述安全套接层协议的版本号小于预设版本号时,拦截所述数据包,并断开所述客户端和服务器之间的TCP连接。
4.如权利要求3所述的访问控制方法,其特征在于,断开所述客户端和服务器之间的TCP连接,包括:
向所述客户端和所述服务器分别发送RST报文。
5.如权利要求1所述的访问控制方法,其特征在于,还包括:
在所述数据包不满足所述预设条件时,继续获取当前数据流的下一个数据包直至所述数据包满足预设条件为止。
6.如权利要求1所述的访问控制方法,其特征在于,获取来自客户端的数据包,包括:
所述负载均衡设备的网络层获取来自客户端的所述数据包。
7.如权利要求1所述的访问控制方法,其特征在于,基于所述协议信息计算安全套接层协议在所述数据包中的位置,包括:
基于所述协议信息中的协议类型、IP头部字段长度、TCP头部字段长度及数据总长度计算安全套接层协议在所述数据包中的位置。
8.如权利要求1所述的访问控制方法,其特征在于,基于所述位置判断所述数据包是否满足预设条件,包括:
基于所述位置判断所述数据包是否为安全套接层协议的握手报文且报文类型为客户问候消息;
在所述数据包为安全套接层协议的握手报文且报文类型为客户问候消息时,确定所述数据包满足预设条件。
9.如权利要求1所述的访问控制方法,其特征在于,转发所述数据包至服务器之前,还包括:
将所述数据包的标志位置位。
10.一种访问控制装置,可用于负载均衡设备,其特征在于,包括:
数据模块,用于获取来自客户端的数据包,所述数据包中包括协议信息;
位置模块,用于基于所述协议信息计算安全套接层协议在所述数据包中的位置;
条件模块,用于基于所述位置判断所述数据包是否满足预设条件;
版本模块,用于在所述数据包满足所述预设条件时,基于所述位置确定所述安全套接层协议的版本号;
转发模块,用于在所述安全套接层协议的版本号大于等于预设版本号时,转发所述数据包至服务器。
11.如权利要求10所述的访问控制装置,其特征在于,还包括:
断开模块,用于在所述安全套接层协议的版本号小于预设版本号时,拦截所述数据包,并断开所述客户端和服务器之间的TCP连接。
CN202010847193.XA 2020-08-21 2020-08-21 访问控制方法及装置 Active CN111988319B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010847193.XA CN111988319B (zh) 2020-08-21 2020-08-21 访问控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010847193.XA CN111988319B (zh) 2020-08-21 2020-08-21 访问控制方法及装置

Publications (2)

Publication Number Publication Date
CN111988319A true CN111988319A (zh) 2020-11-24
CN111988319B CN111988319B (zh) 2023-05-26

Family

ID=73442954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010847193.XA Active CN111988319B (zh) 2020-08-21 2020-08-21 访问控制方法及装置

Country Status (1)

Country Link
CN (1) CN111988319B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660592A (zh) * 2015-02-04 2015-05-27 北京信安世纪科技有限公司 一种基于安全套接层协议特征的负载分发方法
US9888290B1 (en) * 2016-03-24 2018-02-06 Sprint Communications Company L.P. Service denial notification in secure socket layer (SSL) processing
CN110381043A (zh) * 2019-07-08 2019-10-25 杭州迪普科技股份有限公司 基于ssl的服务器健康检测方法、装置、电子设备
CN110768988A (zh) * 2019-10-28 2020-02-07 杭州迪普科技股份有限公司 一种建立ssl vpn隧道的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660592A (zh) * 2015-02-04 2015-05-27 北京信安世纪科技有限公司 一种基于安全套接层协议特征的负载分发方法
US9888290B1 (en) * 2016-03-24 2018-02-06 Sprint Communications Company L.P. Service denial notification in secure socket layer (SSL) processing
CN110381043A (zh) * 2019-07-08 2019-10-25 杭州迪普科技股份有限公司 基于ssl的服务器健康检测方法、装置、电子设备
CN110768988A (zh) * 2019-10-28 2020-02-07 杭州迪普科技股份有限公司 一种建立ssl vpn隧道的方法及装置

Also Published As

Publication number Publication date
CN111988319B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
US10630784B2 (en) Facilitating a secure 3 party network session by a network device
US10305904B2 (en) Facilitating secure network traffic by an application delivery controller
CN113179323B (zh) 用于负载均衡设备的https请求处理方法、装置及系统
US10862976B2 (en) System and method for improving efficiency of SSL/TLS connections
CN110958119A (zh) 身份验证方法和装置
CN111478974B (zh) 网络连接方法及装置、电子设备和可读存储介质
US11070533B2 (en) Encrypted server name indication inspection
CN113726789B (zh) 一种敏感数据拦截方法和装置
CN112437044B (zh) 即时通讯方法和装置
US12063216B2 (en) Access control policy for proxy services
CN113364795A (zh) 一种数据传输方法和代理服务器
CN114049122A (zh) 一种业务处理方法和系统
CN113438256B (zh) 一种基于双层ssl的数据传输方法、系统和代理服务器
CN111787048A (zh) 一种终端设备的连接方法、调度服务器及物联网系统
CN114979105B (zh) 通过ssl负载均衡设备自动识别国密和商密业务的方法和装置
CN114598549B (zh) 客户ssl证书验证方法及装置
CN111988319B (zh) 访问控制方法及装置
CN113343155A (zh) 一种请求处理方法及装置
US9270621B1 (en) Securely providing messages from the cloud
CN113676482B (zh) 数据传输系统和方法与基于双层ssl的数据传输系统和方法
CN115118775B (zh) 浏览器访问请求的处理方法、装置及电子设备
CN113726757B (zh) Https协议客户端的验证方法及装置
CN113419878B (zh) 一种数据操作方法和装置
CN113691545B (zh) 路由的控制方法、装置、电子设备及计算机可读介质
CN115189945B (zh) 交易请求验证方法及装置、电子设备和可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant