DNS Sec

news2024/11/16 12:30:03

域名系统(Domain Name System,DNS)响应消息中给出域名服务器的IP地址、完全合格的域名与IP地址之间的绑定关系等,因此,DNS响应消息的真实性和完整性直接关系用户访问网络过程的安全性。为了保证DNS响应消息的真实性和完整性,要求 DNS 响应消息的接收端能够鉴别DNS响应消息发送者的身份,并对DNS响应消息进行完整性检测。DNS安全扩展(Domain Name System Security Extensions,DNS Sec)就是在DNS基础上增加DNS响应消息源端鉴别和完整性检测的DNS安全协议。

1.域名服务器结构与资源记录配置

域名服务器结构

   域名服务器采用层次结构,根域名服务器负责管理顶级域名,每一个顶级域名有着对应的域名服务器,根域名服务器通过类型为NS的资源记录建立每一个顶级域名与对应的域名服务器之间的关联。

    域名服务器采用分层结构的好处是,可以由负责该域的组织决定该域的子域划分过程,在某个域中增加一个子域,只要在该域对应的域名服务器中增加用于建立该子域域名与对应的域名服务器之间关联的资源记录

域名解析过程

(1)终端A配置的本地域名服务器是终端A解析域名时访问的第一个域名服务器,因此,也称为默认域名服务器,一般选择由终端A所在组织负责的域名服务器作为终端A 的本地域名服务器

(2)DNS缓冲区和hosts文件终端A中分配DNS缓冲区,终端A完成域名解析后,建立某个完全合格的域名与对应的IP地址之间的映射,并将该映射保存在DNS缓冲区中一段时间。如果在该映射保存在DNS缓冲区期间,终端A需要再次解析该完全合格的域名,终端A可以通过访问 DNS缓冲区获得该映射。终端A中如果存在hosts文件,终端A向本地域名服务器发送域名解析请求之前,检索 hosts文件,如果 hosts文件中存在该完全合格的域名与对应的IP地址之间的映射,终端A直接使用该映射。

(3)迭代解析过程

本地域名服务器接收到终端A发送的完全合格的域名www.b.edu的解析请求后,首先在数据库中检索名字为www.b.edu,类型为A的资源记录。如果不存在这样的资源记录,检索名字为b,edu,类型为NS的资源记录。如果不存在这样的资源记录,检索名字为edu,类型为NS的资源记录。根据资源记录<edu,NS,dns.root>和<dns.root,A,192.1.3.7>确定根域名服务器,向根域名服务器发送完全合格的域名 www.b.edu 的解析请求。

DNS安全威胁和解决思路

一、DNS响应消息的接收端没有源端鉴别机制,使得黑客终端可以伪造DNS响应消息,并将伪造的DNS响应消息发送给终端或本地域名服务器,导致终端或本地域名服务器将某个完全合格的域名和错误的IP地址绑定在一起,而这个错误的 IP地址往往就是某个黑客终端的地址。

二、黑客可以篡改DNS响应消息,通过篡改DNS响应消息中域名服务器的IP地址或某个完全合格的域名与IP地址之间的绑定关系,使得终端或本地域名服务器得到错误的上级域名服务器地址或某个完全合格的域名与错误的IP地址之间的绑定关系。

解决思路

一、必须对DNS响应消息进行源端鉴别。

二、是必须对DNS响应消息进行完整性检测

对DNS响应消息进行源端鉴别和完整性检测的最简单方法是,由发送端对DNS响应消息进行数字签名。接收端能够获得经过验证的发送端公钥

资源记录配置

(1)每一个域生成私钥和公钥对每一个域生成私钥和公钥对,如 root 域的公钥是PKR,私钥是SKR,私钥 SKR 由根域名服务器掌握。同样,com域的公钥是PKC,私钥是SKC,私钥SKC由com域域名服务器掌握。

(2)域名服务器配置DNSKEY资源记录每一个域名服务器需要配置上一级域域名服务器的公钥,如 a.com 域域名服务器通过类型为NS的资源记录指定com域域名服务器和根域名服务器这两个上一级域域名服务器,因此,需要通过 DNSKEY类型的资源记录指定 com 域的公钥PKC和root域的公钥PKR。其他域名服务器中DNSKEY资源记录的配置过程与此相同。

安全解析过程

终端A配置的本地域名服务器为a.com域域名服务器,且终端A已经具有a.com域的公钥PKAC。

本地域名服务器接收到终端A发送的完全合格的域名www.b.edu的解析请求后,首先在数据库中检索名字为www.b.edu,类型为A的资源记录。如果不存在这样的资源记录,检索名字为b.edu,类型为NS的资源记录。如果不存在这样的资源记录,检索名字为 edu,类型为NS的资源记录。根据资源记录<edu,NS,dns.root>和<dns.root,A,192.1.3.7>确定根域名服务器,向根域名服务器发送完全合格的域名www.b.edu 的解析请求。

本地域名服务器接收到根域名服务器的DNS响应消息后,首先用root域的公钥PKR验证根域名服务器的数字签名,记录下 edu域的公钥 PKE。然后向 edu域域名服务器发送完全合格的域名www.b.edu的解析请求。edu域域名服务器同样向本地域名服务器回送b,edu域域名服务器的IP地址192.1.5.7、b.edu域的公钥PKBE和用edu域的私钥 SKE产生的数字签名Dsxe(SHA-1((dns.b.edu 192.1.5.7)|(b.edu PKBE))。本地域名服务器用根域名服务器发送的 edu域的公钥 PKE 验证 edu域域名服务器的数字签名。

本地域名服务器接收到b.edu域域名服务器发送的解析结果后,用 edu域域名服务器发送的b.edu域的公钥PKBE验证b.edu域域名服务器的数字签名。本地域名服务器完成对b.edu域域名服务器发送的解析结果的源端鉴别和完整性检测后,向终端A发送解析结果。本地域名服务器向终端A发送解析结果时,用a.com域的私钥SKAC产生解析结果的数字签名Dsxac(SHA-1(www.b.edu 192.1.5.2))。终端A用a.com域的公钥PKAC验证 a.com域域名服务器的数字签名。

IPSec,TLS和应用层安全协议

IPSec、TLS和应用层安全协议构成基于TCP/TP体系结构的安全协议体系结构,IPSec是网际层安全协议,用于实现IP分组两个终端之间的安全传输过程。TLS是传输层安全协议,用于实现数据两个应用进程之间的安全传输过程。应用层安全协议用于增强一些网络应用实现过程中的安全性。

IPSec是网际层安全协议,用于实现IP分组两个终端之间的安全传输过程,建立安全关联时,鉴别发送终端和接收终端的身份,如果安全关联采用ESP安全协议,整个TCP报文都是加密的,TCP首部信息对于端到端传输路径经过的结点都是不可见的。

TLS是传输层安全协议,用于实现数据两个应用进程之间的安全传输过程,建立安全连接时,需要鉴别两端应用进程的身份,如浏览器和Web服务器。经过安全连接传输的应用层数据是加密的,对端到端传输路径经过的结点都是不可见的。但TLS不对IP分组首部和TCP报文首部提供完整性检测和加密功能,IP分组首部和TCP报文首部对于端到端传输路径经过的结点都是可见的。

DNS Sec、SET、PGP和S/MIME 是应用层安全协议,每一种安全协议用于增强特定网络应用实现过程中的安全性。如 DNS Sec是为了实现 DNS响应消息的源端鉴别和完整性检测。SET是为了实现安全的电子交易过程。PGP和S/MIME是为了实现电子邮件的安全传输过程。

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

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

相关文章

Python中的条件分支和循环语句

1.条件分支语句 &#xff08;1&#xff09; 第 1 种是判断一个条件&#xff0c;如果这个条件成立&#xff0c;就执行其包含的某条语句或某个代码块。 if 条件:某条语句或某个代码块&#xff08;2&#xff09;第 2 种同样是判断一个条件&#xff0c;跟第 1 种的区别是如果条件…

易控智驾:用最“接地气”的自动驾驶,写一本“矿区修炼手册”

CES2023刚刚在拉斯维加斯闭幕&#xff0c;作为行业风向标&#xff0c;本届展会上元宇宙、汽车技术等重要科技依然是大亮点。宝马、英特尔等厂商&#xff0c;依然带来了有趣的消费级产品&#xff0c;但也有更多的工业与制造业产品、方案&#xff0c;带着更多的科技智能属性脱颖而…

网络原理(TCP/IP五层协议)(一)

目录TCP/IP五层协议栈应用层传输层TCP/IP五层协议栈 应用层 在应用层最重要的事情&#xff0c;就是“设计并实现一个应用层协议”。 举个例子&#xff0c;公司在开发一个项目&#xff0c;点外卖的软件。 当前要开发一个功能&#xff0c;叫做获取用户的订单历史。(在数据库里&…

软件设计(三)

软件设计&#xff08;二&#xff09;https://blog.csdn.net/ke1ying/article/details/128794008?spm1001.2014.3001.5502 21、一颗二叉树的高度为h&#xff0c;则该二叉树 最多有2的h次方-1个节点。 22、图的遍历是指对图中所有顶点进行访问且只访问一次的过程&#xff0c;可…

《第一行代码》 第一章:第一行Android代码

1&#xff0c;Android系统架构 2&#xff0c;开发的四大组件 3&#xff0c;丰富的系统控件 Android 系统为开发者提供了丰富的系统控件&#xff0c;使得我们可以很轻松地编写出漂亮的界面。当然如果你品位比较高&#xff0c;不满足于系统自带的控件效果&#xff0c;也完全可以…

java 基于ssm的在线音乐分享平台 idea mysql

根据一般在线音乐平台的功能需求分析&#xff0c;本系统的功能模块如下&#xff1a; &#xff08;1&#xff09;在个人中心&#xff0c;管理员可以修改自己的用户名和登录密码。 &#xff08;2&#xff09;在用户管理模块中&#xff0c;可以查看用户的信息&#xff0c;和进行修…

动态规划的万能公式(三类题型)

本文主要介绍如何用Python解决动态规划的问题&#xff0c;在动态规划问题中&#xff0c;最主要的是找到问题的dp&#xff0c;即找到状态转移函数&#xff0c;当你找到了该问题的状态转移函数&#xff0c;你就成功了一半&#xff0c;下面我将介绍三类最主要的题型&#xff0c;对…

FreeRTOS事件实验

前面章节我们学习了如何使用信号量来实现同步&#xff0c;但是使用信号量来同步的 话任务只能与单个的任务进行同步。有时候某个任务可能会需要与多个任务进行 同步&#xff0c;此时信号量就无能为力。FreeRTOS 为此提供了一个可选的解决方法&#xff0c;那 就是事件标志组。本…

TypeScript基础使用

TypeScript介绍&#xff1a; TypeScript 是 JavaScript 的一个超集 它的第一个版本发布于 2012 年 10 月&#xff0c;vue3和react也完全支持typescrpt 为什么选择 TypeScript&#xff1a; 类型系统实际上是最好的文档&#xff0c;大部分的函数看看类型的定义就可以知道如何使…

高性能SQL-数据库性能优化

数据库性能优化涉及各个方面,本文就总多个角度介绍一下数据库性能优化的方法 1.表设计 聚集索引 一个表只能有一个聚集索引&#xff0c;数据在磁盘上的排练顺序与聚集索引一致&#xff0c;根据业务仔细设定聚集索引&#xff0c;值递增的不可修改的字段才能设置聚集索引&…

海康摄像头Linux开发

官方sdk下载 https://open.hikvision.com 点击下载就行了 Ubuntu摄像头抓拍测试 我们使用Linux64 纯净版测试 接好海康摄像头&#xff0c;通电&#xff0c;并设置号ip和用户名、密码。如果有现成的&#xff0c;可以去查一下就知道了 先把设备下载的文件解压并放到Ubuntu下面…

redis的渐进式rehash机制

简述 在redis的字典&#xff08;dict.h&#xff09;实现中&#xff0c;当哈希表保存的键值对太多或者太少时&#xff0c;会触发扩展/收缩&#xff1b; 触发收缩&#xff1a;负载因子小于 0.1触发扩展&#xff1a;以下任一条件符合即可 服务器目前没有在执行 BGSAVE 命令或者 …

k8s核心资源

一、NameSpace对资源进行隔离&#xff0c;比如开发环境和测试环境等。命令# 查看所有命名空间的资源 kubectl get pod -A # 查看单独某个命名空间下的资源 kubectl get pod -n <空间名称> # 查看所有命名空间 kubectl get ns # 创建命名空间 kubectl create ns <空间名…

SpringAMQP

SpringAMQP是基于RabbitMQ封装的一套模板&#xff0c;并且还利用SpringBoot对其实现了自动装配&#xff0c;使用起来非常方便。 SpringAmqp的官方地址&#xff1a;Spring AMQP SpringAMQP提供了三个功能&#xff1a; 自动声明队列、交换机及其绑定关系&#xff08;RabbitAdmin&…

Hive自定义UDF函数及使用

目录 一、UDF概述 二、编写自定义UDF 1.创建项目 2.pom.xml文件添加依赖 3.编写工具类及自定义UDF类 4.打包 5.测试 jar 6.上传至服务器、HDFS并给jar包赋权 7.添加到hive类路径并创建临时函数 8.使用测试&#xff1a; 9.临时函数、永久函数 一、UDF概述 UDF全称&…

面试项目经验相关技巧

前言 面试问项目经验主要是想了解所做项目用到的技术&#xff0c;以及自己在项目中扮演的角色。 一、秒杀系统 秒杀系统往往不是咱的项目经验&#xff0c;但是面试可能会问&#xff0c;在说自己项目经验的时候也可以往秒杀和高并发上面带。 可能遇到的问题 高并发 一般就是…

阿里云KMS创建应用接入点

1.进入KMS控制台https://kms.console.aliyun.com/cn-beijing/applicationAP/list2.应用管理->创建应用接入点应用接入点可以想象成一个入口。入口打开的时候&#xff0c;运行在你服务器中的代码&#xff08;KMS客户端&#xff09;才可以与阿里云的KMS实例通讯。2.1设置入口名…

【软件测试】离开“浪浪山“测试人迎来的春天......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 这几年因为疫情、经…

Activiti7工作环境搭建_创建基础工程自动创建Activiti数据库表---工作流工作笔记004

然后我们开始来搭建activiti的环境 首先给idea安装activiti插件,从插件里搜索 actiBPM注意,这个直接在idea中搜索可能搜索不到,因为太旧了这个工具,新的idea已经不支持,需要手动去actiBpm 官网下载以后手动安装 下载就可以了 下载以后点击齿轮,然后选择从硬盘安装 选择下载好的…

注册公司认缴vs实缴,选择哪一个更好?

前言 上一篇说了在创业的时候先进行选择公司类型&#xff0c;然后在公司注册过程中都需要登记公司的注册资本&#xff0c;会涉及注册资金这一点&#xff0c;而现在有认缴制和实缴制&#xff0c;到底选择哪一个更好呢&#xff1f; 在选择之前&#xff0c;先来和大家分享下认缴制…