欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

如何从运营角度保障DNS安全

程序员文章站 2024-01-26 13:32:28
如何从不同层面综合运营,保证DNS服务安全高效的运行?DNSPod工程师认为,主要应该从状态监控、信息告警、事件处理、数据记录、综合运营数据分析这五个方面入手。... 15-09-25...

众所周知,dns作为一项互联网基础业务,对整个互联网的正常运行起着至关重要的作用。当然,别有用心的攻击者也同样明白这个道理,总是希望通过各种各样的攻击手段破坏dns解析服务的正常开展。

如何从不同层面综合运营,保证dns服务安全高效的运行,一直以来都是dnspod每一位工程师不断思索的问题。我们认为,主要从应该从以下几个方面入手:

状态监控

dns服务是一项实时性要求非常高的服务,准确全面的监控系统是整个dns服务的运营基础。为此,我们设计了一整套的监控体系,包括网络流量监控、服务器内核监控模块、解析监控、服务器集群监控等等。从不同层面不同角度对dns解析服务进行监控,保证工程师能第一时间了解其运行状态。在技术选型方面,我们一方面采用比较成熟的基于snmp的nagios/cacti监控,一方面针对dns的特点开发与解析服务紧密结合的监控模块,满足不同监控对象的需要。

信息告警

dns服务运行过程中总会有各种各样的情况发生,同一个事件需要通知到不同的负责人,每个人需要知道的信息也不尽相同。例如在捕获到域名攻击事件后,会马上向运维工程师发出告警,提示各种层面的流量数据。向技术支持人员发送攻击情况概要和受影响的程度,以便用户询问情况时能得到最新信息。针对vip客户,还会向相关的销售人员发送攻击相关数据和处理情况,由销售人员直接与客户取得联系。特别重大的攻击事件,还会向市场人员、开发人员、技术负责人甚至总经理发送,保证信息及时传递,事件能够及时处理。为了满足多样化的信息发送需求,我们建立了专门的通知系统平台,提供了一致的api接口供各个程序调用,能够提供邮件、微信、短信、语音等多种通知方式。

事件处理

为了及时响应并处理各种事件,为用户提供持续的优质服务,我们实行24小时值班制度。任何时间都会有经验丰富的技术人员准备应对突发情况。同时,为了进一步加强响应效率,自动化运维处理必不可少。例如,我们对dns攻击做了长期的研究,开发了域名封禁/解封、防护算法、流量引导等多种防护手段,根据dns攻击的实际情况自动开启,能在短时间内化解大流量的dns攻击,将影响减到最小。

数据记录

当然,事件处理完成并不代表着结束,还需要做好各种记录,保证可以回顾分析。基本的数据包括交换机流量数据、网卡抓包数据、事件处理记录等等,我们对这些数据都做了完整的记录、备份、整理、归档,这样不但任何问题都有据可查,也为进一步的统计分析做好了准备。因为数据量大、种类多,我们比较多的使用了redis和mongodb,其存nosql的特点特别适用于这个情况。

综合运营数据分析

除了短时间的针对单个事件的应对策略,运营更需要长期的数据记录与分析。我们每天的运营情况都会以报表的形式呈现出来,对域名解析量、用户数量、攻击情况等数据更有长时间的追踪和趋势分析。如根据攻击趋势的分析加强防攻击投入,根据用户转入/转出情况联系销售人员跟进。这里我们使用了graphite用于绘图,d3.js在绘制报表方面也有很好的表现。

总的来说,dns服务有其复杂性和特殊性,dnspod长期专注于dns解析业务,在此领域有丰富的经验和深厚的积累,希望上述分享能给每一位关心dns领域的朋友带来益处,共同创造更美好的互联网环境。