当前位置: 首页 > article >正文

DNS部署与安全

域名:

  • 域名是互联网用于识别各种实体的可读名称,方便记忆,用于代替ip地址。

www.        example.                              com               .

子域              二级域                            顶级域       根域

 特定服务    公司或组织的名称          公司/国家/...(网站性质或地域)

www通常指公司网站的主服务器

域名服务器:

  •  根域名服务器:知道所有顶级域名服务器的IP地址。13个 迭代查询
  •  网关 递归查询
  • 顶级域名服务器:二级域名服务器的IP地址
  • 授权域名服务器
  • 本地域名服务器
  • 权威服务器:负责管理并提供特定域名的最终解析信息的服务器(最后一环)
    •  dns无法直接解析某个域名,会向权威服务器发出请求

递归:主机找网关(本地域名服务器)       客户端只发一次请求,要求对方给出最终结果

迭代:本地域名服务器(代替主机迭代)去找根域名服务器——>...服务器——>权威服务       客户端发一次请求,对方如果没有授权回答,就返回一个能解答这个查询地其他服务器列表客户端再发请求,直到找到最终服务器。

 域名解析:

  • 正向解析:域名到IP地址;反向解析:IP地址到域名
  • 两种方式:递归查询和递归与迭代相结合的查询
  • 客户需要域名解析,发dns请求报文(UDP53端口),
    • 第一步先查本地主机文件(hosts)
    • 第二步本地DNS缓存(ipconfig /displaydns查看windows的dns缓存,ipconfig /flushdns 清楚)
    • 第三步本地DNS服务器(本地连接中配置的dns服务器)解析 :本地服务器解析成功,即为具有权威否则非权威。
    • 第四步DNS服务器解析:
      • 未用转发模式:根dns开始一层层查、
      • 使用转发模式:本地的上一级开始查

nslookup 查域名等

DNS端口号:

DNS查询(小数据包,要求速度快),udp端口53进行

DNS使用TCP端口53的情况:

  • 响应数据包大于512字节,(使用tcp,有重传和有序保证机制,可确保大数据包无误传输)
  • DNS区域传输:DNS服务器之间同步DNS数据。(备份)

DNS数据包:

查询报文、响应报文(数据包结构基本相同)

  • header 
  • question  Qtype:A  ipv4    AAAA  ipv6
  • answer
  • 授权部分:提供了与查询域名相关的权威服务器的信息,帮助客户端或递归服务器找到具有权威性的域名解析服务器
  • 附加部分:提供补充信息(权威服务器的ip地址或与查询相关的其他信息,减少额为查询次数)

授权和附加部分与权威服务器有关

常见DNS资源记录类型:

  • A
  • AAAA
  • CNAME
  • MX  邮件交换
  • NS记录  权威服务器
  • PTR   反向指针
  • SRV:定义服务的特定端⼝和协议
  • SOA记录:起始授权记录,记录是一种dns资源记录  
    •  区域传输 :主区域/辅助/存根区域,备份 
    • 不仅帮助管理DNS区域的更新和刷新周期,⽽且通过序列号机   制确保区域数据的⼀致性和及时更新

DNS三种区域类型:

  • 主区域:存dns域名ip,数据的权威源,可直接修改
  • 存根区域:最小化,备份关键管理记录(只包含关键的权威服务器内容)
  • 辅助区域:备份全部记录,不可直接改数据

DNS安全:

  • DNS缓存投毒(改映射)、DNS放大攻击(分布拒绝服务DDOS)、子域名劫持
  • DNSSEC(域名系统安全扩展)是⼀种为DNS提供额外安全层的技术。它通过对DNS数据进⾏数字签 名,确保DNS提供的信息未被篡改,从⽽增强DNS的安全性。DNSSEC 主要⽬的是保护互联⽹⽤户免受 各种基于DNS的攻击,如缓存投毒和重定向攻击。
  • DNSSEC 的⼯作原理基于信任链模型。从根域(最顶层的DNS区域)开始,每⼀层的DNS区域都被其⽗ 区域签名。⽤户或解析器从信任的根区域开始验证,通过连续验证每⼀层的签名,最终确信所得到的 DNS响应是完整且未被篡改的。
      


http://www.kler.cn/a/286226.html

相关文章:

  • 花店鲜花管理与推荐系统+Python+Django网页界面+管理系统+计算机课设
  • PHP:构建高效Web应用的强大语言
  • ECMAScript和JavaScript区别
  • OpenCV绘图函数(8)填充凸多边形函数fillConvexPoly()的使用
  • Linux中安装Docker环境
  • 域名是什么
  • 简单了解数据库--笔记03
  • 依赖倒置原则详细介绍
  • Kubernetes 网关流量管理:Ingress 与 Gateway API
  • 国产游戏技术的未来
  • Leetcode 621. 任务调度器
  • Spring Cloud Gateway的使用
  • 高防服务器中的流量清洗是什么意思?
  • 【电机控制】有感FOC之霍尔自学习
  • 学习周报-2024.8.31
  • 基于 Redis 的 HyperLogLog 实现了 UV 的统计
  • 浅谈-Unity内存管理
  • Python 全栈系列265 使用ORM、Kafka、Apscheduler实现任务的并发处理
  • Jupyter如何使用Anaconda的虚拟环境
  • CSS 的image-rendering属性与图像的渲染