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 反向指针
  • SOA记录 区域传输 :主区域/辅助/存根区域,备份

DNS三种区域类型:

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

DNS安全:

DNS缓存投毒(改映射)、DNS放大攻击(分布拒绝服务DDOS)、子域名劫持

相关推荐
tRNA做科研30 分钟前
Bio-Linux-shell详解-2-基本Shell命令快速掌握
linux·运维·服务器·生物信息·计算生物学
petaexpress39 分钟前
容器云跟服务器有啥区别?五个区别要知道
运维·服务器
木凳子a1 小时前
怎么给儿童掏耳朵比较安全?安全儿童可视挖耳勺推荐
人工智能·安全·信息可视化·智能家居·健康医疗
Dovir多多2 小时前
渗透测试入门学习——php与mysql数据库连接、使用session完成简单的用户注册、登录
前端·数据库·后端·mysql·安全·html·php
KookeeyLena42 小时前
如何搭建一个ip池用来做数据抓取用
服务器·网络·tcp/ip
小林熬夜学编程2 小时前
【Linux系统编程】第二十弹---进程优先级 && 命令行参数 && 环境变量
linux·运维·服务器·c语言·开发语言·算法
网安詹姆斯2 小时前
网络安全(黑客技术)2024年三个月自学计划
网络·数据结构·python·mysql·安全·web安全·github
Flying_Fish_roe3 小时前
linux-安全管理-文件系统安全
linux·运维·安全
666IDCaaa3 小时前
为什么需要DDos高防服务器呢?
服务器·网络·ddos
_Johnny_3 小时前
linux 使用SSH密钥配置免密登录
linux·服务器·ssh