DNS安全概述

news2024/10/1 15:31:16

一、DNS的解析过程

1.递归解析

递归解析是一种由DNS客户端(通常是用户的应用程序,如一个浏览器)向本地DNS解析器发出解析请求,然后本地DNS解析器负责查询最终结果并将结果返回给客户端,而中间的所有查询请求都由本地DNS解析器代替客户端完成。参考上图的整个流程

2.迭代解析

迭代解析是一种由DNS客户端逐步请求各级DNS服务器,并通过每级回应获得下级服务器地址,直到获得最终的IP地址。与递归解析不同,迭代解析的每一级查询都是由客户端发出,不依赖本地DNS解析器进行递归查询。上图中的本地DNS服务器进行的就是迭代解析,如果终端使用迭代解析,就可以不需要本地dns服务器。

二、DNS安全技术

1.DNSSEC

DNSSEC(Domain Name System Security Extensions,即域名系统安全扩展)是一组协议,为DNS提供源身份验证和数据完整性。其主要目的是通过使用数字签名,防止数据在DNS传输过程中被篡改或伪造,从而增强DNS的安全性。

2.DoH

DNS over HTTPS (DoH) 是一种将DNS查询通过HTTPS协议发送的技术。这种方法使用HTTPS的加密和认证特性来保护DNS查询和响应。

3.DoT

与DoH类似,DoT与DoH的差别在于,DoT把DNS的Payload直接放在在TLS协议的上层。

4.HttpDNS

HttpDNS实际上不能算DNS,它提供了一种非标准的域名解析方式。初略看,与DoH有很大的相似性,但是实际上,这两种技术的设计目的差别很大。DoH,是一个通用服务,用于增强DNS本身的安全性。HTTPDNS是一个非标准的服务,通常只解析业务需要用到的几个域名。通常用于手机App、桌面客户端、嵌入式设备等场景。

三、常见的DNS威胁

1.DNS 缓存污染

DNS缓存广泛存在于全球各地开放的DNS服务器中,DNS缓存的的设计有两个目的:

  • 加速DNS查询的响应时间
  • 减少DNS查询请求对DNS服务器的压力

当用户对某个域名发起解析请求时,DNS服务器首先会在自身DNS缓存中查看是否有对应的结果,如果命中结果,会直接告知客户端,无需进行全球解析查询。但是DNS协议在设计时,没有相关的记录完整性认证机制,如果攻击者篡改了上游DNS服务器的结果,那么最终会把错误的结果缓存起来。

缓解及防御措施:DNSSEC

使用DNSSEC可以有效防止DNS缓存被污染,但是,实际上DNSSEC性价比非常低。因为现阶段,https已经是主流,如果DNS解析结果不对,最终能够在https握手阶段能够被检测出来。现在大部分DNS服务的运营商都支持DNSSEC,但是实际使用DNSSEC的域名却很少。

2.DDoS攻击

DDoS攻击通过向DNS服务器发送大量请求,耗尽资源使服务器无法响应合法请求。通常只能部署DDoS防护系统,限制同时连接数及流量来解决。

3.随机非存在域名攻击

通过递归服务器查询合法域名的随机子域名来进行攻击。本质上是一种缓存穿透攻击,因为请求的域名不存在,递归服务器最终会把解析请求发送到权威DNS服务。

  • 对于权威DNS服务器,如果本身记录量比较少,可以考虑全缓存的方式,全部记录放入内存,如果记录量很大,可以使用布隆过滤器。
  • 对于递归解析服务器,只能把这种情况当成DDos来处理

4.子域名劫持

子域名劫持涉及攻击者接管DNS提供商中配置错误的未使用子域名,从而用来托管恶意内容或者进行钓鱼攻击。举个例子:现在很多服务都是托管在云上面,如果一个子域名曾经使用过,并且对外提供了服务,在下线服务的时候没有移除相应的DNS记录,同一个云上的其他用户就有可能使用原服务相同的公网IP。此时,此用户就可以在此域名下搭建一些恶意功能,比如钓鱼、偷Cookies等。

域名所有者需要通过各种管理及技术的手段,保证服务下线时,域名解析也同时移除。

5.DNS劫持

DNS劫持是通过篡改DNS服务器配置或添加虚假DNS条目,将用户请求重定向到假冒网站或恶意服务器。随着Https的普及,这种攻击方式的危害性大大下降,如果做不到修改权威服务器上的解析,这种攻击的有效范围就很小。

  • 加强对DNS服务器的访问控制和监控,防止配置篡改。
  • 定期检查DNS配置和记录的完整性与准确性。

6.中间人攻击

中间人攻击通常用于劫持DNS通信,在DNS请求和响应之间插入,使攻击者能够读取、修改或注入虚假DNS数据。也有一些运营商,出于某种目的,会支持DNS流量,但是其提供的硬件资源不够,引起DNS解析异常缓慢甚至超时,严重影响用户体验。

  • 使用加密协议(如DoT或DoT)确保DNS通信的安全性。

四、DNS客户端安全性增强方法

1.对于客户端软件供应商

  • 使用加密协议,可以有效保护终端到本地DNS服务器之前的安全性。OpenDNS,Google DNS,Cloudflare等都有推荐加密DNS协议
  • 使用HttpDNS。目前的云服务提供商都有提供HttpDNS服务,客户端软件中用到的域名可以通过HttpDNS来解析,以达到绕过传统DNS协议的目的,可以规避所有针对DNS协议的攻击。

2.对于客户端用户

  • 使用加密协议,常用的浏览器Chrome ,Edge,Firefox等都支持设置安全DNS
  • 本地搭建DNS代理,把DNS请求代理到DoH或DoT来进行解析,可以让不支持安全DNS的软件使用到安全DNS。企业内部也可以使用此方式提供统一的DNS服务。

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

1️⃣零基础入门

① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

 因篇幅有限,仅展示部分资料

2️⃣视频配套资料&国内外网安书籍、文档

① 文档和书籍资料

② 黑客技术

因篇幅有限,仅展示部分资料

4️⃣网络安全面试题

5️⃣汇总

所有资料 ⚡️ ,朋友们如果有需要全套 《网络安全入门+进阶学习资源包》,扫码获取~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1979592.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

每日OJ_牛客HJ62 查找输入整数二进制中1的个数

目录 牛客HJ62 查找输入整数二进制中1的个数 解析代码 牛客HJ62 查找输入整数二进制中1的个数 查找输入整数二进制中1的个数_牛客题霸_牛客网 解析代码 本题是计算一个数二进制表示中1的个数,通过(n >> i) & 1可以获取第i位的二进制值&…

基于Spring boot + Vue的校园论坛

作者的B站地址:程序员云翼的个人空间-程序员云翼个人主页-哔哩哔哩视频 csdn地址:程序员云翼-CSDN博客 1.项目技术栈: 前后端分离的项目 后端:Springboot MybatisPlus 前端:Vue ElementUI 数据库: …

聚星文社 聚星3高级推理创作

聚星文社 聚星3高级推理创作 Docshttps://qvfbz6lhqnd.feishu.cn/wiki/D3YLwmIzmivZ7BkDij6coVcbn7W

CAS5.3自定义登录校验规则

前一篇文章介绍过CAS自定义用户信息, 这个用户信息实在登录成功后加到session中的, 今天来介绍一下CAS5.3怎么自定义登录校验逻辑 思路 有了前一篇文章的铺垫这一次自定义登录校验其实就很简单了, 因为想要把用户信息放入到session中是一定要在登陆的时候完成的,因此这次我们…

Codeforces Round 960 (Div. 2) A~E

A. Submission Bait (思维) 题意: A l i c e Alice Alice 和 B o b Bob Bob 正在玩一个数组 a a a 中大小为 n n n 的游戏。 他们轮流进行操作, A l i c e Alice Alice先开始。无法操作的玩家将输掉。首先,将变量…

常用控件之 QWidget

目录 一、控件概述 1.关于控件体系的发展: 二、QWidget 核心属性 1.核心属性概览 2.enabled 3.geometry 🌵window frame(窗口框架) 的影响 4.windowTitle 5.windowIcon 🌵使用 qrc 文件管理资源 6.windowOpa…

微信公众号上线12周年了,12年前的公众号历史文章怎么找?抓取了公众号历史文章同步到博客,找起来方便了

为了方便看看12年来这些号发过的文章 2023 批量下载公众号文章内容/话题/图片/封面/视频/音频,导出文章pdf和抓取文章数据包含阅读数/点赞数/在看数/留言数,我抓取了其中一些号的所有历史文章同步到博客 : 比如深圳卫健委从2014年更新,到2023…

Reqable:跨平台HTTP开发与调试工具

在当今快速发展的互联网时代,HTTP协议作为网络通信的基础,其开发和调试工具的选择对开发效率有着重要影响。本文将详细介绍一款新型的跨平台HTTP开发和调试工具——Reqable,它支持HTTP1、HTTP2以及最新的HTTP3(QUIC)协议,为开发、…

超秒集物:助力品牌商腾飞,共筑强国梦想

在当今竞争激烈的商业世界中,每一个小微企业都怀揣着成为世界 500 强的梦想。它们虽然微小,但都在努力绽放出属于自己的光芒。而超秒集物,以其独特的平台力量,为众多小微企业照亮了前行的道路,助力它们追逐梦想&#x…

贝叶斯之光:照亮机器学习领域的算法瑰宝

一、贝叶斯算法概述 贝叶斯算法起源于英国数学家托马斯贝叶斯(Thomas Bayes)在18世纪提出的贝叶斯定理。该定理是概率论中的一个重要定理,描述了条件概率之间的关系。其基本形式可以表示为: P(A∣B)P(B)P(B∣A)P(A)​ 其中&…

C++进阶:C++11新增语法(1)

文章目录 1. 统一的列表初始化1.1 {}初始化 1.2 std::initializer_list2. 声明2.1 auto2.2 decltype3.3 nullptr 4 范围for循环5 STL中一些变化6 右值引用和移动语义6.1 左值引用和右值引用6.2 左值引用与右值引用特性6.3 左值引用和右值引用使用场景和意…

图的应用--最小生成树

一. 前言 生成树的概念: 生成树是图的极小连通子图,也就是去掉一条边就非连通的图,并且这个图的所有顶点都由边连接在一起,但不存在回路。 生成树的特点:一个图可以有很多个不同的生成树。生成树的顶点个数和图的顶点个…

另一棵树的子树 - 力扣(LeetCode)C语言

572. 另一棵树的子树 - 力扣(LeetCode)(点击前面链接即可查看题目) 一、题目 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则&…

反转链表 II(LeetCode)

题目 给你单链表的头指针 和两个整数 和 ,其中 。请你反转从位置 到位置 的链表节点,返回 反转后的链表 。 解题 class ListNode:def __init__(self, value0, nextNone):self.value valueself.next nextdef reverseBetween(head: ListNode, lef…

即使是 Linux 用户也应该看看这篇文章。

关注公众号网络研究观获取更多内容。 安全启动至少从 Windows 8 开始就成为一项标准功能。 顾名思义,该功能可保护启动过程。 通过对启动过程中使用的任何软件(“固件”)进行数字签名,可确保启动过程的完整性。 与任何数字签名…

量产部落SM2258XT开卡软件,SM2258XT主控128G SSD固态卡死修复

故障现象:连接此固态硬盘后电脑就会卡死,拔掉重新连接概率性显示盘符,显示了之后也不能正常操作,一点击打开,电脑就立马卡死。 解决过程:下载了很多款量产工具,都不能开卡成功,点击…

【传知代码】受限前缀注意机制的事件关系识别(论文复现)

在自然语言处理的前沿,受限前缀注意机制正逐渐成为事件关系识别领域的关键技术。随着文本数据的不断增长和复杂性的提升,识别文本中事件之间的关系变得愈发重要和具有挑战性。受限前缀注意机制作为一种新兴的技术手段,通过有效地捕获文本中的…

不同太阳光波长定制设备太阳光模拟器

日光中不同波长的作用 太阳光不仅是地球上生命活动的能量来源,也对人类的生活产生了深刻的影响。了解太阳光的特性和对地球生态系统的贡献,对于我们保护环境、合理利用太阳能资源具有重要意义。科迎法电气作为太阳光模拟器的制造商可以根据不同的需求定制…

【Verilog-CBB】开发与验证(4)——RS前向打拍器

引言 我们知道时序路径的建立时间收敛依赖于触发器之间的组合逻辑延迟,以及时钟周期。对于一个确定的设计一般来说,时钟频率不会有太多的让步,因此修时序的时候主要发力点就是减小触发器之间组合逻辑延迟。一方面可以通过组合逻辑优化来降低…

Studying-代码随想录训练营day56| 108.冗余连接、109.冗余连接II

第56天,图论06,并查集题目类型冗余连接(ง •_•)ง💪,编程语言:C 目录 108.冗余连接 109.冗余连接II 总结 108.冗余连接 文档讲解:手撕冗余连接 题目:108. 冗余连接 (kamacoder.com) 学习&…