DNS安全章-拒绝服务攻击

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介:

一、什么是拒绝服务攻击

即攻击者想办法让目标机器停止提供服务,是黑客常用的攻击手段之一。

二、DNS拒绝服务攻击常见手段

1、利用DNS软件版本漏洞攻击

如在BIND 9版本(版本9.2.0以前的 9系列)如果有人向运行BIND的设备发送特定的DNS数据包请求,BIND就会自动关闭。攻击者只能使BIND关闭,而无法在服务器上执行任意命令。

2、DDOS 攻击,

攻击者利用僵尸网络中大量的被控主机,伪装成被攻击主机,在特定的时间点上,连续向多个允许递归查询的 DNS 服务器发送大量
的 DNS 查询请求,迫使其提供应答服务,经 DNS 服务器放大后的大量应答数据发送到被攻击主机,形成攻击流量,导致其无法提供正常服务甚至瘫痪。
 
三、DNS放大攻击

概述:

DNS反射放大攻击是一种通过向开放的DNS服务发送伪造源发地址的查询请求来将应答流量导向攻击目标的一种拒绝服务攻击手段(原理参见图1)。这种攻击利用DNS服务器来对被攻击者造成拒绝服务攻击。




1

解决办法:

为避免您的DNS服务器被用来进行DNS反射攻击,建议您做首先确认自己的DNS服务的类型及用途:

a)          自己架设的权威查询服务器(主要用于解析*.imoocc.com这类学校二级域名的)

b)          自己架设的递归查询服务器(主要给自己底下的用户提供递归DNS查询服务的,功能类似166.111.8.28

c)          设备或是服务自带的DNS,不是自己假设的(如路由器自带的等)

根据服务不同的功能,请参考如下操作:

a)          用于提供权威解析的DNS服务,请关闭该服务器上的递归查询功能(操作方式参见附录)

b)          用于递归查询服务的DNS服务器,请限制递归查询服务的使用范围。(操作方式参见附录)

c)          对于设备或系统自带的DNS服务,请先确认该DNS服务是否是必须,如果不是必须请关闭该功能。如果是必须提供的服务,请将该服务的服务范围进行限制(如内网或是特定的网段)。

 


 

附录:

 

LinuxBIND

1、关闭DNS递归查询服务

通过修改BIND的配置文件可以实现关闭DNS递归查询的功能,默认配置文件路径为/etc/named.conf,有两种可能的方法:

1)在配置文件的options配置中,将recursion选项设为no(默认为yes

2)在配置文件的options配置中,将recursion选项设为yes,在view配置中,将allow-recursion设为{none;}

第一种设置方法是将递归查询改为迭代查询,第二种方法可以完全避免应答,但是仅在BIND9以上版本中拥有该选项。

无论采取何种方法,修改配置后应当重新加载并清除缓存(reload & flush

2、限制对域外用户提供DNS解析服务

通过修改BIND的配置文件可以限制提供DNS解析服务的范围,默认配置文件路径为/etc/named.conf,在options选项中修改allow-query语句:

allow-query {166.111.0.0/16;59.66.0.0/16;}

则可以限制仅有166.111以及59.66网段可以访问,设置其他网段类似。

3、利用防火墙等对ANY Request进行过滤

如果是在linux系统中安装的DNS服务软件,则可以通过iptablesANY Request请求进行过滤:

iptables -A INPUT -p udp --dport 53 -m string --hex-string "|00 00 ff 00 01|" --to 255 --algo bm -m comment --comment "IN ANY?" -j DROP

 

iptables -A FORWARD -p udp --dport 53 -m string --hex-string "|00 00 ff 00 01|" --to 255 --algo bm -m comment --comment "IN ANY?" -j DROP

此方法需要对数据包进行深度过滤,对服务性能影响较大,如果能够在DNS配置中实现DNS ANY Request防护,不建议使用第三种方法。

目录
相关文章
|
10天前
|
机器学习/深度学习 安全 大数据
揭秘!企业级大模型如何安全高效私有化部署?全面解析最佳实践,助你打造智能业务新引擎!
【10月更文挑战第24天】本文详细探讨了企业级大模型私有化部署的最佳实践,涵盖数据隐私与安全、定制化配置、部署流程、性能优化及安全措施。通过私有化部署,企业能够完全控制数据,确保敏感信息的安全,同时根据自身需求进行优化,提升计算性能和处理效率。示例代码展示了如何利用Python和TensorFlow进行文本分类任务的模型训练。
38 6
|
25天前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
55 3
|
6天前
|
机器学习/深度学习 人工智能 安全
TPAMI:安全强化学习方法、理论与应用综述,慕工大、同济、伯克利等深度解析
【10月更文挑战第27天】强化学习(RL)在实际应用中展现出巨大潜力,但其安全性问题日益凸显。为此,安全强化学习(SRL)应运而生。近日,来自慕尼黑工业大学、同济大学和加州大学伯克利分校的研究人员在《IEEE模式分析与机器智能汇刊》上发表了一篇综述论文,系统介绍了SRL的方法、理论和应用。SRL主要面临安全性定义模糊、探索与利用平衡以及鲁棒性与可靠性等挑战。研究人员提出了基于约束、基于风险和基于监督学习等多种方法来应对这些挑战。
15 2
|
8天前
|
域名解析 缓存 网络协议
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
浏览器中输入URL返回页面过程(超级详细)、DNS域名解析服务,TCP三次握手、四次挥手
|
8天前
|
安全 测试技术 数据安全/隐私保护
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
|
1月前
|
安全 Java 编译器
Java 泛型深入解析:类型安全与灵活性的平衡
Java 泛型通过参数化类型实现了代码重用和类型安全,提升了代码的可读性和灵活性。本文深入探讨了泛型的基本原理、常见用法及局限性,包括泛型类、方法和接口的使用,以及上界和下界通配符等高级特性。通过理解和运用这些技巧,开发者可以编写更健壮和通用的代码。
|
2月前
|
自然语言处理 数据可视化 BI
文档解析(大模型版)服务体验评测
体验文档解析(大模型版)服务时,清晰的入门指南、操作手册和FAQ至关重要。若存在不足,需增加直观的操作流程说明(如动画演示)、深化高级功能文档,并提供实时在线支持,帮助用户快速解决问题。
|
2月前
|
弹性计算 自然语言处理 数据可视化
|
27天前
|
网络安全 Docker 容器
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
19 0
|
1月前
|
安全 网络安全 Android开发
深度解析:利用Universal Links与Android App Links实现无缝网页至应用跳转的安全考量
【10月更文挑战第2天】在移动互联网时代,用户经常需要从网页无缝跳转到移动应用中。这种跳转不仅需要提供流畅的用户体验,还要确保安全性。本文将深入探讨如何利用Universal Links(仅限于iOS)和Android App Links技术实现这一目标,并分析其安全性。
173 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多