DNS系统面临的主要风险
目前,DNS面临的安全问题主要可以分为三类:DNS欺骗攻击、拒绝服务攻击、系统漏洞,下文将分别进行介绍。
DNS欺骗攻击
当一个DNS服务器遭到欺骗攻击,使用了来自一个恶意域名信息记录的,将会产生许多安全问题。常见的DNS欺骗方式有以下种:缓存投毒(cache poison或缓存污染)、域名劫持、IP欺骗(IP Spoofing)、不安全的动态更新。
拒绝服务攻击
一旦DNS系统遭受拒绝服务攻击,其服务将停止,会导致互联网将处于瘫痪状态。针对DNS的拒绝服务攻击主要有:通用型DDoS攻击、、DNS Query Flood攻击(常见的Query Flood攻击有IP Spoofing型攻击、Random Qname型攻击、滥用型攻击等);利用DNS的拒绝服务攻击主要有反射DDoS攻击(DrDDoS)、放大攻击等。
系统与应用漏洞
BIND已经是DNS服务器的事实标准,但是BIND自身存在安全漏洞,如远程缓存破坏漏洞、可预测DNS查询ID漏洞、验证远程拒绝服务漏洞、上下文远程拒绝服务漏洞等。
三. DNS系统安全防护解决方案
3.1 DNS系统安全目标
对运营商而言,DNS系统的安全目标是:第一,保障DNS系统自身的安全,第二,DNS服务的高可靠性、可用性、连续性,第三,为其他相关业务系统提供支持。也可以说,对运营商而言,DNS系统的安全目标就是为用户提供可信、安全、可靠的DNS服务。
3.2 DNS安全体系模型
一个完备的DNS系统保障体系,应该包括四个部分(策略体系、管理体系、技术体系、运作体系)、四个层次(物理安全、网络安全、主机安全、应用及数据安全)和三个阶段(安全评估、安全防护、安全运维),它们共同构成一个有机的整体,协同作用,使DNS系统可以提供高可靠性、高可用性、高连续性的DNS服务,如图3.1所示。
图 3.1 DNS安全体系模型
3.3 DNS安全整体解决方案框架
从两个维度来构建DNS整体解决方案,如图3.2所示:
图 3.2 DNS安全解决方案
时间维度
在安全评估阶段,DNS安全体系的建设内容主要是:依据风险管理思想,对DNS系统进行全面的安全评估,提出风险处置计划。
在安全防护阶段,构建DNS安全体系的主要工作是:对DNS系统进行全面的实时安全防护,保障业务的可用性。
在安全运维阶段,主要是从安全角度,完善DNS系统运维工作,依托技术从管理上保障DNS业务的正常运行。对于电信运营商而言,DNS系统的安全运维工作主要包括以下三个方面:(1)安全运维队伍:如何建立一个高效、具备解决问题能力的安全运维队伍;(2) 安全运维流程:如何建立适合核心业务需求的安全事件处理机制、流程;(3) 安全运维平台:依靠何种手段将众多的安全基础设施管理起来。
构成维度
主要从产品和服务两个方面,来构成DNS安全解决方案,产品主要包括安全基线检查系统、DNS专项防护系统、流量清洗系统;服务主要包括针对DNS系统的安全评估服务、渗透测试服务、安全值守服务、系统监控服务、安全事件处理、应急响应、事件追溯等
3.4 DNS系统安全防护方案部署
构建DNS系统双层立体防护体系:运营商骨干网部署流量清洗中心,进行大流量级清洗;在DNS系统前部署DNS专项防护系统,进行有针对性的细粒度的清洗,基线检查工具;用于日常安全检查评估工作。部署示意图如下所示:
图 3.3 DNS立体防护体系示意图
3.5 DNS系统安全服务方案
3.5.1 安全评估
对运营商DNS系统进行安全评估,应该从技术和管理两个方面的评估展开。
技术评估主要包括网络安全评估、主机安全评估、业务及应用安全评估、数据安全评估,目的是从网络、主机、业务及应用、数据等层面对DNS系统进行完整的安全评估,掌握其整体安全状况。管理评估主要包括安全管理制度、安全管理组织、人员管理安全、系统建设管理、系统运维管理等方面的管理评估,目的是掌握DNS的安全管理状况。
3.5.2 安全加固
对DNS系统的应用软件、主机、网络设备、管理制度等四个方面进行检查加固工作。
对于服务器加固而言,就是:根据服务器功能类型的不同,分别完成各自服务器在补丁更新、密码策略设置、运行策略配置、用户授权控制、日志审计等方面的分析与加固工作。
很多DNS系统使用BIND软件进行域名解析。BIND安全选项非常多,应针对BIND服务软件进行安全配置,充分利用BIND自身已经实现的保护功能加强BIND安全性,从而能抵御目前已知的BIND安全漏洞,并尽可能使潜在的安全漏洞对DNS服务造成最小的影响。
BIND安全配置可完成针对限制域传输、限制查询、防止DNS欺骗、设置重试查询次数、修改BIND的版本信息等Bind系统安全配置,具体配置项目包括:
隐藏BIND版本信息
禁止DNS域名递归查询
增加查询ID的随机性
限制域名查询
限制域名递归查询
指定动态DNS更新主机
指定不接受区域请求
系统资源限制
定义ACL地址名
控制管理接口
设置重试查询次数
3.5.3 渗透测试
通过采用渗透测试的方式,完成DNS系统的渗透测试,找出面临的威胁,发现弱点、了解设计和执行的缺陷,提前做针对性的防范工作。
3.5.4 安全巡检服务
对DNS系统进行定期的安全状态巡查,借助专业工具在实际环境中检验系统的运作情况,检测、分析系统的运行健康状况、策略的适用情况、安全方案应用的实际效果等,对其中发现的问题及时进行修复,并提供优化建议。
3.5.5 安全值守服务
在重大/特定时期,提供DNS安全值守服务,即提供现场及远程的7*24小时DNS安全监控服务,及时发现DNS的安全问题,随时处理,保障DNS的安全运营。
3.5.6 应急响应
当DNS系统遭受攻击,或出现异常情况时,提供应急响应服务,使DNS系统恢复正常业务。同时,针对域名系统可能发生的DDoS攻击、权威解析篡改、缓存投毒等安全事件,协助客户编写应急预案并组织应急演练,完善安全事件的联动处理流程。