CN110049022B - 一种域名访问控制方法、装置和计算机可读存储介质 - Google Patents
一种域名访问控制方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN110049022B CN110049022B CN201910239993.0A CN201910239993A CN110049022B CN 110049022 B CN110049022 B CN 110049022B CN 201910239993 A CN201910239993 A CN 201910239993A CN 110049022 B CN110049022 B CN 110049022B
- Authority
- CN
- China
- Prior art keywords
- domain name
- data packet
- packet
- server
- requested
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
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)
Abstract
本发明公开了一种域名访问控制方法、装置和计算机可读存储介质,属于网络安全技术领域,本发明提供的方法中,获取请求方发送的流量数据包;从所述流量数据包中解析出请求方所请求的域名;若所请求的域名与未备案域名相匹配,则分别向所述请求方和服务器发送伪造的重置连接RST响应包,以断开所述请求方与所述服务器之间的通信连接。采用上述方法,阻断了服务器基于未备案域名提供互联网信息服务的通信链路,进而实现了对未备案域名进行封禁的目的。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种域名访问控制方法、装置和计算机可读存储介质。
背景技术
为了规范互联网信息服务活动,促进互联网信息服务健康有序发展,在通过互联网向上网用户提供信息服务时,需要遵守《互联网信息服务管理方法》,而互联网信息服务分为经营性和非经营性两类,经营性互联网信息服务是指通过互联网向上网用户有偿提供信息或者网页制作等服务活动;而非经营性互联网信息服务是指通过互联网向上网用户无偿提供具有公开性、共享性信息的服务活动。国家对经营性互联网信息服务实行许可制度,对非经营性互联网信息服务实行备案制度,而未取得许可或者未履行备案手续的,不得从事互联网信息服务。
而现有技术无法对基于安全套接层的超文本传输协议(hyper text transferprotocol over secure socket layer,https)未备案域名进行封禁,然而https应用越来越广泛,为了应对法律法规,有效识别出https未备案域名进而对未备案域名进行封禁是非常有必要的,对于采用其他传输协议的应用场景同样必要。
发明内容
本发明实施例提供一种域名访问控制方法、装置和计算机可读存储介质,用以阻断基于未备案域名提供互联网信息服务的通信链路。
一方面,本发明实施例提供一种域名访问控制方法,包括:
获取请求方发送的流量数据包;
从所述流量数据包中解析出请求方所请求的域名;
若所请求的域名与未备案域名相匹配,则分别向所述请求方和服务器发送伪造的重置连接RST响应包,以断开所述请求方与所述服务器之间的通信连接。
可选地,所述流量数据包的传输协议为基于安全套接层的超文本传输协议https;则
从所述流量数据包中解析出请求方所请求的域名,具体包括:
当所述流量数据包的传输层的上一层为安全套接层SSL时,从所述流量数据包中解析出握手包;
若解析出的握手包中包括服务器名称指示SNI字段,则从所述握手包中解析出服务器名称字段对应的域名,并确定所述服务器名称字段对应的域名为请求方所请求的域名。
可选地,按照下述方法确定所请求的域名与未备案域名相匹配:
当域名黑名单中包含所请求的域名时,则确定所请求的域名与未备案域名相匹配;或
当域名黑名单中不包含所请求的域名但包含所请求的域名的任一其他级别的域名时,则确定所请求的域名与未备案域名相匹配。
可选地,获取请求方发送的流量数据包后,所述方法还包括:
从请求方发送的流量数据包中解析出所请求的域名;
当所请求的域名和域名白名单中的各个域名不匹配时,将其添加到所述域名黑名单中。
可选地,所述分别向所述请求方和服务器发送伪造的重置连接RST响应包,具体包括:
获取流量数据包的源IP地址、目的IP地址、流量数据包的负载包长、流量数据包的序列号seq和流量数据包的确认号ack;
构造第一RST响应包并发送给所述请求方,所述第一RST响应包的序列号为所述流量数据包的确认号、确认号为流量数据包的seq与负载包长的和值、源IP地址为流量数据包的目的IP地址,以及目的IP地址为流量数据包的源IP地址;
构造第二RST响应包并发送给所述服务器,所述第二RST响应包的序列号seq为所述流量数据包的序列号与负载包长的和值、确认号为流量数据包的确认号、源IP地址为流量数据包的源IP地址,以及目的IP地址为流量数据包的目的IP地址。
另一方面,本发明实施例提供一种域名访问控制装置,包括:
流量旁路分析模块,用于获取请求方发送的流量数据包;从所述流量数据包中解析出请求方所请求的域名;
控制模块,用于若所请求的域名与未备案域名相匹配,则分别向所述请求方和服务器发送伪造的重置连接RST响应包,以断开所述请求方与所述服务器之间的通信连接。
可选地,所述流量数据包的传输协议为基于安全套接层的超文本传输协议https;则
所述流量旁路分析模块,具体用于当流量数据包的传输层的上一层为安全套接层SSL时,从所述流量数据包中解析出握手包;若解析出的握手包中包括服务器名称指示SNI字段,则从所述握手包中解析出服务器名称字段对应的域名,并确定所述服务器名称字段对应的域名为请求方所请求的域名。
可选地,所述控制模块,具体用于当域名黑名单中包含所请求的域名时,则确定所请求的域名与未备案域名相匹配;或当域名黑名单中不包含所请求的域名但包含所请求的域名的任一其他级别的域名时,则确定所请求的域名与未备案域名相匹配。
可选地,所述装置,还包括:
黑名单更新模块,用于在流量旁路分析模块获取请求方发送的流量数据包后,从请求方发送的流量数据包中解析出所请求的域名;当所请求的域名和域名白名单中的各个域名不匹配时,将其添加到所述域名黑名单中。
可选地,所述控制模块,具体用于获取流量数据包的源IP地址、目的IP地址、流量数据包的负载包长、流量数据包的序列号seq和流量数据包的确认号ack;构造第一RST响应包并发送给所述请求方,所述第一RST响应包的序列号为所述流量数据包的确认号、确认号为流量数据包的seq与负载包长的和值、源IP地址为流量数据包的目的IP地址,以及目的IP地址为流量数据包的源IP地址;构造第二RST响应包并发送给所述服务器,所述第二RST响应包的序列号seq为所述流量数据包的序列号与负载包长的和值、确认号为流量数据包的确认号、源IP地址为流量数据包的源IP地址,以及目的IP地址为流量数据包的目的IP地址。
再一方面,本发明实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请提供的域名访问控制方法。
再一方面,本发明实施例提供一种计算机可读存储介质,存储有处理器可执行指令,所述处理器可执行指令用于执行本申请提供的域名访问控制方法。
本发明有益效果:
本发明实施例提供的域名访问控制方法、装置和可读存储介质,在从所述流量数据包中解析出请求方所请求的域名后,若请求方所请求的域名与未备案域名相匹配,则分别向服务器和请求方发送伪造的RST响应包,以达到断开服务器与请求方之间通信连接的目的,从而阻断了服务器基于未备案域名提供互联网信息服务的通信链路。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的域名访问控制方法的应用场景示意图;
图2为本发明实施例提供的域名访问控制方法的流程示意图;
图3为本发明实施例提供的确定请求方发送的流量数据包为发往服务器的流量数据包的流程示意图;
图4a为本发明实施例提供的SSL协议类型为“client hello”的效果示意图;
图4b为本发明实施例提供的握手包的数据结构示意图;
图5为本发明实施例提供的分别向所述请求方和服务器发送伪造的重置连接RST响应包的流程示意图;
图6为本发明实施例提供的请求方为客户端时的域名访问控制方法的场景示意图;
图7为本发明实施例提供的域名访问控制装置的结构示意图。
具体实施方式
本发明实施例提供的域名访问控制方法、装置和计算机可读存储介质,用以阻断基于未备案域名提供互联网信息服务的通信链路。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
为了便于理解本发明,本发明涉及的技术术语中:
1、服务器名称指示,(Server Name Indication,SNI),为用来改善服务器与客户端(本发明中的请求方)的安全套接层(Secure Socket Layer,SSL)和安全传输层协议(Transport Layer Security,TLS)的一个扩展,主要用来解决一台服务器只能使用一个证书(或一个域名)的缺点,随着服务器对虚拟主机的支持,一个服务器可以为多个域名提供服务,而SNI的设计目的是为了让服务器根据请求来决定为哪个域提供服务。
2、重置连接(RESET,RST)响应包,应用于旁路阻断中阻断请求方和服务器之间的通信,具体例如在请求方(客户端)与服务器之间部署阻断设备,当客户端利用传输控制协议(Transmission Control Protocol,TCP)建立客户端与服务器之间的通信连接后,阻断设备可以通过伪造RST响应包并发送给客户端或者服务器,断开客户端与服务器之间的通信连接,从而达到阻断客户端与服务器进行通信的目的。本发明中的应用场景中,如果请求方请求访问未备案域名,则需要断开其与服务器之间的连接。阻断设备需要获取请求方发送的流量数据包并解析出请求方所请求的域名,在确定出请求的域名与未备案域名相匹配时,则通过构造RST包并发送的请求方和服务器,从而有效达到了断开请求方与服务器之间通信连接的目的,进而实现了阻断服务器基于请求方所请求的未备案域名提供互联网信息服务的目的。
3、域名,类似于网络上的门牌号码,是用于识别和定位互联网上计算机的层次结构式字符标识,国际互联网域名体系中,对顶级域名进行划分,包括:国家和地区顶级域名(Country Code Top Level Domain,简称ccTLD)和通用类别顶级域名(Generic Top LevelDomain,简称gTLD),国家和地区顶级域名对应于国家、地区的地理位置,如.CN/.中国代表中国、.US代表美国等;通用类别顶级域名对应不同类别,比较常见的如.COM、.NET、.ORG等。近几年ICANN根据域名体系的需要,新增了部分顶级域名的类型,如.BIZ、.INFO等。顶级域名也称一级域名,而一个完整的域名由二个或二个以上部分组成,各部分之间用英文的句号“.”来分隔,按从左至右的顺序进行划分,以域名中包括2个句号“.”为例进行说明,最右一个“.”的右边部分称为顶级域名,最左一个“.”的右边部分称为二级域名,最左一个“.”的左边部分,也即二级域名的左边部分称为三级域名,以此类推,每一级的域名控制它下一级域名的分配。如:cnnic.cn是一个二级域名,cnnic.net.cn是一个三级域名,再比如,666hdhd.com中,.com为顶级域名,也即一级域名,666hdhd.com为二级域名。
为了达到识别出请求方请求的域名是否为未备案域名的目的,以及在识别出未备案域名时及时阻断基于未备案域名提供互联网信息服务,本发明实施例给出了解决方案,参考图1所示的应用场景示意图,该场景包括至少一个请求方(请求方101-1~请求方101-M)、一个或多个网络102、核心交换机103、分光交换机104、阻断设备105和至少一个服务器(服务器106-1~服务器106-N),以该场景中的请求方为用户设备为例进行说明,且图1中服务器106-1~服务器106-N中每一服务器用于为至少一个域名提供服务,本发明实施例提供的域名访问控制方法由图1中的阻断设备执行。具体地,当用户期望基于某一域名提供互联网信息服务时,会基于用户设备101-1中的客户端(例如图1中的域名访问页面)通过一个或多个网络102向服务器发送网络流量数据包,而一个或多个网络102与服务器之间配置有核心交换机103,该核心交换机103用于将客户端发送的流量数据包分发给相应的服务器上,核心交换机103可以解析出流量数据包的目的IP地址,然后将流量数据包发送给解析出的目的IP地址对应的服务器。图1中的分光交换机104搭载在一个或多个网络102与核心交换机103之间,故分光交换机104可以利用旁路流量分光镜像技术,将客户端发送的流量数据包复制一份发送给阻断设备105。阻断设备105在获取到客户端发送的流量数据包后,可以从上述流量数据包中解析出客户端所请求的域名,然后当所请求的域名与未备案域名相匹配时,也就是说确定出客户端所请求的域名没有备案,则分别向用户设备101-1中的客户端和服务器发送伪造的重置连接RST响应包,这样也就断开了客户端与服务器之间的通信连接,从而也就阻断了服务器基于未备案域名为客户端提供互联网信息服务的通信链路。
具体地,图1中的阻断设备105包括一个或多个处理器1051、存储器1052、与用户交互的I/O接口1053、与服务器交互的I/O接口1054等,具体地,分光交换机104可以将镜像获取到的客户端发送的流量数据包发送给阻断设备105,但由于同一时间可能存在多个客户端发送流量数据包,阻断设备105需要对流量数据包进行处理,故可以将接收到的流量数据包先存储到存储器1052中,然后当处理器1051分析完一个流量数据包后,则可以从存储器1052中获取待处理的流量数据包,针对每一个流量数据包,处理器1051在按照本发明提供的方法确定该流量数据包中客户端所请求的域名与未备案域名相匹配时,则可以通过与用户设备交互的I/O接口1053向客户端发送伪造的RST响应包,以及通过与服务器交互的I/O接口1054向服务器发送伪造的RST响应包。
可选地,上述阻断设备105中还可以配置有数据库1055,用于存储一些数据等信息,如本发明中的域名黑名单和域名白名单就可以存储于数据库1055中。
需要说明的是,用户设备11、核心交换机103、阻断设备105和服务器12之间通过一个或多个网络102进行通信连接,该网络102可以为局域网、广域网等。用户设备11可以为便携设备(例如:手机、平板、笔记本电脑等),也可以为个人电脑(PC,PersonalComputer),服务器12可以为任何能够提供互联网服务的设备,用户设备11中的客户端可以为能够实现域名访问的客户端,如QQ浏览器等等。
下面结合图1的应用场景,参考下面各图来描述根据本发明示例性实施方式提供的域名访问控制方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
如图2所示,为本发明实施例提供的域名访问控制方法的流程示意图,以由图1中的阻断设备实施上述方法为例进行说明,阻断设备的实施过程为:
S21、获取请求方发送的流量数据包。
具体地,请求方在通过网络发送流量数据包时,分光交换机可以镜像一份流量数据包并发送给阻断设备,这样阻断设备就可以获取到请求方发送的流量数据包。
需要说明的是,同一时间可能存在多个请求方发送流量数据包,为了提高流量数据包的解析速度,阻断设备中可能启动多个进程,然后各个进程均用于解析流量数据包,在将流量数据包分配给各个进程时,可以根据各个进程当前的处理能力进行流量数据包的分发,以达到负载均衡的目的。
S22、从所述流量数据包中解析出请求方所请求的域名。
具体地,由于服务器用于为域名提供服务,为了确定请求方所请求的域名是否备案,故需要从流量数据包中解析出域名。
S23、若所请求的域名与未备案域名相匹配,则分别向所述请求方和服务器发送伪造的重置连接RST响应包,以断开所述请求方与所述服务器之间的通信连接。
具体地,可以预先在阻断设备上配置未备案域名,这样阻断设备在解析出请求方所请求的域名后,方可获知请求方所请求的域名是否未备案,当确定所请求的域名未备案时,则表明所请求的域名是不能够提供互联网信息服务的,故需要伪造RST响应包,然后分别发送给请求方和服务器,这样请求方在接收到RST响应包后,就可以断开请求方发往服务器的通信连接,同样,服务器在接收到RST响应包后,可以断开服务器发往请求方的通信连接,从而阻断了服务器基于未备案域名提供信息服务的通信链路。
具体地,若所请求的域名与未备案域名不匹配,则流程结束。
通过实施图2所示的流程,在从请求方发送的流量数据包中解析出请求方所请求的域名后,若确定出所请求的域名未备案,则通过分别向请求方和服务器发送RST响应包以阻断请求方与服务器之间的通信连接,这样也就达到了阻断基于未备案域名提供服务的目的。
可选地,本发明实施例中的流量数据包的传输协议为基于安全套接层的超文本传输协议https,则可以按照图3所示的流程从流量数据包中解析出请求方所请求的域名,包括以下步骤:
S31、当流量数据包的传输层的上一层为安全套接层SSL时,从流量数据包中解析出握手包。
本步骤中,https传输中安全套接层SSL介于应用层与传输层之间,则若确定出流量数据包中的传输层的上一层为SSL,则从流量数据包中筛选出SSL层协议类型为“clienthello”的握手包,参考图4a所示。
S32、若解析出的握手包中包括服务器名称指示SNI字段,则从所述握手包中解析出服务器名称字段对应的域名,并确定所述服务器名称字段对应的域名为请求方所请求的域名。
本步骤中,在解析出握手包后,则检查上述握手包中是否包括SNI扩展字段,若存在,则从握手包中解析出请求方所请求的域名,参考图4b所示,图4b所示内容即为握手包包含的数据。在此基础之上,可以按照下述过程从握手包中解析出请求方所请求的域名:从握手包中解析出服务器名称(Server Name)字段对应的域名。
具体地,SNI扩展字段定义在RFC4366,是一项用于改善SSL/TLS的技术,在SSL3.0/TLS1.0中被启用。它允许请求方在发起SSL握手请求时(具体说来,是请求方发出SSL请求中的ClientHello阶段),就可以通过SNI扩展字段提交请求的域名,使得服务器能够切换到正确的域名并基于正确的域名提供服务。本发明实施例中,就是基于此原理可以从SNI扩展字段中的Server Name字段来提取出请求方所请求的域名,参考图4b中Server Name字段对应的“www.weanaly.com”即为请求方所请求的域名。
通过采用图3的流程,在获取请求方所请求的域名时,只需利用SSL层的握手包中的扩展字段SNI即可获取到,无需对流量数据包中加密的数据进行解密处理,然后在确定出请求方所请求的域名未备案时,通过向请求方和服务器发送伪造的RST响应包即可实现对未备案域名的封禁处理,即阻断基于未备案域名提供互联网信息服务的通信链路。
可选地,为了确定出请求方所请求的域名是否与未备案域名相匹配,本发明实施例可以提供一个域名黑名单,该域名黑名单专门用于存储未备案的域名,该域名黑名单中存储的未备案域名的域名级别可以进行调节,若要扩大封禁范围则域名黑名单中仅存储级别较高的域名,如将域名黑名单中存储的未备案域名设置为二级域名,以666hdhd.com为例进行说明,这样二级域名为“666hdhd.com”的域名均会被识别为未备案域名,以及一些三级域名甚至更低级别的域名的二级域名为“666hdhd.com”的域名也会被判别为与未备案域名相匹配,这样就在很大范围内封禁这些域名的服务;若期望在小范围内封禁域名,则可以在域名黑名单中存储级别较低的域名,如三级域名等;当然,还可以域名黑名单可以既有二级域名又有三级域名等,具体可以根据实际情况而定。
在此基础之上,可以按照下述过程确定所请求的域名与未备案域名相匹配:
当域名黑名单中包含所请求的域名时,则确定所请求的域名与未备案域名相匹配;或者当域名黑名单中不包含所请求的域名但包含所请求的域名的任一其他级别的域名时,则确定所请求的域名与未备案域名相匹配。
具体地,当确定域名黑名单中包含请求方所请求的域名时,则可以直接确定请求方所请求的域名为未备案域名,需要进行封禁处理。若确定域名黑名单中不包含所请求的域名,则可以从所请求的域名中提取出其他级别的域名,然后分别确定提取出的域名是否在域名黑名单中,若存在则同样表明所请求的域名与未备案域名相匹配。在从所请求的域名中提取其他级别的域名时,则可以根据所请求的域名中包括的英文句号“.”来提取其他级别的域名。例如,所请求的域名为www.baidu.com,则在提取“www.baidu.com”中的其他级别的域名时,则可以确定出左侧第一个英文句号“.”,然后以左侧第一个英文句号“.”为分隔点为基准进行二级域名的提取,得到“baidu.com”,然后再以第二个英文句号“.”为基准,向右侧提取一级域名“.com”,由此可以提取出所请求的域名的其他级别的域名。
以域名黑名单中存储的是二级域名为例进行说明,该域名黑名单可以参考表1所示,则结合图4b所示,当解析出的所请求的域名为“www.weanaly.com”,则可以确定出所请求的域名“www.weanaly.com”不在表1中,则可以从所请求的域名“www.weanaly.com”中提取出其他级别的域名,如可以分别提取出二级域名“weanaly.com”和一级域名“.com”,然后可以判断出二级域名“weanaly.com”在表1中,而一级域名“.com”不在表1中,则表明域名黑名单中包括所请求的域名的二级域名,进而可以确定出所请求的域名与未备案域名相匹配。
表1
xxx.xx |
weanaly.com |
www.666hdhd.com |
xxx.xxx.xx |
…… |
可选地,还可以采用下述方法确定所请求的域名与未备案域名相匹配:确定域名黑名单中包括的域名的域名级别;从所请求的域名中提取出与所述域名级别相一致的域名。
具体地,在获取到请求方所请求的域名后,该域名可能为顶级域名(即一级域名),也可能是二级域名,甚至是其他级别的域名,而域名黑名单中存储的域名的域名级别也不定,故可以先确定域名黑名单中存储的域名的域名级别,然后再从请求方所请求的域名中提取出与确定出的域名级别相一致的域名。例如,若确定出域名黑名单中仅包括二级域名,则从所请求的域名中提取出二级域名,然后判断提取出的二级域名是否在域名黑名单中,若在则表明请求方所请求的域名与未备案域名相匹配,否则表明不匹配。若域名黑名单仅包括三级域名,则从所请求的域名中提取出三级域名,并确定提取出的三级域名是否在域名黑名单中,若在域名黑名单中则表明请求方所请求的域名与未备案域名相匹配;若域名黑名单中既包括二级域名也包括三级域名,则可以从所请求的域名中分别提取出二级域名和三级域名,然后分别判断二级域名或三级域名是否在域名黑名单中,若至少一个的判断结果为在域名黑名单中,则表明所请求的域名与未备案域名相匹配,若均不在域名黑名单中,则表明所请求的域名与未备案域名不相匹配。
可选地,根据域名的组成,可以按照下述方法确定域名黑名单中域名的域名级别:确定域名中包含的英文句号“.”的数量,然后确定域名中从起始位置开始的第一个“.”的左侧是否存在字符,则根据上述数量和是否存在字符的判断结果确定域名的域名级别。例如,若域名黑名单中的域名包括2个“.”且确定出最左边的“.”的左侧存在字符,则确定域名黑名单中的域名为三级域名,则确定域名级别为3;若确定域名黑名单中的域名包括1个“.”且确定该英文句号“.”的左侧存在字符,则确定域名黑名单中域名为二级域名,则域名级别为2;若确定域名黑名单中的域名包括1个“.”且确定该英文句号“.”的左侧不存在字符,则确定域名黑名单中域名为一级域名(顶级域名),则域名级别为1。
基于上述描述,以域名黑名单中存储的是二级域名为例进行说明,该域名黑名单还参考表1所示,则结合图4b所示,当解析出的所请求的域名为“www.weanaly.com”,所请求的域名为三级域名,则在确定出域名黑名单中存储的未备案域名的域名级别为二级域名时,则从所请求的域名“www.weanaly.com”确定出二级域名为“weanaly.com”,然后将该二级域名“weanaly.com”与域名黑名单中存储的未备案域名进行一一对比,可以确定出该二级域名“weanaly.com”在表1所示的域名黑名单中,则确定请求方所请求的域名与未备案域名相匹配。
可选地,由于未备案的域名不可能一直处于未备案状态,同理,备案的域名有可能因为注销而变成未备案域名,故域名黑名单需要不断进行更新调整才能更好地确定请求方所请求的域名是否与未备案域名相匹配,因此,本发明实施例提出可以按照下述流程更新域名黑名单:
步骤一:从请求方发送的流量数据包中解析出所请求的域名。
具体地,分光交换机可以旁路镜像得到各个请求方发送的流量数据包,然后发送给阻断设备,这样做的目的是覆盖面更广而且能够防止漏掉请求的域名,因为作为阻断设备来说,阻断设备只知道域名白名单,即备案的域名,但请求方请求的域名对于阻断设备来说是不知道的,因此,需要获取各个请求方发送的流量数据包,然后从各个流量数据包中解析出请求的域名。
具体地,在从流量数据包中解析出所请求的域名时,若流量数据包为基于https协议传输的数据包,则在确定出流量数据包中传输层的上一层为SSL层时,从流量数据包中解析出握手包,然后在该握手包中包括SNI扩展字段时,从握手包中获取Server Name字段对应的域名,该域名即为请求方所请求的域名。
步骤二:当所请求的域名和域名白名单中的各个域名不匹配时,将其添加到所述域名黑名单中。
具体地,针对每一个解析出的所请求的域名,可以先确定域名白名单中存储的域名的域名级别,然后从所请求的域名中提取出与上述域名级别相一致的域名,再将提取的域名与域名白名单中的域名进行一一比较,若在域名白名单中则表明所请求的域名已备案,若不在域名白名单中则表明所请求的域名未备案或者所请求的域名包括未备案的域名,从而根据域名黑名单中存储的域名级别,从所请求的域名中提取出与域名级别相一致的域名,然后将提取的域名添加到域名黑名单中。一般情况下,域名白名单和域名黑名单中存储的域名的域名级别是相同的。为了更好地理解本发明,以域名白名单中存储的是二级域名为例进行说明,则从所请求的域名中提取出二级域名,然后将提取的二级域名与域名白名单中的二级域名进行一一比较,若不在域名白名单中,则将该域名添加到域名黑名单中,否则表明该域名已备案。
可选地,域名白名单中存储的域名也可以进行调整,具体可以根据实际情况而定。
需要说明的是,动态更新域名黑名单的实施过程可以在阻断设备上实施,即:可以由配置多个进程,其中一个进程用于实施域名黑名单更新流程,其他进程用于实施除域名黑名单更新流程以外的流程,如实施图2所示的域名访问控制流程等,这样可以保证域名黑名单的时新性。
可选地,还可以由其他设备实施黑名单的更新流程,然后将更新后的黑名单发送给阻断设备,这样可以有效缓解阻断设备的承载压力。
基于上述任一实施例,可以按照图5所示的流程实施步骤S23,可以包括以下步骤:
S51、获取流量数据包的源IP地址、目的IP地址、流量数据包的负载包长、流量数据包的序列号seq和流量数据包的确认号ack。
具体地,可以按照网络协议栈规范对流量数据包进行逐包解析,从而可以从流量数据包提取出步骤S51中的信息。为了后续描述方便,以请求方发送给服务器的流量数据包的seq=M,ack=N,负载包长未len为例进行说明。易获知请求方发送的流量数据包的源IP地址为请求方的IP地址,目的IP地址为服务器的IP地址。
S52、构造第一RST响应包并发送给所述请求方。
本发明中的第一RST响应包的序列号为所述流量数据包的确认号、确认号为流量数据包的seq与负载包长的和值、源IP地址为流量数据包的目的IP地址,以及目的IP地址为流量数据包的源IP地址。
本步骤中,由于流量数据包是发往服务器的,故流量数据包的源IP地址为请求方的IP地址,且流量数据包的目的IP地址为服务器的IP地址。
具体地,由于在发送流量数据包时,序列号和确认号是连续的,而本次请求方发送给服务器的流量数据包的序列号seq为M,表明流量数据包的首个数据的序号为M-1,流量数据包的确认号ack为N,表明序号为N-1的流量数据包服务器已收到,期望请求方下次发送序号为N的流量数据包,则在伪造发送给请求方的第一RST响应包时,需要将第一RST响应包中的序列号seq配置为N;此外,由于本次发送的流量数据包的负载包长为len,表明服务器本次收到的流量数据包的最后一个数据的序列号为M+len-1,则下次期望接收到的流量数据包的首个数据的序列号应该为M+len,则将第一RST响应包的确认号ack配置为M+len;此外,由于第一RST响应包是发往请求方的,故需要将该第一RST响应包伪造成由服务器发送的,这样请求方在接收到响应包时,获知服务器发送的才会阻断其与服务器之间的通信链路,故此时需要将第一响应包的源IP地址配置为服务器的IP地址;而为了保证第一RST响应包准确发往请求方,故需要将第一RST响应包的目的IP地址配置为请求方的IP地址。
具体实施时,在伪造第一RST响应包后,将第一RST响应包发送给请求方时,由于阻断设备是从分光交换机处获取发往服务器的流量数据包,故该流量数据包发往服务器侧需要占用一定的时间,同时服务器接收到流量数据包后还需要对流量数据包进行解密以及分析处理等操作后才会向请求方返回结果,故阻断设备向请求方发送第一RST响应包的速度会比服务器向请求方反馈结果的速度要快,这样,请求方在接收到第一RST响应包后,会基于第一RST响应包的源IP地址确认该响应包是由服务器发送的,而第一RST响应包的功能是用于重置/复位连接,则请求方会断开其与服务器之间的通信连接,也就不会向服务器发送消息。
S53、构造第二RST响应包并发送给所述服务器。
本发明中的第二RST响应包的序列号seq为所述流量数据包的序列号与负载包长的和值、确认号为流量数据包的确认号、源IP地址为流量数据包的源IP地址,以及目的IP地址为流量数据包的目的IP地址。
具体地,还以请求方本次发往服务器的流量数据包的序列号seq为M,确认号ack为N为例进行说明,同样为了保证发送的流量数据包的连续性,由于本次发送的流量数据包的首个数据的序列号为M,且流量数据包的负载包长为len,则表明服务器接收到的流量数据包的最后一个数据的序列号为M+len-1,则下一次应该发送的流量数据包的首个数据的序列号应该为M+len,故将第二RST响应包的序列号seq配置为M+len;同理,由于服务器本次接收到的是序号为N-1的数据包,故下次发送的流量数据包的序号应该为N,故需要将第二RST响应包的ack配置为N;此外,由于阻断设备要构造发往服务器的第二RST响应包,为了能够让服务器接收到第二RST响应包后断开其与请求方之间的通信连接,故需要将第二RST响应包伪造成请求方发送的,故需要将第二RST响应包的源IP地址配置为请求方的IP地址,目的IP地址配置为服务器的IP地址,这样服务器接收到第二RST响应包后,在获知该响应包时请求方发送的且第二RST响应包用于重置/复位连接,这样服务器才会断开其与请求方之间的通信连接。
这样,服务器在接收到第二RST响应包后,可以基于第二RST响应包的源IP地址获知是请求方发来的需要重置连接的响应包,则服务器会断开其与请求方之间的通信连接,确保了服务器不会响应请求方。
通过实施图5所示的流程,有效断开了服务器与请求方之间的通信连接,进而也就阻断了基于未备案域名提供互联网信息服务的通信链路,即完成了对未备案域名的封禁。
为例更好地理解本发明实施例提供的域名访问控制方法,以请求方为客户端为例进行说明,结合图6所示的场景示意图进行说明,当用户需要查询资料时,会通过用户设备中的客户端向服务器发送流量数据包,以期望服务器能够提供域名服务时,这样,分光交换机(在图6中未示出)会将流量数据包镜像一份至图6中的阻断设备,阻断设备在获取到流量数据包后,在确定出流量数据包的传输层的上一层为SSL层时,则从流量数据包中解析出握手包,且在确定出握手包中包括SNI字段时,则从SNI字段中解析出Server Name字段对应的域名,即客户端所请求的域名。然后阻断设备可以获取域名黑名单,按照上述任一方法若确定出客户端所请求的域名与未备案域名相匹配时,则按照图5所示的流程伪造第一RST响应包和第二RST响应包,然后将第一RST响应包发送个客户端,以及将第二RST响应包发送给服务器。由此一来,就断开了服务器与客户端之间的通信连接,从而阻断了服务器基于上述未备案域名提供互联网信息服务的通信链路。
本发明提供的域名访问控制方法,在从所述流量数据包中解析出请求方所请求的域名后,若请求方所请求的域名与未备案域名相匹配,则分别向服务器和请求方发送伪造的RST响应包,以达到断开服务器与请求方之间通信连接的目的,从而阻断了服务器基于未备案域名提供互联网信息服务的通信链路,进而实现了对未备案域名进行封禁的目的。
基于同一发明构思,本发明实施例中还提供了一种域名访问控制装置,由于上述装置解决问题的原理与域名访问控制方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图7所示,为本发明实施例提供的域名访问控制装置的结构示意图,包括:
流量旁路分析模块71,用于获取请求方发送的流量数据包;从所述流量数据包中解析出请求方所请求的域名;
控制模块72,用于若所请求的域名与未备案域名相匹配,则分别向所述请求方和服务器发送伪造的重置连接RST响应包,以断开所述请求方与所述服务器之间的通信连接。
可选地,所述流量数据包的传输协议为基于安全套接层的超文本传输协议https;则
所述流量旁路分析模块71,具体用于当所述流量数据包的传输层的上一层为安全套接层SSL时,从所述流量数据包中解析出握手包;若解析出的握手包中包括服务器名称指示SNI字段,则从所述握手包中解析出服务器名称字段对应的域名,并确定所述服务器名称字段对应的域名为请求方所请求的域名。
可选地,所述控制模块72包括域名匹配模块721:
所述域名匹配模块721,用于当域名黑名单中包含所请求的域名时,则确定所请求的域名与未备案域名相匹配;或当域名黑名单中不包含所请求的域名但包含所请求的域名的任一其他级别的域名时,则确定所请求的域名与未备案域名相匹配。
可选地,所述装置,还包括:
黑名单更新模块73,用于在流量旁路分析模块获取请求方发送的流量数据包后,从请求方发送的流量数据包中解析出所请求的域名;当所请求的域名和域名白名单中的各个域名不匹配时,将其添加到所述域名黑名单中。
可选地,所述控制模块72还包括响应包发送模块722:
所述响应包发送模块722,用于获取流量数据包的源IP地址、目的IP地址、流量数据包的负载包长、流量数据包的序列号seq和流量数据包的确认号ack;构造第一RST响应包并发送给所述请求方,所述第一RST响应包的序列号为所述流量数据包的确认号、确认号为流量数据包的seq与负载包长的和值、源IP地址为流量数据包的目的IP地址,以及目的IP地址为流量数据包的源IP地址;构造第二RST响应包并发送给所述服务器,所述第二RST响应包的序列号seq为所述流量数据包的序列号与负载包长的和值、确认号为流量数据包的确认号、源IP地址为流量数据包的源IP地址,以及目的IP地址为流量数据包的目的IP地址。
基于上述任一实施例,当域名黑名单由上述域名访问控制装置更新时,则可以参考图7所示的执行逻辑架构图完成对域名黑名单的更新和域名访问控制流程,在按照图7所示的结构实施域名黑名单更新和域名访问控制方法的大致过程为:流量旁路分析模块71与分光交换机交互,用于接收分光交换机定期或实时镜像到的每一请求方发送的流量数据包;流量旁路分析模块71可以从每一流量数据包中解析出请求方所请求的域名,然后将各个所请求的域名发送给黑名单更新模块73;黑名单更新模块73在接收到所请求的域名后,在确定出所请求的域名和域名白名单中的各个域名均不匹配时,将所请求的域名按照域名黑名单的要求写入域名黑名单中,由此完成域名黑名单的动态更新;黑名单更新模块73在更新完域名黑名单后,将域名黑名单同步给控制模块72中的域名匹配模块721,域名匹配模块721也会接收到流量旁路分析模块71发来的、从流量数据包中解析出请求方所请求的域名,然后若所请求的域名在域名黑名单中,或者当域名黑名单不包括所请求的域名但包括所请求的域名的任一其他级别的域名时,则确定所请求的域名与未备案域名相匹配,则向控制模块72中的响应包发送模块722发送封禁指令以及流量数据包的源IP地址、目的IP地址、流量数据包的负载包长、流量数据包的序列号seq和流量数据包的确认号ack,这样,响应包发送模块721接收到上述信息时,会根据流量数据包的源IP地址、目的IP地址、流量数据包的负载包长、流量数据包的序列号seq和流量数据包的确认号ack伪造第一RST响应包和第二RST响应包,然后将第一RST响应包发送给请求方,以及将第二RST响应包发送给服务器,以断开服务器与请求方之间的通信连接,从而实现对未备案域名的封禁处理。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本发明示例性实施方式的域名访问控制方法和装置之后,接下来,介绍根据本发明的另一示例性实施方式的计算设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的计算设备可以至少包括至少一个处理器、以及至少一个存储器。其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行本说明书上述描述的根据本发明各种示例性实施方式的域名访问控制方法中的步骤。例如,所述处理器可以执行如图2所示的步骤S21~步骤S23中的域名访问控制流程。
以计算设备为本发明图1中的阻断设备105为例进行说明,此时计算设备中的处理器即为阻断设备105中的处理器1051,计算设备中的存储器即为阻断设备105中的存储器1052,除了图1中阻断设备105包括的部件外,还包括连接不同系统组件(包括处理器1051和存储器1052)的总线。
总线表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器1052可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)和/或高速缓存存储器,还可以进一步包括只读存储器(ROM)。
存储器1052还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
在一些可能的实施方式中,本发明提供的域名访问控制方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本发明各种示例性实施方式的域名访问控制方法中的步骤,例如,所述计算机设备可以执行如图2所示的步骤S21~步骤S23中的域名访问控制流程。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本发明的实施方式的用于域名访问控制方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种域名访问控制方法,其特征在于,该方法应用于阻断设备;所述阻断设备与分光交换机连接,所述阻断设备通过网络与请求方的用户设备和服务器连接,所述请求方的用户设备通过网络与所述分光交换机连接;包括:
获取所述分光交换机通过旁路镜像得到的请求方发送的流量数据包;
从所述流量数据包中解析出请求方所请求的域名;
获取用于保存未备案域名的域名黑名单,判断域名黑名单中的域名级别,基于所述域名黑名单中的域名级别,从所请求的域名中的提取出域名级别一致的域名,判断被提取出的域名是否在所述域名黑名单中,若在,则确定所请求的域名与未备案域名相匹配,并分别向所述请求方和服务器发送伪造的重置连接RST响应包,以断开所述请求方与所述服务器之间的通信连接;
被提取出的域名若不在所述域名黑名单中,则判断被提取出的域名与域名白名单中的各个域名是否匹配,若不匹配,则确定所请求的域名是未备案域名,并分别向所述请求方和服务器发送伪造的重置连接RST响应包,以断开所述请求方与所述服务器之间的通信连接;
若所请求的域名是未备案域名,则将请求方所请求的域名发送给与所述阻断设备连接的更新设备,以使所述更新设备将被提取出的域名以及所请求的域名均添加到所述域名黑名单中,并将更新后的域名黑名单发送给所述阻断设备;
从所述流量数据包中解析出请求方所请求的域名,具体包括:
当同时解析多个流量数据包时,开启多个进程,基于每个进程的处理能力进行流量数据包的分发;
所述分别向所述请求方和服务器发送伪造的重置连接RST响应包,具体包括:
获取流量数据包的源IP地址、目的IP地址、流量数据包的负载包长、流量数据包的序列号seq和流量数据包的确认号ack;
构造第一RST响应包并发送给所述请求方,所述第一RST响应包的序列号为所述流量数据包的确认号、确认号为流量数据包的seq与负载包长的和值、源IP地址为流量数据包的目的IP地址,以及目的IP地址为流量数据包的源IP地址;
构造第二RST响应包并发送给所述服务器,所述第二RST响应包的序列号seq为所述流量数据包的序列号与负载包长的和值、确认号为流量数据包的确认号、源IP地址为流量数据包的源IP地址,以及目的IP地址为流量数据包的目的IP地址。
2.如权利要求1所述的方法,其特征在于,所述流量数据包的传输协议为基于安全套接层的超文本传输协议https;则
从所述流量数据包中解析出请求方所请求的域名,具体包括:
当所述流量数据包的传输层的上一层为安全套接层SSL时,从所述流量数据包中解析出握手包;
若解析出的握手包中包括服务器名称指示SNI字段,则从所述握手包中解析出服务器名称字段对应的域名,并确定所述服务器名称字段对应的域名为请求方所请求的域名。
3.如权利要求2所述的方法,其特征在于,获取请求方发送的流量数据包后,所述方法还包括:
从请求方发送的流量数据包中解析出所请求的域名;
当所请求的域名和域名白名单中的各个域名不匹配时,将其添加到所述域名黑名单中。
4.一种域名访问控制装置,其特征在于,该装置应用于阻断设备;所述阻断设备与分光交换机连接,所述阻断设备通过网络与请求方的用户设备和服务器连接,所述请求方的用户设备通过网络与所述分光交换机连接;包括:
流量旁路分析模块,用于获取所述分光交换机通过旁路镜像得到的请求方发送的流量数据包;从所述流量数据包中解析出请求方所请求的域名;
控制模块,用于获取用于保存未备案域名的域名黑名单,判断域名黑名单中的域名级别,基于所述域名黑名单中的域名级别,从所请求的域名中的提取出域名级别一致的域名,判断被提取出的域名是否在所述域名黑名单中,若在,则确定所请求的域名与未备案域名相匹配,并分别向所述请求方和服务器发送伪造的重置连接RST响应包,以断开所述请求方与所述服务器之间的通信连接;被提取出的域名若不在所述域名黑名单中,则判断被提取出的域名与域名白名单中的各个域名是否匹配,若不匹配,则确定所请求的域名是未备案域名,并则分别向所述请求方和服务器发送伪造的重置连接RST响应包,以断开所述请求方与所述服务器之间的通信连接;
黑名单更新模块,用于若所请求的域名是未备案域名,则将请求方所请求的域名发送给与阻断设备连接的更新设备,以使所述更新设备将被提取出的域名以及所请求的域名均添加到所述域名黑名单中,并将更新后的域名黑名单发送给阻断设备;
流量旁路分析模块,还用于当同时解析多个流量数据包时,开启多个进程,基于每个进程的处理能力进行流量数据包的分发;
所述控制模块,具体用于获取流量数据包的源IP地址、目的IP地址、流量数据包的负载包长、流量数据包的序列号seq和流量数据包的确认号ack;构造第一RST响应包并发送给所述请求方,所述第一RST响应包的序列号为所述流量数据包的确认号、确认号为流量数据包的seq与负载包长的和值、源IP地址为流量数据包的目的IP地址,以及目的IP地址为流量数据包的源IP地址;构造第二RST响应包并发送给所述服务器,所述第二RST响应包的序列号seq为所述流量数据包的序列号与负载包长的和值、确认号为流量数据包的确认号、源IP地址为流量数据包的源IP地址,以及目的IP地址为流量数据包的目的IP地址。
5.如权利要求4所述的装置,其特征在于,所述流量数据包的传输协议为基于安全套接层的超文本传输协议https;则
所述流量旁路分析模块,具体用于当流量数据包的传输层的上一层为安全套接层SSL时,从所述流量数据包中解析出握手包;若解析出的握手包中包括服务器名称指示SNI字段,则从所述握手包中解析出服务器名称字段对应的域名,并确定所述服务器名称字段对应的域名为请求方所请求的域名。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一权利要求所述的方法。
7.一种计算机可读存储介质,存储有处理器可执行指令,其特征在于,所述处理器可执行指令用于执行如权利要求1至3任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910239993.0A CN110049022B (zh) | 2019-03-27 | 2019-03-27 | 一种域名访问控制方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910239993.0A CN110049022B (zh) | 2019-03-27 | 2019-03-27 | 一种域名访问控制方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110049022A CN110049022A (zh) | 2019-07-23 |
CN110049022B true CN110049022B (zh) | 2021-10-08 |
Family
ID=67275347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910239993.0A Active CN110049022B (zh) | 2019-03-27 | 2019-03-27 | 一种域名访问控制方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110049022B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111049949B (zh) * | 2019-12-31 | 2023-04-25 | 奇安信科技集团股份有限公司 | 域名识别方法、装置、电子设备和介质 |
CN111064755B (zh) * | 2020-01-14 | 2021-08-17 | 腾讯科技(深圳)有限公司 | 一种数据保护方法、装置、计算机设备和存储介质 |
CN111478888B (zh) * | 2020-03-24 | 2021-01-05 | 武汉思普崚技术有限公司 | 一种旁路阻断方法、设备及存储介质 |
CN113726917B (zh) * | 2020-05-26 | 2024-04-12 | 奇安信网神信息技术(北京)股份有限公司 | 域名确定方法、装置和电子设备 |
CN113765846B (zh) * | 2020-06-01 | 2023-08-04 | 极客信安(北京)科技有限公司 | 一种网络异常行为智能检测与响应方法、装置及电子设备 |
CN112202739B (zh) * | 2020-09-17 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 一种流量监控方法和装置 |
CN112866430B (zh) * | 2021-01-19 | 2023-02-24 | 北京嘀嘀无限科技发展有限公司 | 域名备案检测系统、方法、装置、存储介质 |
CN112949768A (zh) * | 2021-04-07 | 2021-06-11 | 苏州瑞立思科技有限公司 | 一种基于lstm的流量分类方法 |
CN113905030B (zh) * | 2021-09-30 | 2022-11-22 | 北京百度网讯科技有限公司 | 内外网通讯方法、装置、内网终端、代理服务器和存储介质 |
CN114095415B (zh) * | 2021-11-26 | 2024-05-07 | 山石网科通信技术股份有限公司 | 路由确定方法、装置、网关设备和存储介质 |
CN115550259B (zh) * | 2022-09-13 | 2024-05-14 | 平安银行股份有限公司 | 基于白名单的流量分配方法及相关设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902440A (zh) * | 2009-05-27 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 一种阻断tcp连接的方法和装置 |
CN102035895A (zh) * | 2010-12-30 | 2011-04-27 | 天津市国瑞数码安全系统有限公司 | 基于http协议分析的网站监管方法 |
CN103825887A (zh) * | 2014-02-14 | 2014-05-28 | 深信服网络科技(深圳)有限公司 | 基于https加密的网站过滤方法和系统 |
US8880933B2 (en) * | 2011-04-05 | 2014-11-04 | Microsoft Corporation | Learning signatures for application problems using trace data |
CN105939325A (zh) * | 2016-01-12 | 2016-09-14 | 杭州迪普科技有限公司 | Tcp旁路阻断的方法及装置 |
CN106789980A (zh) * | 2016-12-07 | 2017-05-31 | 北京亚鸿世纪科技发展有限公司 | 一种网站合法性的安全监管方法和装置 |
CN107613036A (zh) * | 2017-09-04 | 2018-01-19 | 北京新流万联网络技术有限公司 | 实现https透明代理的方法和系统 |
CN109450945A (zh) * | 2018-12-26 | 2019-03-08 | 成都西维数码科技有限公司 | 一种基于sni的网页访问安全监控方法 |
-
2019
- 2019-03-27 CN CN201910239993.0A patent/CN110049022B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902440A (zh) * | 2009-05-27 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 一种阻断tcp连接的方法和装置 |
CN102035895A (zh) * | 2010-12-30 | 2011-04-27 | 天津市国瑞数码安全系统有限公司 | 基于http协议分析的网站监管方法 |
US8880933B2 (en) * | 2011-04-05 | 2014-11-04 | Microsoft Corporation | Learning signatures for application problems using trace data |
CN103825887A (zh) * | 2014-02-14 | 2014-05-28 | 深信服网络科技(深圳)有限公司 | 基于https加密的网站过滤方法和系统 |
CN105939325A (zh) * | 2016-01-12 | 2016-09-14 | 杭州迪普科技有限公司 | Tcp旁路阻断的方法及装置 |
CN106789980A (zh) * | 2016-12-07 | 2017-05-31 | 北京亚鸿世纪科技发展有限公司 | 一种网站合法性的安全监管方法和装置 |
CN107613036A (zh) * | 2017-09-04 | 2018-01-19 | 北京新流万联网络技术有限公司 | 实现https透明代理的方法和系统 |
CN109450945A (zh) * | 2018-12-26 | 2019-03-08 | 成都西维数码科技有限公司 | 一种基于sni的网页访问安全监控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110049022A (zh) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110049022B (zh) | 一种域名访问控制方法、装置和计算机可读存储介质 | |
EP3229148B1 (en) | Website access method and device, and website system | |
US20180288187A1 (en) | Access request conversion method and apparatus | |
US11838115B2 (en) | Proxy service system for use with third-party network services | |
US9554276B2 (en) | System and method for on the fly protocol conversion in obtaining policy enforcement information | |
US11695797B2 (en) | Proxy computer system to provide direct links for bypass | |
CN111062024B (zh) | 一种应用登录方法和装置 | |
EP3175366B1 (en) | Web redirection for content scanning | |
US9444780B1 (en) | Content provided DNS resolution validation and use | |
AU2015409179B2 (en) | Machine-driven crowd-disambiguation of data resources | |
EP3860095A1 (en) | Methods for information drainage, requesting transmission and communication acceleration, and drainage and node server | |
CN104506510A (zh) | 用于设备认证的方法、装置及认证服务系统 | |
CN109088909B (zh) | 一种基于商户类型的服务灰度发布方法及设备 | |
AU2011211443A1 (en) | Systems, Methods, and Apparatus to Monitor Mobile Internet Activity | |
CN111917900A (zh) | 一种域名代理的请求处理方法及装置 | |
US11240202B2 (en) | Message processing method, electronic device, and readable storage medium | |
WO2017020597A1 (zh) | 一种资源缓存方法及装置 | |
US9866614B2 (en) | Methods for website version control using bucket cookies | |
KR20130072907A (ko) | 단축 url 생성 방법 및 이를 지원하는 시스템 | |
US20140047014A1 (en) | Network access system | |
CN111049949A (zh) | 域名识别方法、装置、电子设备和介质 | |
CN114650271B (zh) | 全局负载dns邻居站点学习方法及装置 | |
US11381503B2 (en) | Data packet routing method and data packet routing device | |
CN118250252A (zh) | 域名解析方法、系统、装置、介质以及服务器 | |
CN114363902A (zh) | 5g专网业务安全保障方法、装置、设备及存储介质 |
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 |