本发明涉及通信领域,尤其涉及一种域名系统(domainnamesystem,dns)安全防护方法、装置及dns。
背景技术:
dns为因特网上作为域名和ip地址相互映射的一个分布式数据库,能够使客户端更方便的访问互联网,而不用去记住能够被机器直接读取的网络协议(internetprotocol,ip)数串。通过主机名,最终得到该主机名对应的ip地址的过程叫做域名解析。dns协议运行在udp协议之上,使用端口号53。
随着互联网业务,尤其是移动互联网业务的迅猛发展,互联网已经深入到社会生活的方方面面,人们一分钟都离不开互联网。dns作为互联网的基础服务,几乎所有的应用都要依赖于dns,如果你控制了dns,你就控制了互联网。又因为dns暴露在公网中,极易成为不法分子的攻击目标,是互联网系统最大的软肋。所以,如何保证dns能够抵御各种安全风险,是迫不及待的严峻目标。
在现有技术中,dns安全防护体系过度依赖抗分布式拒绝服务(distributeddenialofservice,ddos)系统,在识别到攻击时(一般通过设置总体流量阈值来确定),使用抗ddos系统在dns前端对攻击流量进行识别和清洗,而未识别到攻击时(攻击流量未超过设置的阈值),则放任攻击流量进入dns。为了减少维护工作量,一般没有针对路由器、防火墙、dns主机等设备进行精细化的安全加固,或者加固措施不完整,在网络层面把dns完全暴露在互联网中。
在现有技术中,这种基于抗ddos系统的单一防范方法,可能会存在以下问题:
在攻击流量未超过设置的阈值时,这部分攻击流量进入dns,会对dns 的正常运行带来不利影响,且会影响运营商对dns正常业务流量的判断,进而影响扩容。
抗ddos系统作为一种干扰设备,当攻击发生时,其对攻击流量进行清洗的同时,会对部分正常流量造成破坏,影响到正常业务。事实证明,抗ddos系统在流量清洗过程中,对用户上网业务的影响,比较明显;
抗ddos系统主要关注的是流量总量,对dns业务层面的攻击(如具备很大杀伤力的递归攻击)无能为力。当系统遭受递归攻击时(攻击流量并未超过设置的阈值),抗ddos系统并未监测到,而dns业务可能已经受到影响。
技术实现要素:
有鉴于此,本发明实施例期望提供一种dns安全防护方法、装置及dns,在至少一个指定节点上设置安全防护策略,至少部分解决现有技术中dns采用单一抗ddos防护,导致的安全防护性差的问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例第一方面提供一种域名系统dns安全防护方法,所述方法包括:
在dns的至少一个指定节点上设置安全防护策略;
基于所述安全防护策略,进行攻击识别和/或过滤。
基于上述方案,所述在dns的至少一个指定节点上设置安全防护策略,包括:
在外网出入节点上设置第一防护策略;
所述基于所述安全防护策略,进行攻击识别和/或过滤,包括:
基于所述第一防护策略,允许dns服务器响应携带有合法外网网络协议ip地址的dns请求,并禁止dns服务器响应携带有非法外网ip地址的dns请求;其中,所述合法ip地址为预先通过安全确认的外网ip地址。
基于上述方案,所述在dns的至少一个指定节点上设置安全防护策略,包括:
在用户接入节点上设置第二防护策略;
所述基于所述安全防护策略,进行攻击识别和/或过滤,包括:
基于所述第二防护策略,识别并过滤基于位置源地址发起的dns服务器的访问请求。
基于上述方案,所述在dns的至少一个指定节点上设置安全防护策略,包括:
在dns防火墙上配置第三防护策略;
所述基于所述安全防护策略,进行攻击识别和/或过滤,包括:
基于所述第三防护策略,允许基于合法内网ip地址发起的dns服务器的访问,并禁止基于非法内网ip地址发起的dns服务器的访问;
其中,所述合法内网ip地址为预先通过安全确认的内网ip地址。
基于上述方案,所述在dns的至少一个指定节点上设置安全防护策略,包括:
在dns服务器上设置第四防护策略;
所述基于所述安全防护策略,进行攻击识别和/或过滤,包括:
基于所述第四防护策略,确定递归解析次数超过预设次数的dns请求为攻击请求。
基于上述方案,所述在dns的至少一个指定节点上设置安全防护策略,包括:
在dns抗分布式拒绝服务抗ddos节点上,设置第五防护策略;
所述基于所述安全防护策略,进行攻击识别和/或过滤,包括:
基于所述第五防护策略中的流量阈值,确定当前时段是否为攻击时段;
若为攻击时段启用所述抗ddos节点的抗ddos防护;
若为非攻击时段停止所述抗ddos节点的抗ddos防护。
基于上述方案,所述方法还包括:
将dns服务器进行物理分离,形成缓存服务器和递归服务器;其中,所述缓存服务递归服务器相连;
所述缓存服务器接收dns请求,基于dns请求查询本地数据库,获取请求的ip地址;
若所述缓存服务器查询到请求的ip地址,将查询到的ip地址返回给客户端;
若所述缓存服务器未查询到请求的ip地址,将dns请求发送给所述递归服务器并从所述递归服务器接收解析结果,并将所述解析结果返回给客户端。
基于上述方案,所述方法还包括:
所述缓存服务器和所述递归服务器之间设置有中间节点;
所述在dns的至少一个指定节点上设置安全防护策略,包括:
在所述中间节点上设置第六防护策略;
所述基于所述安全防护策略,进行攻击识别和/或过滤,包括:
基于所述第六防护策略及所述中间节点的转发流量,确定出在指定时长内所述缓存服务器发送给所述递归服务器的dns请求的流量大于预设值时,触发异常机制;
基于所述异常机制在确定出为攻击时,停止向所述递归服务器转发对应的dns请求。
本发明实施例第二方面提供一种域名系统dns安全防护装置,所述装置包括:
配置单元,用于在dns的至少一个指定节点上设置安全防护策略;
防护单元,用于基于所述安全防护策略,进行攻击识别和/或过滤。
基于上述方案,所述配置单元,具体用于在外网出入节点上设置第一防护策略;
所述防护单元,具体用于基于所述第一防护策略,允许dns服务器响应携带有合法外网网络协议ip地址的dns请求,并禁止dns服务器响应携带有非法外网ip地址的dns请求;其中,所述合法ip地址为预先通过安全确认的外网ip地址。
基于上述方案,所述配置单元,具体用于在用户接入节点上设置第二防护 策略;
所述防护单元,具体用于基于所述第二防护策略,识别并过滤基于位置源地址发起的dns服务器的访问请求。
基于上述方案,所述配置单元,具体用于在dns防火墙上配置第三防护策略;
所述防护单元,具体用于基于所述第三防护策略,允许基于合法内网ip地址发起的dns服务器的访问,并禁止基于非法内网ip地址发起的dns服务器的访问;
其中,所述合法内网ip地址为预先通过安全确认的内网ip地址。
基于上述方案,所述配置单元,具体用于在dns服务器上设置第四防护策略;
所述防护单元,具体用于基于所述第四防护策略,确定递归解析次数超过预设次数的dns请求为攻击请求。
基于上述方案,所述配置单元,具体用于在dns抗分布式拒绝服务抗ddos节点上,设置第五防护策略;
所述防护单元,具体用于基于所述第五防护策略中的流量阈值,确定当前时段是否为攻击时段;若为攻击时段启用所述抗ddos节点的抗ddos防护;若为非攻击时段停止所述抗ddos节点的抗ddos防护。
基于上述方案,所述配置单元,还用于将dns服务器进行物理分离,形成缓存服务器和递归服务器;其中,所述缓存服务递归服务器相连;
其中,所述缓存服务器,用于接收dns请求,基于dns请求查询本地数据库,获取请求的ip地址;若所述缓存服务器查询到请求的ip地址,将查询到的ip地址返回给客户端;若所述缓存服务器未查询到请求的ip地址,将dns请求发送给所述递归服务器并从所述递归服务器接收解析结果,并将所述解析结果返回给客户端。
基于上述方案,所述配置单元,还用于在所述缓存服务器和所述递归服务器之间设置有中间节点,及在所述中间节点上设置第六防护策略;
所述防护单元,还用于基于所述第六防护策略及所述中间节点的转发流量,确定出在指定时长内所述缓存服务器发送给所述递归服务器的dns请求的流量大于预设值时,触发异常机制;基于所述异常机制在确定出为攻击时,停止向所述递归服务器转发对应的dns请求。
本发明实施例第三方面提供一种域名系统,所述dns包括dns服务器:
dns服务器包括缓存服务器和递归服务器;
所述缓存服务器,用于接收dns请求,基于dns请求查询本地数据库,获取请求的ip地址;若所述缓存服务器查询到请求的ip地址,将查询到的ip地址返回给客户端;若所述缓存服务器未查询到请求的ip地址,将dns请求发送给所述递归服务器并从所述递归服务器接收解析结果,并将所述解析结果返回给客户端;
所述递归服务器,用于从缓存服务器接收dns请求进行域名解析。
基于上述方案,所述dns还包括位于所述缓存服务器和所述递归服务器之间的中间节点;
所述中间节点用于向所述递归服务器转发所述缓存服务器发送的dns请求,并基于配置在所述中间节点上的防护策略及所述中间节点的转发流量,确定出在指定时长内所述缓存服务器发送给所述递归服务器的dns请求的流量大于预设值时,触发异常机制;基于所述异常机制在确定出为攻击时,停止向所述递归服务器转发对应的dns请求。本发明实施例提供的dns安全防护方法、装置及dns,在dns的一个或多个指定节点上都设置安全防护策略,这样就利用这些指定节点进行安全防护,不再依靠单一的抗ddos防护,导致的安全性差的问题;于此同时还可以避免抗ddos防护导致的对正常dns请求的误杀,提升dns请求的响应速率和效率。
附图说明
图1为本发明实施例提供的一种dns安全防护方法的流程示意图;
图2为本发明实施例提供的另一种dns安全防护方法的流程示意图;
图3为本发明实施例提供的一种dns安全防护装置的结构示意图;
图4为本发明实施例提供的第一种dns的结构示意图;
图5为本发明实施例提供的第二种dns的结构示意图;
图6为本发明实施例提供的第三种dns的结构示意图。
具体实施方式
以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。
实施例一:
如图1所示,本实施例提供一种域名系统dns安全防护方法,所述方法包括:
步骤s110:在dns的至少一个指定节点上设置安全防护策略;
步骤s120:基于所述安全防护策略,进行攻击识别和/或过滤。
本实施例所述dns的至少一个指定节点,这里的指定节点为dns的组成节点。dns通常包括dns服务器、接入所述dns服务器的网络出入节点,用户接入节点、防火墙等节点。
在本实施例在dns的至少一个指定节点设置对应的安全防护策略,这样该指定节点将基于安全防护策略,进行攻击识别和/或攻击过滤,以提升安全性。例如在2个或2个以上的节点上设置安全防护策略,不仅可以有专门的攻击检测节点来检测和进行攻击防护,也可以复用dns中的其他节点,进行一层或多层的攻击识别和过滤,提高防护能力。
在具体实现过程中,所述dns包括网络出入节点、dns服务器、抗抗ddos节点、dns防火墙及用户接入节点;在本实施例中所述方法可包括在上述指定节点上均设置对应的安全防护策略,利用这些节点对攻击进行识别或过滤操作,实现dns组成节点的多层安全防护,提升dns的安全性,同时避免过度依赖ddos导致的对合法流量的误杀,提升dns请求的响应效果。当然若通过步骤s120,确定出一个dns请求为网络攻击或可能导致dns异常或故障的攻 击请求,就丢弃该dns请求即不响应该dns请求,避免dns因响应导致的异常。
以下分别介绍上述指定节点中安全防护的实现:
基于外网出入节点的安全防护,所述步骤s110可包括:在外网出入节点上设置第一防护策略;所述步骤s120可包括:基于所述第一防护策略,允许dns服务器响应携带有合法外网网络协议ip地址的dns请求,并禁止dns服务器响应携带有非法外网ip地址的dns请求;其中,所述合法ip地址为预先通过安全确认的外网ip地址。
本实施例中所述外网出入节点为dns与互联网连接的外部接口,能够用于从互联网接收外网信息,也可以将内网信息转发到dns所在的局域网之外。通常这里的外网出入节点对应着dns所在局域网连接的路由器等网关设备。本实施例中携带在dns请求中的外网ip地址可包括源地址和目标地址。这里的源地址可包括发送dns请求的地址,目标地址为dns请求的访问设备的地址。
在本实施例中在外网出入节点上设置第一防护策略,这里的第一防护策略又可称为外网防护策略,具体可包括在外网出入节点上配置访问控制列表,在该访问控制列表中设置有所述合法外网ip地址;未设置在所述访问控制列表均可为所述非法外网ip地址。这样在步骤s120中,当接收到一个dns请求之后,提取dns请求的数据包的来源IP地址,通过ip地址匹配,确定是合法外网ip地址,还是合法内网ip地址,从而避免识别出会导致攻击的dns请求。本实施例中提到的攻击可为ddos攻击等各种攻击dns服务器的网络攻击。当一个dns请求中携带有多个外网ip地址时,一般情况下仅在dns请求中所有外网ip地址都是合法外网ip地址时,才允许dns服务器响应所述dns请求。这里的允许所述dns服务器响应dns请求包括:将dns请求发送给dns服务器,这样dns服务器就能够解析并响应dns请求。若限制或禁止dns请求的响应,则包括丢弃对应的dns请求,这样dns服务器将接收不到该dns请求,显然这样dns服务器无法响应对应的dns请求。
基于用户接入节点的安全防护,所述步骤s110还包括:在用户接入节点上 设置第二防护策略;所述步骤s120可包括:基于所述第二防护策略,识别并过滤基于位置源地址发起的dns服务器的访问请求。
在本实施例中所述用户接入节点为接入客户端的节点,这里的客户端可为各种电子设备,如笔记本电脑或台式电脑或手机等各种电子设备。
在用户接入节点上设置了第二防护策略,这里的第二防护策略可包括单播反向路由查找(unicastreversepathforwarding,urpf)策略。在步骤s120中可基于第二防护策略,至少部分过滤掉通过伪造的源地址发起的攻击,以提高dns的安全。
基于dns防火墙的安全防护,所述步骤s110可包括:在dns防火墙上配置第三防护策略;所述步骤s120可包括:基于所述第三防护策略,允许基于合法内网ip地址发起的dns服务器的访问,并禁止基于非法内网ip地址发起的dns服务器的访问;其中,所述合法内网ip地址为预先通过安全确认的内网ip地址。
在本实施例中所述dns防火墙上也增设了安全防护策略,在本实施例中设置在dns防火墙上的安全防护策略称为第三防护策略。所述第三防护策略可分为信任策略和非信任策略。在本实施例中将允许基于合法内网ip地址发起的dns服务器的访问请求,禁止非法内网ip地址发起的dns服务器的访问请求。这里的合法内网ip地址可包括各种内网合法ip地址以及dns的网内维护终端ip地址等,对合法内网ip地址以外的内网ip地址均可视为非法内网ip地址。在步骤s120中将通过地址匹配的方式,过滤掉基于非法内网ip地址发起的攻击,提升dns的安全性。
基于dns服务器的安全防护,在本实施例中dns服务器本身也能进行安全防护,具体如,所述步骤s110可包括:在dns服务器上设置第四防护策略;所述步骤s120可包括:基于所述第四防护策略,确定递归解析次数超过预设次数的dns请求为攻击请求。
若非法设备对dns发起攻击,可能是使dns服务器无限次的进行dns递归解析,导致占用dns服务器的大量资源,进而导致dns负荷过重,对正常 dns请求的响应速率变慢,甚至出现dns服务器瘫痪的现象。在本实施例中,dns服务器会自行限制递归解析的最大次数,这里的最大次数即为所述预设次数,若对一个dns请求的递归解析次数超过预设次数,就认为该dns请求为攻击请求,后续将丢弃该请求,对该请求不做响应处理以避免dns攻击,以避免造成正常dns请求无法得到响应或无法及时得到响应的问题。
基于抗ddos节点的安全防护,所述步骤s110可包括:在dns抗分布式拒绝服务抗ddos节点上,设置第五防护策略;所述步骤s120可包括:基于所述第五防护策略中的流量阈值,确定当前时段是否为攻击时段;若为攻击时段启用所述抗ddos节点的抗ddos防护;
若为非攻击时段停止所述抗ddos节点的抗ddos防护。
在本实施例中所述抗ddos节点为前述的ddos系统中能够进行抗ddos攻击的网络节点。在本实施例中在抗ddos节点上设置第五防护策略,流量阈值确定当前时刻是否遭受到网络攻击的攻击时段,若当前时段为攻击时段,启动抗ddos节点的抗ddos防护,若为非攻击时段,停止抗ddos防护。这样可以减少抗ddos节点在非攻击时段,对合法流量的拦截,导致部分合法的dns请求被误杀无法得到响应的问题。同时利用流量阈值的确定,确定攻击时段时,进行抗ddos防护。这里的抗ddos防护包括基于特征字对流量进行清洗处理等。在本实施例中还可包括在确定当前时段为攻击时段时,设置清洗阈值,利用清洗阈值对流量进行清洗。为了提升清洗效果,可以将清洗阈值设置的小于所述流量阈值。显然本实施例兼容现有技术中的抗ddos防护,首先识别是否遭受攻击,在遭受攻击时进行抗ddos防护,避免对正常流量的误杀,在遭受攻击时进行清洗,保护dns的安全性。
作为本实施例的进一步改进,如图2所示,所述方法还包括:
步骤s210:将dns服务器进行物理分离,形成缓存服务器和递归服务器;其中,所述缓存服务递归服务器相连;
步骤s220:所述缓存服务器接收dns请求,基于dns请求查询本地数据库,获取请求的ip地址;
步骤s230:若所述缓存服务器查询到请求的ip地址,将查询到的ip地址返回给客户端;
步骤s240:若所述缓存服务器未查询到请求的ip地址,将dns请求发送给所述递归服务器并从所述递归服务器接收解析结果,并将所述解析结果返回给客户端。
在本实施例中所述方法包括将dns服务器分为缓存服务器和递归服务器。缓存服务器存储有已经解析好的ip地址,递归服务器通过网络查询等解析递归对未解析的ip地址进行解析。在本实施例中缓存服务器可连接外网出入节点和用户接入节点的接口相连,同时与递归服务器相连。接收到dns请求时,先转发给缓存服务器,缓存服务器对自身的本地数据库进行查询,确定是否有对应的ip地址,若有对应域名的ip地址,显然就能够直接响应dns请求,将对应的ip地址返回给客户端即可,这个过程中递归服务器不参与域名解析。若缓存服务器在其自身的本地数据库中未查询到对应的ip地址时,就将dns请求通过与递归服务器的连接,发送给递归服务器,由递归服务器进行递归解析,在递归服务器获得解析结果时,返回给缓存服务器,缓存服务器一方面缓存对应的域名和ip地址,同时转发给客户端,实现dns请求的响应和缓存。这样的话,若出现网络攻击,网络攻击通常攻击的是递归服务器,但是由于递归服务器和缓存服务器的物理分离,即便递归服务器出现故障,缓存服务器还能支撑至少一部分dns请求的响应,避免dns服务器彻底宕机,从而提升dns服务器抗攻击能力。
进一步地,基于上述实施例中,所述方法还包括:所述缓存服务器和所述递归服务器之间设置有中间节点。这里的中间节点可为交换机等。在本实施例中缓存服务器和递归服务器之间没有通过传输线路直接连接,而是通过交换机等中间设备连接。在本实施例中,所述步骤s110可包括:在所述中间节点上设置第六防护策略;所述步骤s120可包括:基于所述第六防护策略及所述中间节点的转发流量,确定出在指定时长内所述缓存服务器发送给所述递归服务器的dns请求的流量大于预设值时,触发异常机制;基于所述异常机制在确定出为 攻击时,停止向所述递归服务器转发对应的dns请求。
在本实施例中若递归服务器的接收到缓存服务器的dns请求的流量出现异常是,例如大于预设值时,有可能出现了网络攻击,这个时候出发异常机制。这里的异常机制包括:向指定的设备输出告警信息,告知维护工作人员可能出现网络攻击;在接收基于告警信息形成的反馈,基于反馈确定是否为网络攻击,若确实是网络攻击,则停止向递归服务器发送对应的dns请求,避免造成递归服务器的故障。当然所述异常机制还可包括暂停对应的dns请求的解析。这里的异常机制还包括:对发起域名解析的域名进行异常解析,确定是否为网络攻击。例如,若为攻击性的dns请求,可能携带的域名的后缀是有问题,将其与预设的异常后缀进行匹配,确定是否为攻击dns请求,从而实现对攻击的识别和/或过滤,提升dns的安全性。
值得注意的是在本实施例中所述转发流量等于缓存服务器转发给中间节点的流量,即在对应的数据流量未进入到递归服务器之间,进行攻击的识别和过滤,减少使攻击流入到递归服务器的概率,提升递归服务器的安全性。
实施例二:
如图3所示,本实施例提供一种域名系统dns安全防护装置,所述装置包括:
配置单元110,用于在dns的至少一个指定节点上设置安全防护策略;
防护单元120,用于基于所述安全防护策略,进行攻击识别和/或过滤。
本实施例中所述装置可为dns的一个能够对dns中各个节点进行信息配置控制这些节点进行安全防护的装置。
在本实施例中所述配置单元110及所述防护单元120均可对应于处理器或处理电路,所述处理可包括中央处理器、数字信号处理器、微处理器或可编程阵列等信息处理结构。所述处理电路可包括专用集成电路等。所述配置单元110和所述防护单元120可分别对应不同的处理器或处理电路,也可对应于相同的处理器或处理电路;当对应于相同的处理器或处理电路时,所述处理器或处理电路采用时分复用或并发线程的方式分别完成所述配置单元110和所述防护单 元120的功能。
在本实施例中所述配置单元110还可对应于存储介质和交互接口,这里的交互接口可包括人机交互接口,也可以包括与其他设备的交互接口,接收所述安全防护策略的内容。存储介质存储所述安全防护策略。
在本实施例中所述装置,通过在至少一个指定节点上的安全防护策略的设置,能够提升dns的安全性。以下分别介绍本装置利用配置单元110和防护单元120进行dns安全防护的几个示例。
示例一,所述配置单元110,具体用于在外网出入节点上设置第一防护策略;所述防护单元120,具体用于基于所述第一防护策略,允许dns服务器响应携带有合法外网网络协议ip地址的dns请求,并禁止dns服务器响应携带有非法外网ip地址的dns请求;其中,所述合法ip地址为预先通过安全确认的外网ip地址。在本实施例中通过在外网出入节点上设置防护策略,利用外网出入节点过滤或识别来自外网的攻击。
示例二,所述配置单元110,具体用于在用户接入节点上设置第二防护策略;所述防护单元120,具体用于基于所述第二防护策略,识别并过滤基于位置源地址发起的dns服务器的访问请求。在本实施例中通过在用户接入节点上设置防护策略,利用用户接入节点识别和/或过滤用户接入侧的网络攻击。
示例三,所述配置单元110,具体用于在dns防火墙上配置第三防护策略;所述防护单元120,具体用于基于所述第三防护策略,允许基于合法内网ip地址发起的dns服务器的访问,并禁止基于非法内网ip地址发起的dns服务器的访问;其中,所述合法内网ip地址为预先通过安全确认的内网ip地址。在本示例中,通过在dns防火墙上设置防护策略,识别和/或过滤来自内网的攻击。这里的内网的攻击通常是dns所在局域网内的设备,被写入病毒或木马或被远程操控,从内网发起的网络攻击。
示例四,所述配置单元110,具体用于在dns服务器上设置第四防护策略;所述防护单元120,具体用于基于所述第四防护策略,确定递归解析次数超过预设次数的dns请求为攻击请求。本示例中通过配置单元110在dns服务器 上配置第四防护策略,减少dns服务器上因过量的解析递归导致的攻击。
示例五,所述配置单元110,具体用于在dns抗分布式拒绝服务抗ddos节点上,设置第五防护策略;所述防护单元120,具体用于基于所述第五防护策略中的流量阈值,确定当前时段是否为攻击时段;若为攻击时段启用所述抗ddos节点的抗ddos防护;若为非攻击时段停止所述抗ddos节点的抗ddos防护。在本实施例中通过配置单元110在抗ddos节点上设置的防护策略,ddos不再在全时段进行抗ddos防护,避免对正常流量的误杀,在攻击时段进行抗ddos防护,以确保dns的安全性。
示例六,所述配置单元110,还用于将dns服务器进行物理分离,形成缓存服务器和递归服务器;其中,所述缓存服务递归服务器相连;其中,所述缓存服务器,用于接收dns请求,基于dns请求查询本地数据库,获取请求的ip地址;若所述缓存服务器查询到请求的ip地址,将查询到的ip地址返回给客户端;若所述缓存服务器未查询到请求的ip地址,将dns请求发送给所述递归服务器并从所述递归服务器接收解析结果,并将所述解析结果返回给客户端。
在本实施例中将dns中的dns进行物理分离配置,即缓存服务器和递归服务器对应不同的物理机,这样即便递归服务器故障,缓存服务器还至少能够响应部分dns请求,提升了dns的抗攻击能力。
示例七,所述配置单元110,还用于在所述缓存服务器和所述递归服务器之间设置有中间节点,及在所述中间节点上设置第六防护策略;所述防护单元120,还用于基于所述第六防护策略及所述中间节点的转发流量,确定出在指定时长内所述缓存服务器发送给所述递归服务器的dns请求的流量大于预设值时,触发异常机制;基于所述异常机制在确定出为攻击时,停止向所述递归服务器转发对应的dns请求。在本实施例中为了更加彻底的隔离对递归服务器的攻击,利用中间节点作为缓存服务器和递归服务器之间的中间节点。这里的中间节点可为交换机等结构。能够通过对交换机的中间节点的转发流量的监控,在确定出异常时,停止向递归服务器发送dns请求,从而避免递归服务器被攻 击,再次提升了dns的安全防护能力。
实施例三:
如图4所示,本实施例提供一种域名系统,所述dns包括dns服务器:
dns服务器包括缓存服务器210和递归服务器220;
所述缓存服务器210,用于接收dns请求,基于dns请求查询本地数据库,获取请求的ip地址;若所述缓存服务器210查询到请求的ip地址,将查询到的ip地址返回给客户端;若所述缓存服务器210未查询到请求的ip地址,将dns请求发送给所述递归服务器220并从所述递归服务器220接收解析结果,并将所述解析结果返回给客户端;
所述递归服务器220,用于从缓存服务器接收dns请求进行域名解析。
在本实施例中所述dns服务器分为了缓存服务器210和递归服务器220,且这两种服务器是物理隔离的,即缓存服务器和递归服务器对应不同的物理机,这样的话,即便缓存服务器和递归服务器的其中一个出现故障,另一个还能正常工作,以确保至少可以响应部分dns请求,提升dns的抗攻击能力。
如图5所示,所述dns还包括位于所述缓存服务器210和所述递归服务器220之间的中间节点230;所述中间节点230用于向所述递归服务器220转发所述缓存服务器210发送的dns请求,并基于配置在所述中间节点230上的防护策略及所述中间节点230的转发流量,确定出在指定时长内所述缓存服务器210发送给所述递归服务器220的dns请求的流量大于预设值时,触发异常机制;基于所述异常机制在确定出为攻击时,停止向所述递归服务器220转发对应的dns请求。
本实施例所述中间节点可为交换机等连接所述缓存服务器210和递归服务器220的中间设备。所述缓存服务器210和所述递归服务器220分别连接在中间节点230的不同接口,利用中间节点230监控缓存服务器210在指定时长内的转发流量,当转发流量大于预设值时,有非常大的概率出现了攻击,这个时候中间节点将触发异常机制。这里的异常机制可包括告警机制及异常对应机制等,通过异常机制可以至少部分拦截住遗漏到递归服务器220的攻击,降低递 归服务器220被攻击的概率,提升递归服务器220的防攻击能力。
以下结合上述任意一个实施例提供一个具体示例:
图6所示的为本示例提供的dns,包括外网出入节点、地市核心节点、用户接入节点、抗ddos节点、dns防火墙、中间节点、缓存服务器和递归服务器。外网接入节点一侧连接外网(例如,互联网),一侧与地市核心节点连接。用户接入节点和抗ddos节点连接在地市核心节点上。地市核心节点还与dns防火墙相连。dns防火墙与中间节点相连,中间节点分别与缓存服务器和递归服务器相连。
在本示例中分别在外网接入节点、用户接入节点、抗ddos节点、dns防火墙及中间节点上设置对应的安全防护策略,这些节点基于设置在其内部的安全防护策略,进行dns安全防护。
以下针对节点的安全防护进行详细说明。
(1)外网出入节点
外网出入节点是外网流量进入网内的唯一入口,其在安全防护方面有无可替代的作用。在外网出入节点配置基于dns业务端口的防护策略,可以减少从外网网络发起攻击对dns的损害,在进行在外网出入节点的第一防护策略配置时,可以基于下表进行。
(2)用户接入节点
通过外网出入节点把有效攻击范围控制在网内,而作为用户接入的边缘的用户接入节点,可在用户接入节点配置urpf策略,可以禁止网内设备通过伪造源地址进行ddos攻击,也使对攻击者进行定位。在进行在用户接入节点的第二防护策略配置时,可以基于下表进行。
(3)dns防火墙
dns防火墙严格执行最小端口开放原则,并配置严格的白名单,仅允许网内合法ip对dns缓存服务器服务ip的访问(udp53端口+icmp),以及网内维护终端ip对dns服务器实际管理ip的访问(tcp22)。对dns防火墙配置时,可以参见下表。
(4)dns服务器
dns业务可以简单分为两个方面,一方面,dns服务器向互联网进行递归解析并把解析结果缓存在本机,另一方面,dns服务器在接受用户请求时将缓存中的结果返回给用户作为应答。从应用角度来看,前者属于控制平面,后者属于转发平面,当前者出现问题时,对用户的感知影响较不明显,而后者出现问题时,应用感知影响明显。所以,把dns服务器逻辑架构分离,转发层面与控制层面物理隔离,提升系统健壮性,即提高系统对抗ddos攻击的能力。同时,在控制层面部署随机域名监控与清洗策略,抵御业务层面的递归攻击:
这里的随机域名为缓存服务器中没有查询到,同时在往前追溯一段时间,也没有相关缓存记录的域名,定义为随机域名。这里的一段时间可为5分钟或其他时间。当然这里的随机域名也可以简单的为在本缓存服务器中没有查询到的域名。
(5)抗ddos节点
经过前述节点的防护,dns仍然面临一种短期内无法规避的风险,即攻击者“通过控制大量网内用户作为攻击发起者而发起与正常用户行为几乎一致的解析请求”这种高端的攻击行为,这种情况必须依靠抗ddos节点的抗ddos防护了。但抗ddos防护是一把双刃剑,其对攻击流量的清洗是有效的,但其 对正常流量的误杀,也是无法避免的。本提案将抗ddos系统流量分析与流量清洗功能分开,建立“非攻击时段绕开流量清洗,攻击时段经过严格的流量清洗”的非实时牵引机制,对抗“通过控制大量网内用户作为攻击发起者而发起与正常用户行为几乎一致的解析请求”这种高端的攻击行为,构建dns最后一道安全防护体系:
(6)中间节点
递归攻击相对于流量型攻击,其杀伤力要大好几倍。从近期攻击情况来看,递归攻击已经成为常态化。抗ddos系统与dns服务器本身在识别递归攻击方面存在致命缺陷,两者均使用限速的方式,难免对正常业务造成误杀。所以,如何在第一时间发现递归攻击,通过手工配置精确策略,完全消除递归攻击,并对业务没有任何影响,显得至关重要:
总之本示例中,首先,所述dns利用各层节点上配置的安全防护策略,进行安全防护,相对于单一依靠抗ddos系统的防护效果有了非常明显的提升。其次,通过将dns服务器隔离成缓存服务器和递归服务器,能够提升dns服务器的抗攻击能力。通过中间节点的设置及异常机制的应用,能够进行及时的告警和攻击防范。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如, 所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
原文链接:https://www.xjishu.com/zhuanli/62/201610008339.html
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/23371