保护客户端域的方法、对应客户端节点、服务器和计算机程序与流程

文档序号:25038712发布日期:2021-05-11 17:12阅读:192来源:国知局
保护客户端域的方法、对应客户端节点、服务器和计算机程序与流程
本发明的领域是在通信网络(例如,ip网络)内的通信的领域,尤其是增值ip服务的领域。更具体地说,本发明提供了一种用于即使在管理规则之间检测到冲突的情况下、仍管理与客户端域相关联的流量(即进入客户端域或离开客户端域的流量)的解决方案。特别地,本发明提供了一种解决方案,所述解决方案使得客户端节点能够发现客户端域内的其他客户端节点,检测与所述客户端域相关联的两个网络流量管理规则之间的冲突,并使用从所述发现得到的所述信息来发起冲突解决动作。特别地,例如通过仅实施由ietf标准化的ddos开放威胁信令(dots)体系结构,本发明在缓解分布式拒绝服务(ddos)攻击的领域中具有应用。
背景技术
:提醒一下,ddos攻击是试图使资源(例如网络或计算资源)对它们的用户不可用。通过危害大量主机并使用这些主机来放大攻击,可以大规模部署此类攻击。为了减轻这些ddos攻击,某些访问或服务提供商向他们的客户提供ddos攻击检测和缓解服务。这种缓解服务(ddos保护服务)可以被托管在由访问提供商运营的基础架构内或云中。特别地,它们使得可能区分“合法”流量(即用户同意的数据)和“可疑”流量。当dps类型的服务托管在云中时,很难预先识别ddos攻击,因为这种服务不在用于到达作为ddos攻击的受害者的网络的路由路径(默认情况下)上存在。为了解决这个问题,特别地提出了建立隧道以将流量(传入或传出)强加到站点或网络上以由dps服务进行检查。但是,这个方案显著增加了用户观察的等待时间,并且对dps服务的大小施加了限制,以便能够处理来自网络的所有用户的所有传入或传出流量。此外,所述隧道被认为是潜在的攻击矢量。当dps类型的服务被托管在由访问提供商运营的基础架构中时,即使dps服务存在于网络的传入或传出流量的路由路径中,在识别可疑流量时也可能会遇到困难。尤其是,随着加密流量的增加,尤其是udp承载的流量(例如quic流量“快速udp网络连接”),很难将合法流量与可疑流量区分开。访问纯文本控制消息(例如tcp协议中提供的“syn/syn-ack/ack”消息)的困难确实会使验证网络节点同意接收流量变得复杂。为了帮助识别可疑流量,ietf内正在对一种特定的体系结构进行标准化。这种称为dots的体系结构允许客户端节点(称为dots客户端)通知服务器(称为dots服务器)它检测到ddos攻击,并且需要采取适当的措施。当客户端域是ddos攻击的目标时,作为那个客户端域的一部分的dots客户端可以向dots服务器发送消息,以寻求帮助。后者与缓解器进行协调,以确保与服务攻击的拒绝相关联的可疑流量不再被路由到所述客户端域,而合法流量继续正常路由到所述客户端域。所述dots体系结构基于dots客户端和dots服务器之间的两个通信通道的使用:-dots信号通道,以及-dots数据通道。仅在进行ddos攻击时才使用所述dots信号通道。因此,dots客户端可以使用这个通道向所述dots服务器请求帮助。例如,dots客户端使用所述信号通道将请求发送到所述服务器,通知所述服务器前缀“1.2.3.0/24”受到ddos攻击,以便所述服务器可以采取措施阻止所述攻击。这样的请求与由唯一标识符(例如,标记为cuid(“客户端唯一标识符”))识别的dots客户端相关联。如果来自所述dots客户端的所述请求与来自相同客户端域中其他客户端的其他请求不冲突,或者与所述服务器根据所述相同客户端域的另一客户端的请求而先前安装的过滤规则不冲突,并且如果所述服务器被启用/配置以接受(honour)最后接收到的请求,则dots服务器因而可以采取适当的措施来阻止ddos攻击。在发生冲突的情况下,所述服务器可以发送错误消息,例如4.09类型(“冲突”),以通知客户端。在2018年1月的reddy,t.等人的"distributeddenial-of-serviceopenthreatsignaling(dots)signalchannelspecification",draft-ietf-dots-signal-channel中,特别描述了这种信号通道。当dots客户端未检测到ddos攻击时,使用所述dots数据通道。例如,dots客户端可以使用这个通道来安装过滤规则,例如过滤从某些地址接收的流量或发往给定节点的流量,或者要求所述服务器阻止所有流量到前缀“1.2.3.0/24”或所有流量根据udp(用户数据报协议)通信协议到端口443,通常用于服务攻击的拒绝。如果所述请求不与来自相同客户端域中其他客户端的其他请求或现有过滤规则冲突,则所述dots服务器可以响应来自客户端的请求安装过滤规则。如果与所述dots服务器维护的其他规则存在冲突,则所述服务器可以发送例如类型409的错误消息(“冲突”),以通知所述客户端。在2017年12月的boucadair,m.等人的"distributeddenial-of-serviceopenthreatsignaling(dots)datachannel",draft-ietf-dots-data-channel中特别描述这样的数据通道。根据上述两个文档中描述的过程,存在以下风险:dots服务器可能会在攻击确实存在时拒绝处理dots客户端发送的缓解攻击请求,或者拒绝dots客户端发送的过滤请求(过滤请求的一个目的是预期ddos攻击)。例如,当相同客户端域的dots客户端已经先前请求所述服务器安装过滤规则,但由于这些规则过时而不再合理时,可能会发生这种拒绝。例如,它可以是dots客户端,所述dots客户端不会在断开连接之前删除在其请求时安装的过滤规则。但是,相同域的另一客户端无法删除这些规则,并且所述客户端在攻击缓解请求的起点没有有关安装这些规则的客户端的身份的信息。此外,如果dots客户端处于非活动状态或断开连接,则dots服务器可能会删除所述客户端激活的所有过滤器,这可能会干扰与其中所述客户端所位于的所述客户端域相关联的流量的正确路由,尤其是因为所述域中的其他客户端不知道这些过滤器的存在,并因此无法维护或删除与这些过滤器相对应的状态。因此,需要一种用于管理与客户端域相关联的流量的新技术,例如,使得能够改善所述相同域的所述dots客户端的相互了解,从而改善它们的流量管理动作的协调性。技术实现要素:本发明通过提供一种在客户端域的客户端节点中实现的用于保护客户端域例如免受计算攻击的新的解决方案来解决所述需求,所述方法包括:-发现所述客户端域的至少一个其他客户端节点,称为已发现节点;-检测与所述客户端域相关联的流量的至少两个管理规则之间的冲突;和-解决所述检测到的冲突,包括:ο如果所述规则之一由所述已发现节点安装,则修改所述规则或与所述已发现节点相关联的状态;ο否则,从所述已发现节点获得用于识别安装了所述规则之一的所述客户端域的至少一个节点的信息项。本发明基于所述域的所述其他客户端节点的第一客户端节点的所述发现,以及基于在所述发现期间获得的所述信息的所述使用,以检测管理规则之间的冲突或解决所述冲突。可以基于所述域的所述其他客户端自发发送的信息或响应于请求,来执行所述发现。所述发现阶段可以在识别所述冲突之前或之后发生。“流量管理规则”是指任何流量过滤操作、以及与所述域的所述安全策略有关的一组管理规则。有利地,可以在检测到网络攻击之后安装过滤规则,以保护所述客户端域。可以认为,当所述客户端域的两个流量管理规则彼此不兼容时,它们之间存在冲突,即,其中一个阻止了其他的正确实施或对安全策略的遵守。可以独立于所述发现或从所述发现产生的所述信息,而检测到这样的冲突。根据本发明的实施例,所述发现包括发送至少一个发现请求并接收响应。一个优点是,所述第一客户端节点在需要时发起所述发现。根据本发明的另一实施例,所述请求被传送到所述域的所述客户端节点可访问的服务器。有利地,用于发现所述客户端域的所述其他客户端节点的方法依赖于所述服务器的协助。一个优点是所述服务器知道所述客户端域中所有活动的客户端节点。可选地,所述第一客户端节点可以例如在称为“请求代码”的信息字段中指定所需的信息类型,并获得目标响应。例如,如果所述请求代码取值为0,则所述客户端节点希望接收所述服务器为其维护活动会话或与流量管理规则相对应的至少一个条目的所述客户端节点的识别。有利地,所需信息的类型属于至少包括以下内容的组:·客户端节点的标识符;·客户端节点的ip地址;·服务器维护的活动会话;·由服务器维护的、与客户端安装的管理规则相对应的条目;如果所述客户端域中的所有客户端节点都扮演相同的角色并具有相同的特权,则任何客户端节点都可以访问由所述服务器已知和维护的所有可用信息。相反,如果所述客户端域的所述客户端节点具有不同的角色,并且在可以访问的信息类型方面受益于不同的特权,则由所述服务器传送的响应将仅包含可以访问的与所需类型相对应的信息值。有利地,获得的响应具有属于至少包括以下内容的组的类型:-精简响应,包括称为响应代码的信息字段,指示响应所述请求代码的活动客户端节点的数量;-详尽响应,包括响应所述请求代码的客户端节点列表、以及所述列表的每个客户端所需的信息类型的值。根据策略,默认情况下从所述服务器接收的所述响应是精简响应。取决于接收的所述响应代码,尤其是如果所述响应指示存在其他客户端节点,则所述第一客户端节点可以例如向所述客户端域的所述其他客户端节点发送第二发现请求,以获得详尽响应。有利地,所述服务器独立于所述请求代码来控制其返回给所述客户端节点的信息。例如,只有具有特权的客户端节点(诸如所述主节点)接收所述详尽响应。一个优点是限制敏感信息的分发,诸如所述客户端的识别或它们的ip地址,从而防止恶意客户端获得此信息。根据本发明的另一实施例,所述发现包括在多播地址上从所述已发现节点接收出席公告。因此,通过出席公告机制在所述客户端域的客户端节点之间进行所述发现。一个优点是所述发现是基于所述域的所述其他节点自发分发的信息。根据本发明的另一实施例,所述发现请求被传送到多播地址或预配置的客户端,并且响应于所述请求接收所述出席公告。使用多播地址或预配置客户端(诸如主客户端)的地址来要求所述域的的其他客户端宣布自己的一个优点是,可以防止恶意客户端以单播方式向所述请求客户端发送错误的响应。这个实施例(域内发现)可以有利地与先前的一个(服务器辅助发现)组合,以允许所述第一客户端完成所获得的信息。例如,如果所述服务器仅提供精简响应,则所述服务器随后可以通过域名解析发起第二发现,以获得所述域的所述其他客户端的所述识别和位置信息。特别地,根据本发明的实施例,所述多播地址与称为主客户端的所述客户端节点的子集相关联,并且在从所述域的主客户端节点接收至少一个出席公告时,包括至少所述主节点的一个单播ip地址,所述方法包括从所述客户端域的所述客户端节点向所述主客户端节点的所述至少一个单播ip地址发送第二发现请求。根据所述变体,当所述域将主节点与常规客户端节点区分开时,所述域内发现以两个步骤执行:首先发现至少一个主节点,并获得所述节点的单播地址,然后检索与所述主节点已知的所述域的非主客户端节点相关的信息。有利的是,所述主节点通过查询所述服务器预先发现与所述域相关联的所述客户端节点,并获得完整的答案。因此,它能够响应来自所述第一客户端节点的所述发现请求。这个解决方案的一个优点是它是安全的,因为所述主客户端节点对所述域的所述客户端具有完全的可见性,并且先前已从所述服务器获得由所述服务器适当注册的客户端节点的列表。因此,它可以拒绝来自恶意节点的所述发现请求。根据本发明的实施例,在所述发现期间获得的所述信息包括已发现节点的列表、以及与由所述列表的节点所安装的管理规则有关的信息,所述冲突的所述检测包括将获得的信息与本地可用信息进行比较,并在所述列表中至少识别安装了所述规则之一的所述已发现节点。根据本发明的所述发现的一个优点是,它允许所述第一客户端节点将在所述发现期间检索的所述信息与其已经拥有的信息进行比较,从而检测所述冲突的所述存在。如果获得的信息足够完整,则可将其用于检测冲突并将有问题的(多个)规则与在所述发现期间识别的客户端相关联。有利地,所述检测到的流量管理冲突突出:-至少一个非活动或恶意客户端节点的出席,所述节点安装了与所述域的所述管理或安全策略规则冲突的第二流量管理规则。例如,所述第二规则是陈旧的;-在所述第一客户端节点要求所述服务器安装的第一规则和与已发现客户端相关联的已经安装的第二规则之间冲突的存在。根据本发明的另一实施例,对所述规则或与所述已发现节点相关联的状态的修改包括向服务器发送用于修改所述规则或与所述已发现节点相关联的状态的请求。这个实施例特别涉及具有修改客户端的状态的特权的主客户端。例如,它可以要求所述服务器修改所述有问题的规则,或者如果认为它是恶意的,甚至可以断开所述客户端的连接。根据本发明的又一个实施例,所述冲突的所述检测包括:对于与所述客户端域相关联的流量从管理服务器接收拒绝用于安装所述规则之一的请求的消息,所述消息包括其他所述管理规则的标识符。一个优点是,所述客户端节点可以使用从所述发现获得的所述信息来识别安装了与其要安装的规则相冲突的规则的所述客户端。根据本发明的又一个实施例,如果所述已发现节点未安装其他所述规则,则所述冲突的所述解决包括向所述已发现节点发送用于确定与其他所述管理规则相关联的所述客户端节点的身份的请求。有利地,当所述发现不允许所述第一客户端节点获得关于所述域的所述其他节点的足够信息以本地识别安装了生成所述冲突的所述规则的所述节点时,所述客户端请求至少一个所述已发现节点的协助。有利地,它将所述请求发送到所有所述已发现节点。一旦检索到所述相关联客户端节点的所述ip地址,它就可以要求其调整它的规则。根据本发明的另一实施例,如果由所述已发现节点安装了其他所述规则,则所述规则的所述修改包括向所述已发现节点发送用于调整所述规则的请求。这个实施例特别适合于传统的客户端节点。将客户端与有问题的规则相关联,可以允许直接请求所述节点的协助来解决所述冲突。相关地,本发明还涉及一种在服务器或客户端节点中实现的用于保护客户端域例如免受计算攻击的方法,所述方法包括:-从所述客户端域的客户端节点接收发现请求;-获得记录,所述记录包括与称为注册节点的所述域的另一客户端节点相关联的至少一个状态;和-向客户端节点发送包括与所述注册节点有关的至少一个信息项的响应。根据本发明,所述服务器或所述客户端节点通过向所述域的所述第一客户端节点传送关于所述域的所述其他客户端节点的信息,来响应所述域的所述第一客户端节点的所述发现请求。本发明还涉及一种根据以上定义的特定实施例中的任何一个适于实现用于保护客户端域例如免受计算攻击的一种或多种方法的客户端节点。这个客户端节点当然可以包括与根据本发明的所述保护方法有关的不同特性。因此,这个客户端节点的所述特性和优点与所述保护方法的所述特性和优点相同,因此不再赘述。本发明还涉及一种服务器,所述服务器包括至少一个可编程计算机器或一个专用计算机器,其配置为例如保护客户端域免受计算攻击,并实现:-从所述客户端域的客户端节点接收发现请求;-获得包括与称为注册节点的所述域的另一客户端节点相关联的至少一个状态的记录;和-向所述客户端节点发送包括与所述注册节点有关的至少一个信息项的响应。根据特定实施例,本发明还涉及一个或多个计算机程序,包括指令,用于当所述程序由处理器执行时、根据前述任意一个具体实施例来实现用于保护客户端域例如免受计算攻击的方法。这样的程序可以使用任何编程语言。程序可以从通信网络下载和/或记录在计算机可读介质上。所述程序可以使用任何编程语言,并且可以采用源代码、目标代码或源代码与目标代码之间的中间代码的形式,诸如部分编译的形式或任何其他期望的形式。本发明还涉及一种包括上述计算机程序的指令的计算机可读存储介质或数据介质。上述记录介质可以是能够存储所述程序的任何实体或设备。例如,所述介质可以包括存储装置,诸如rom,例如cd-rom或微电子电路rom,或磁记录装置,例如软盘或硬盘驱动器。另一方面,所述记录介质可以对应于诸如电信号或光信号的可传输介质,其可以经由电缆或光缆,通过无线电或其他方式来承载。根据本发明的所述程序可以特别地在因特网类型的网络上下载。替代地,所述记录介质可以对应于其中嵌入所述程序的集成电路,所述电路适于执行所讨论的方法或在所讨论的方法的执行中使用。附图说明通过阅读以下作为简单说明性非限制性示例提供的特定实施例的描述以及附图,本发明的其他特征和优点将变得更加清楚,其中:-图1示出了根据本发明实施例的实现保护方法的通信网络的示例;-图2示出了根据本发明的至少一个实施例的保护方法的主要步骤;-图3a至图3c示出了根据本发明的第一实施例的第一节点对客户端域的客户端节点的发现;-图4a和4b示出了根据本发明的第二实施例的第一节点对客户端域的客户端节点的发现;-图5示出了根据本发明的第三实施例的两个流量管理规则之间的冲突的检测;-图6示出了根据本发明的第四实施例的两个流量管理规则之间的冲突的检测;-图7a至图7c示出了根据本发明的第三实施例的不同的冲突解决方案变体;-图8a至图8c示出了由客户端节点实现的将管理规则与已发现客户端节点相关联的不同变体;-图9a和9b示出了根据本发明的第四实施例的两个冲突解决方案的变体;以及-图10和图11示出了根据特定实施例的客户端节点和服务器的简化结构。具体实施方式5.1一般原理本发明的一般原理是基于以下:由属于客户端域的第一客户端节点发现属于相同客户端域的其他客户端节点,对于与所述客户端域相关联的流量的两个管理规则之间的冲突的检测,所述规则中的至少一个与客户端域的客户端节点的关联,以及通过修改所述规则和/或客户端的状态发起动作以解决检测到的冲突,至少所述冲突的所述检测或所述解决实现在用于发现所述域的节点的处理期间获得的信息。关于图1,示出了根据本发明实施例的实现用于保护网络的方法的通信网络的不同设备。例如,考虑与服务器s通信的、属于客户端域11的几个客户端节点c1、c2、c3和cm。例如,客户端域11包含一台或多台机器,也称为节点。此处使用的术语“域”是指由同一实体负责的一组机器或节点。根据示出的示例,服务器s不属于客户端域11。根据未示出的另一示例,服务器s可以属于客户端域11。下面描述dots类型体系结构中的本发明的实施例,根据所述实施例,客户端节点c1、c2、c3和cm是dots客户端,并且服务器s是dots服务器。客户端节点c1、c2、c3、cm和服务器s由此可以经由结合现有技术定义的dots信号和数据通道进行通信,以通知服务器需要采取保护措施(例如,缓解攻击或安装过滤规则)。5.2dots体系结构的提醒dots请求可以是,例如:-别名管理消息,例如,将标识符与位于客户端域中的一个或多个网络资源相关联,-信令消息,请求来自dots服务器的服务攻击的拒绝的缓解,所述服务器在接收到这样的消息时能够发起停止攻击必需的动作,或者-过滤规则管理消息,诸如恳求dots服务器安装(或已安装)访问控制列表(acl)。可以从属于dots客户端域的dots客户端向dots服务器或向多个dots服务器发送dots请求。dots域可以支持一个或多个dots客户端。换句话说,客户端域的几个客户端节点可以具有dots功能。客户端域和服务器之间的dots通信可以直接进行,或者可以经由dots网关建立。这些网关可以托管在客户端域、服务器域或两者内。换句话说,客户端域的节点可以直接与服务器通信,或者将请求传送到与服务器直接通信的客户端域的网关或服务器域中的网关,或者将请求传送到与服务器通信的服务器域中的网关。位于客户端域中的dots网关被dots服务器视为dots客户端。位于服务器域中的dots网关被dots客户端视为dots服务器。如果服务器域中存在dots网关,则可以将dots客户端的认证委托给服务器域的dots网关。可以使用其域内的活动dots网关列表来配置dots服务器,并且服务器可以将其某些功能委派给这些受信任的网关。特别是,服务器可以借助于特别认证过程(例如,由服务器的授权管理员对列表进行显式配置,从诸如aaa服务器的认证服务器中检索列表(用于“认证、授权和计费”)等)安全地使用在向服务器声明并由服务器维护的列表上的网关提供的信息。不论dots体系结构的配置如何(客户端域中的一个或多个dots客户端、无dots网关、客户端域或服务器域中的一个或多个dots网关、与服务器域分离的客户端域等),都可以实施以下呈现的实施例。图2示出了由客户端节点之一(例如客户端节点c1)实现的用于管理与客户端域11相关联的流量的主要步骤。在21中,客户端节点c1在其所属的客户端域11中发现其他活动的客户端节点。这个发现允许它获取与域中活动的客户端节点有关的信息。它涉及服务器s或域中的一个或多个客户端节点。在其余的描述中,将相对于图3a至图3c和图4a-4b详细描述几个实施例。在22中,它检测到与两个管理规则rk1和rk2有关的冲突。冲突的检测可以与或可以不与在用于发现所述域的其他客户端节点的处理期间获取的信息有关。在下文中,“管理规则”指定由客户端域的客户端节点发起的用于管理所述域的传入或传出流量的任何动作。例如,它可以是过滤规则,需要安装一个或多个过滤规则或任何其他资源的缓解动作。安装这样的管理规则会导致创建状态条目,或者换句话说,创建由服务器维护的数据库中的记录。这样的条目描述了管理规则及其状态,并且在用于安装规则的请求的起点与客户端节点相关联。另外,向服务器s注册的客户端节点的状态是指其在网络中的活动,例如服务器是否为所述客户端节点维护网络中的活动会话或与由客户端节点安装的流量管理规则相关的至少一个条目。将关于图5和图6详细描述不同的实施例。可选地,客户端节点c1将管理规则rk1、rk2中的至少一个与已发现客户端相关联。将相对于图8a-图8d和图9a-图9b详细描述一些实施例。在23中,客户端节点c1发起与它发现的至少一个其他客户端节点c2或与服务器s的冲突解决动作。当它在有问题的管理规则rk2的安装的起点时,解决动作可以应用于客户机节点c2本身的状态,或者可以请求其协助。将关于图7a-图7c和图9a-图9b详细描述不同的实施例。现在参照图3a-图3b详细描述根据本发明的第一实施例的用于发现其他客户端节点的步骤,其需要服务器s12的协助。根据本发明的这个实施例,称为“服务器辅助”模式,所述发现包括,如图3a所示,由客户端c1在31c中向服务器s12发送mreqd或“get_peer_clients_request”发现请求,以便检索具有由服务器s实例化的至少一个状态的域的dots客户端的列表。可以在初始化时,或以规则间隔或任何时候(例如,在检测到冲突之后),传送这个请求。有利地,这个请求包括称为请求代码creq的字段,所述字段可以采用以下值之一:-“0”,以获取属于与dots服务器s为其维护活动会话或至少一个状态(诸如过滤规则)的客户端节点c1相同域的所有dots客户端节点的列表;-“1”,以获取属于与dots服务器s为其维护活动会话的客户端节点c1相同域的所有dots客户端节点的列表;-“2”,以获取属于与dots服务器s为其维护至少一个状态(例如过滤规则)的客户端节点c1相同域的所有dots客户端节点的列表;-“3”以获取自从“时间戳”字段指示的时间戳以来已与服务器建立联系的、属于相同域的所有dots客户端节点的列表。关于图3b,在接收32s由客户端节点c1发送的mreqd请求时,服务器s在33s中执行安全检查。实际上,假定dots代理(客户端和服务器)彼此进行认证。因此,例如在客户端和服务器之间存在类型为dtls或tls((数据报)传输层安全性)的安全通信通道。因此,从另一服务器接收的模拟合法服务器的消息可能会被dots客户端拒绝。类似地,dots服务器可以忽略来自未授权访问缓解服务的dots客户端的请求。在随后的假设中,此过程由dots代理执行。dtls/tls交换的细节、以及与用于dots客户端的相互认证的安全密钥的管理有关的细节不是本发明的主题,并且在此不进行详细描述。然后,在34s中服务器s12通过应用与“请求代码”相对应的搜索过滤器,来检查在存储器中存储的一个或多个表。例如,dots服务器通过称为cdid(客户端域标识符)属性的域识别信息项,来识别属于相同域的dots客户端。当然,服务器可以支持其他机制。可选地,域标识符可以由服务器从类型证书或密钥的身份信息(诸如“预共享密钥(psk)身份”信息)本地计算,和/或由另一受信任实体(通常是其域的dots中继)进行通信。不对域标识符的结构做任何假设。作为示例,下面示出了由服务器域的dots中继所中继的消息的示例。所述中继插入“cdid=here.example”信息以向服务器传递向其发送发现请求的dots客户端的域的身份。服务器使用这个信息来实施策略,诸如应用配额或限制每个客户端域的请求数量。现在相对于表1,呈现由服务器维护的dots客户端列表的摘录示例。由“cuid_ex1”和“cuid_ex2”识别的两个客户端节点属于由“here.example”识别的相同客户端域。注意,本发明不限于由服务器维护的状态表的特定结构。例如,服务器可以通过客户端的标识符为客户端建立索引,通过客户端域对客户端进行分组等。客户端标识符(cuid)客户端域标识符(cdid)…cuid_ex1here.example…cuid_ex2here.example…cuid_ex3there.example…表1根据本发明的第一实施例变体,服务器在35s中以mrepd或“get_peer_clients_reply”响应消息响应客户端节点c1,所述响应消息包括与客户端域相关联的dots客户端的标识符列表以及用于联系服务器的信息(通常是dots客户端使用的ip地址)。将注意,服务器可以返回对冲突检测和解决有用的其他信息。这个版本的“get_peer_clients_reply(list(cuid,ipaddress),[additional_information])”响应消息称为详尽响应。但是,恶意dots客户端可以使用这个信息来发现dots域的所有合法dots客户端的标识符:恶意客户端因此可以使用这个信息来破坏由这些客户端提供的dots服务。为了防止这些问题,第二种变体是dots服务器默认在35s中以get_peer_clients_reply(responsecode,[additional_information])消息进行响应,以将最小信息传递到请求客户端。这个版本的get_peer_clients_reply()消息称为精简响应。根据第一选择,服务器使用get_peer_clients_reply()的精简响应来系统地响应。精简响应包括响应代码crep,它指示服务器是否知道其他客户端。通常:·“0”:当且仅当服务器知道请求客户端时,才返回到请求客户端。·“1”:如果其他dots客户端与请求中指示的过滤器匹配,则返回到请求客户端。可以返回附加信息,诸如这些客户端的数量或它们维护的活动状态的数量。不共享dots客户端的位置或识别信息,以限制恶意客户端盗用其他形式的身份。取决于响应中指示的代码,客户端可以重新开始域内的发现过程以获取附加信息。根据第二选择,并且为了防止恶意客户端使用这个发现功能,对包含敏感信息(诸如客户端的身份或它们的ip地址)的详尽响应的访问仅限于具有某些特权或角色的dots客户端。这个角色可以由客户端域的管理员分配,并在订阅dots服务的阶段期间与dots服务器共享。可以将其限制为域中的一个或多个dots客户端。主dots客户端是被选择担当这个角色的客户端。在下文中,出于说明目的,假定由服务器通过将由dots客户端呈现给服务器的用于认证的信息与由服务器预先记录的信息相关,来推导dots客户端的角色。因此,当且仅当请求客户端是主dots客户端时,dots服务器才会使用详尽版本的“get_peer_clients_reply()”消息进行响应。否则,默认情况下将返回精简版本。还可以将dots服务器配置为仅对客户端域的一组已定义的dots客户端返回响应;来自不属于这个组的客户端的请求被拒绝。使用这个过程,主dots客户端可以检索与域相关联的dots客户端列表。主dots客户端可以使用表征这些客户端的活动的附加信息。默认情况下,在没有主客户端的操作模式下,客户端域的所有dots客户端都扮演相同的角色,并访问详尽响应。一旦在36c中接收到mrepd响应,客户端c1在37c中检查这个响应是否匹配它发送并且正在等待响应的请求。如果检查成功,则客户端在38c中检索所述消息中包含的信息;否则,在39c中拒绝所述消息。关于图3c,假设发现客户端是主客户端cm。如果尚未在从服务器s接收的mrepd响应中获得和与客户端节点相关联的资源相关的所有信息,则一旦它检索到域中活动的客户端的标识符列表,就可以向服务器s发送附加的mreqrk或“get(c3,all)”请求,以请求重新定位(rehoming)与域的dots客户端c3相关联的过滤条目、已注册ip资源等的列表。主客户端cm发送的这个消息指定了客户端c3的标识符,并指示它希望对与客户端c3相关联的所有数据(操作和配置)进行重新定位,如设置为“所有”的“内容”参数的值指定。一旦由dots服务器接收这个消息,dots服务器就返回与客户端c3相关联的资源rk的完整列表。关于图4a,现在详细描述根据本发明的第二实施例的用于发现其他客户端节点的步骤,称为“客户端发起的发现”模式。根据本发明的这个实施例,发现21包括从客户端域的dots客户端接收出席公告消息。这些dots客户端在初始化、或以定期间隔或响应于明确的请求,而宣布它们的出席。客户端必须显著地宣布它们的出席,而不必在重新启动时以及每当它们的(多个)ip地址更改时,等待域中其他dots客户端的请求。他们还发现在客户端域中活动的其他dots客户端。例如,假设使用多播传输模式。特别地,可以使用文档rfc6762中指定的解析协议mdns。假定客户端域的dots客户端c1希望在给定时刻发现其域的客户端。根据这个实施例,如图4a所示,它将mres请求发送到由rfc6762定义的多播地址之一,以请求名称“_dots._client.local”的解析。一旦域的另一dots客户端(例如客户端c2)接收到这个消息,它以单播或多播响应,宣布其出席。mpres响应消息包括客户端c2的位置信息。在这个过程结束时,如图4b所示,所述域的所有dots客户端被识别并为这个域的所有客户端所知。当然,恶意客户端可以决定不参与这个公告过程,因为它可以揭示它们的出席。图4a中还说明的变体在于首先发现主客户端。为此,dots客户端向rfc6762定义的多播地址发送ptr(指针记录)类型的域名解析mres请求,以请求名称“_dots._client_master.local”的解析。一旦域的另一dots客户端(充当主dots客户端)接收到这个消息,它必须以多播响应以宣布其出席。位置信息被包含在对mdns解析请求的mpres响应中。公告响应以多播的形式排他地发送到客户端c1,以防止恶意客户端直接向单播地址发送错误的响应。如上所述,主客户端必须定期自发地宣布它们的出席,而不必等待来自其他客户的请求。在这个过程结束时,客户端c1具有与所述域的至少一个主客户端cm联系的信息。根据本发明的这个第二实施例,所述发现有利地包括第二阶段,第二阶段包括客户端节点c1与所发现的主客户端cm联系,以检索域的dots客户端的完整列表。有利地,dots客户端c1实现本发明的第一实施例,并将mreqd或get_peer_clients_request()发现请求消息发送到在第一阶段期间识别的主客户端。一旦接收到消息,主客户端将使用mrepd或get_peer_clients_reply()消息作为响应,所述消息包括域中的其他活动dots客户端的列表。如图4b所示,一旦域的所有客户端已经执行刚刚描述的发现,它们具有包括充当主客户端的那些的域的活动客户端的列表。根据本发明,客户端随后使用这个信息来检测和解决与不兼容流量管理规则的安装有关的冲突。现在关于图5和图6描述对流量管理规则之间的冲突的检测22。考虑至少两种情况:-根据本发明的第三实施例,客户端节点c1独立于发现21来在22中检测冲突。关于图5,假定它先前已经在51c中向服务器s传送了mreqt处理请求。所述请求与流量管理规则rk1的安装有关。一旦在52s中接收到这个请求,服务器s12在53s中检查用于安装规则rk1的这个请求是否与已经在客户端域中安装的管理规则兼容。假定它检测到与另一管理规则rk2冲突并且在541s中拒绝所述请求。然后,它在551s中以mrept消息响应客户端c1,所述mrept消息包括对这个处理请求的拒绝。mrept响应指示与相同客户端域的另一客户端安装的规则rk2存在冲突,并指定rk2属性以识别那个规则rk2。相反,如果发现规则rk1与已经为相同客户端域安装的规则之间不兼容,则在542s中安装规则rk1,并在551s中向客户端c1发送mrept响应,以确认其安装。根据另一示例,客户端c1先前检测到攻击的流量特征,并且mreqt处理请求包括针对这个攻击的缓解请求。一旦在r2s中接收到这个请求,服务器s就在521s中确定这个攻击的缓解方案。假定包括至少一个管理规则rk1的安装。已经描述的后续步骤保持不变。一旦在56c中接收到mrept拒绝消息,客户端c1就在57c中获得规则rk2的标识符rk2,但是它不知道安装它的客户端的身份。因此,它发起上述发现步骤21,以获得有关在客户端域中活动的其他客户端的信息。例如,它在58c中向服务器s发送mreqd发现请求。作为变体,它实现多播地址解析以发现一个或多个主客户端cm;-根据图6所示的本发明的第四实施例,通过使用与其他客户端有关的、并在发现21期间获得的信息,来执行与客户端域相关联的流量的管理规则之间的冲突的检测22。例如,客户端节点c1在60c中从服务器s12接收mrepd响应消息,提取针对向服务器s注册的每个客户端节点接收的识别、位置和状态信息,并在61c中将其与本地存储在存储器m1中的信息进行比较。“本地可用信息”是指已经为域的客户端节点记录的识别、位置、活动信息、与客户端域的管理和安全策略有关的信息或规则。客户端节点c1使用这个比较来例如在62c中检测由客户端c2安装的第二规则rk2与和客户端域中的流量管理安全策略有关的第一规则之间的冲突。可以理解,发现期间接收的信息必须与客户端域中活动的所有客户端节点(包括恶意节点)相关,并且必须足够完整,并且尤其包括由与服务器发现并维护的客户端安装的管理规则(过滤规则、缓解请求等)有关的条目。这样,主客户端可以识别安装了特定管理规则的客户端。因此,这个实施例特别适合于主客户端节点cm和“服务器辅助”模式下的发现。实际上,“客户端发起的发现”本地过程不允许得出关于客户端域内的恶意dots客户端的出席的结论,因为可以对它们进行编程以忽略由域中其他客户端发送的请求。有利地,发现信息然后在22中用于:ο识别在dots域中激活的恶意dots客户端(或“隐藏”dots客户端)的出席。例如,不应将客户端连接到服务器,但是服务器要为其维护活动会话。ο识别从dots客户端域外部的网络激活的恶意dots客户端的出席。基于dots客户端用来建立dots会话的ip地址,容易地检测到这种异常。这个地址不是欺骗性的地址,因为dots会话的建立是基于dots代理发送的作为相互认证过程一部分的确认。ο识别具有可疑活动的dots客户。例如,dots客户端可能已经安装不符合客户端域本地策略的流量管理规则,即与客户端域的本地管理或安全规则冲突;ο识别“遗忘”的dots客户端,即已安装状态但不必费心从dots服务器中删除它们的dots客户端。例如,这是它们已安装但未删除的管理规则。也可以是仍在进行中但没有任何关联寿命的缓解请求。现在参照图7a至图7c详细描述检测到的冲突的解决23。根据本发明的第三实施例,考虑如下情况:基于由发现产生的信息执行的冲突的检测22致使客户端c1识别恶意或遗忘客户端c3。有利地,客户端c1是具有特权的主客户端cm,所述特权包括要求服务器修改客户端域11的另一客户端节点的状态的能力。例如,发起的动作24包括:-删除与dots客户端相关联的一个或多个条目:主dots客户端检测到,尽管它们由服务器为客户端c3维护,但它们是不正确的。关于图7a,用于删除与和客户端c3相关联的这个/这些条目/多个条目相对应的(多个)规则rk2的mreqs或delete(c3,rk2)请求由主客户端cm发送至服务器s。这种请求指示客户端c3的标识符,并指定必须删除与之相关联的所有条目。例如,delete消息可以按如下格式化:一旦接收到这个消息,服务器删除与客户端c3相关联的过滤规则rk2=“wrong-ipv4-acl”。通过实现这个过程,可以解决与“陈旧”条目有关的问题。-断开被检测为非活动状态的dots客户端的连接,对于其陈旧的(因为所述客户端处于非活动状态)管理规则仍然安装在域内。关于图7b,删除客户端c3的mreqs或delete(c3,all)请求由主客户端cm传送到服务器s。它指示客户端c3的标识符,并指定必须删除与之相关联的所有资源。例如,delete消息可以按如下格式化:一旦接收这个消息,服务器断开客户端c3的连接。结果,服务器不再为这个客户端维护任何条目。-在断开其连接之前,迁移与dots客户端相关联的一个或多个条目:此外,如果主客户端在由客户端c3安装并由服务器维护的管理规则之中识别应维护的条目,尽管客户端c3断开连接,主客户端cm可以要求服务器将这些条目迁移到域中的一个或多个其他客户端。另一使用情形是例如客户端节点c3的主要软件更新过程,在此过程期间,与客户端c3安装的管理规则相对应的所有或部分条目必须由“备份”客户端维护。有利地,由于基于put方法的新的更新过程,可以实现迁移。下面呈现对客户端c3最初实例化到客户端c2的所有规则的迁移请求的第一实施例:迁移过程的另一实施例是如上所述使用mres或delete删除请求删除要迁移的规则,然后立即发送用于创建相同规则但与新客户端标识符(c2)相关联的(多个)put/post请求。-通过向服务器s发送“blacklist(c3)”消息,将dots客户端列入黑名单,如图7c所示;客户端cm发送的blacklist()消息包括客户端c3的标识符,例如类型cuid。一旦接收这个消息,服务器s删除与客户端c3相关联的所有状态,并将c3添加到黑名单中。结果,服务器不再为这个客户端维护任何状态,并且它将不再能够与服务器建立dots会话。它的会话建立请求将被dots服务器系统地拒绝。有利地,dots主客户端可以重复根据本发明的方法,直到解决所有异常。根据本发明的第四实施例,如有关图5所描述的,考虑客户端c1在接收到来自服务器s的处理其mreqt请求的拒绝时、检测管理规则之间的冲突的情况。有利地,在56c中接收的mrept响应可以在与其想要安装的规则rk1冲突的起点向其指示管理规则rk2的标识符rk2。在服务器s的拒绝消息中包含这个标识符对于发起冲突解决过程不是强制性的。替代地,在冲突的起点处客户端c1使用在服务器响应中发送的信息(例如,ip前缀)以识别规则rk2。假定客户端c1在发现22期间识别域中活动的其他客户端,但是它不知道有问题的管理规则rk2应与哪一个相关联,例如,因为它不具有关于其他客户端节点的此类信息。为了解决冲突,客户端节点c1必须识别安装了与标识符rk2相对应的规则rk2的域的客户端。如果客户端c1在发现期间未获得足够的信息,则客户端c1会请求其发现的域的客户端的协助。例如,它可能采用以下行为之一:·联系域的主客户端,如图8a所示;·以多播方式联系域中的所有客户端,如图8b所示;·使用先前步骤中发现的单播地址联系域的所有客户端,如图8c所示。关于图9a,客户端c1向域的客户端发送mreqid或“resource_bind_request(rk2)”确定请求,其指定与rk2属性有关的管理规则rk2。这个属性例如是ip前缀、域名、过滤规则等。可以在请求中指定一个或多个管理规则。区分两种情况:情况1:域中的至少一个客户端,例如客户端c2或主客户端cm,负责管理规则rk2或知道与这个规则相关联的客户端的身份。它以mrepd或“resource_bind_ack(ci)”消息作为响应,至少指示涉及ci的客户端的标识符ci。作为示例,客户端c1然后检查其维护的活动客户端的表,以推导与所获得的标识符ci相关联的ip地址。在下文中,假定客户端c3负责管理规则rk2。参照图9b详细描述了客户端c1和客户端c3之间的交换。为了识别安装了规则rk2的客户端域的客户端,客户端c1在81c1中传送用于识别安装了规则rk2的客户端的mreqid(rk)请求消息。客户端c3在82c3中接收到所述消息。它检查其表并确保在83c3中自己安装了这个资源rk2。它在84c3中用包含标识符c3的mrepid消息响应客户端c1。客户端c1在85c1中接收这个响应,并且通过在86c1中向其传送mreqa或“resource_adjust_ack(rk2)”资源调整请求,来使用所获得的识别信息以请求客户端c3的协助。它包括指定涉及rk的资源的至少一个rk2属性,以及其他信息,诸如与冲突性质有关的信息项、或用于修改规则范围的请求、或由客户端c1建议的冲突解决建议。一旦在87c3中接收到这个消息,客户端c3在88c3中执行本地检查,以确定解决冲突所需的动作。例如,客户端c3可以以非穷举的方式:·在89c3中使用mreqs(rk2)删除请求消息,要求服务器删除与规则rk2相对应的条目;·如果规则rk2是过滤规则,则使用mreqm(rk2)修改请求消息来要求服务器修改其范围。将注意,客户端节点c3可以决定遵循由客户端c1提出的解决提议,或者相反,决定另一动作。服务器s在90s中接收所述请求,执行通常的未示出的检查操作,并在91s中处理所述请求。它在92s中传送确认处理的mreps或mrepm响应。一旦在93c3中从服务器接收到确认,客户端c3在94c3中就用mrepa或“resource_adjust_ack()”消息响应客户端c1,以向其指示已采取了解决冲突的步骤。一旦客户端c1在95c1中接收到确认响应,便在96c1中将其mreqt处理请求重新发送给服务器,服务器这次将能够成功对其进行处理。情况2:如图8d所示,尽管客户端c1对mreqid消息的重复重发操作,但在预定时间段后未收到响应。缺少响应以及主客户端本身不知道与这个资源相关联的客户端这一事实表明:根据本发明的主客户端cm应能够检测并解决域的流量的管理中的异常。有利地,域的主客户端cm采取解决所述异常所必需的动作。例如,它要求服务器删除不与任何客户端相关联的资源rk2。作为变体,如前所述,如果它认为应维护所讨论的资源,则它请求将其迁移到域的客户端。如果资源被删除,客户端c1可以重新发送最初拒绝的其mreqt处理请求,这次服务器将接受所述请求。如果资源rk2已由主客户端cm重新分配给客户端域11的另一客户端,则它可以向域的其他客户端重复其mreqid识别请求,以识别新的负责实体,然后根据情况1进行。5.2结构最后,关于图10,给出了根据上述实施例之一的客户端节点和服务器的简化结构的描述。根据特定实施例,客户端节点包括:存储器101c,其包括缓冲存储器;处理单元102c,其例如配备有可编程计算机器或专用计算机器,例如处理器p,并且由计算机程序103c控制,实施根据本发明实施例的保护方法的步骤。在初始化时,计算机程序103c的代码指令例如在由处理单元102c的处理器执行之前加载到ram存储器中。处理单元102c的处理器根据计算机程序103c的指令,实现上述保护方法的步骤,以:-发现所述客户端域的至少一个其他客户端节点,称为已发现节点;-检测与所述客户端域相关联的流量的至少两个管理规则之间的冲突;和-解决所述检测到的冲突,包括:ο如果所述规则之一由所述已发现节点安装,则修改所述规则或与所述已发现节点相关联的状态;ο否则,从所述已发现节点获得用于识别安装了所述规则之一的所述客户端域的至少所述节点的信息项。根据特定实施例,服务器s或客户端节点c2、c3、cm包括:存储器111s,c,其包括缓冲存储器;处理单元112s,c,其配备有例如可编程计算机器或专用计算机器,例如处理器p,并且由计算机程序113s,c控制,实现根据本发明实施例的保护方法的步骤。在初始化时,计算机程序113s,c的代码指令例如在由处理单元112s的处理器执行之前加载到ram存储器中。处理单元112s,c的处理器根据计算机程序113s,c的指令,实现前述保护方法的步骤,以:-从所述客户端域的客户端节点接收发现请求;-获得记录,所述记录包括与称为注册节点的所述域的另一客户端节点相关联的至少一个状态;和-向客户端节点发送包括与所述注册节点有关的至少一个信息项的响应。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1