DNS最全解析
一、DNS
定义:DNS(Domain Name System)即域名系统,是一种能够将域名和IP地址进行相互映射的分布式数据库系统,它允许终端用户设备将给定的人类可读URL转换为网络可以理解的机器可用IP地址。
作用:主要作用是将域名解析为IP地址,使用户能够通过域名访问互联网资源,它还提供反向解析功能,即将IP地址解析为域名。
二、域名介绍
域名结构:从右往左依次是“顶级域(TLD)”、“二级域”、“子域”等,例如www.baidu.com,".com"是顶级域,“baidu”是二级域,“www”是子域。
域名形式:在每个域里面都有很多主机,每个主机都有一个主机名,主机名后面冠上主机所在域的名称就是该主机的全称域名。
三、DNS工作原理
查询过程:当用户输入域名时,操作系统会先检查本地的hosts文件是否有这个网址映射关系,如果有则直接调用;如果没有,则查找本地DNS解析器缓存;若仍没有,则会找TCP/ip参数中设置的首选DNS服务器进行查询。
递归与迭代查询:递归查询是指DNS服务器为客户机完全解析域名(直到获得最终的IP地址)的过程,如果无法直接回答一个查询,DNS服务器会代表客户端向其他DNS服务器进行查询,直到得到答案,而迭代查询则是DNS服务器为客户机部分解析域名,直到获得一个非授权的解答的过程。
四、DNS记录类型
类型 | 名称 | 记录值说明 |
SOA | 起始机构授权记录 | 一个DNS服务器只能有一个SOA记录,且为第一条记录,是起始授权机构记录,说明了在众多 NS 记录里哪一台才是主要的服务器。 |
A | Address | 指定主机名(或域名)对应的IP地址记录。 |
CNAME | 别名解析 | 主机名到主机名的映射,当需要将域名指向另一个域名,再由另一个域名提供 IP 地址时,就需要添加 CNAME 记录。 |
NS | Name Server | 域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。 |
AAAAA | IPV6地址解析 | 将域名解析到IPv6地址的DNS记录。 |
TXT | 文本记录 | 通过设置TXT记录内容可以使别人更方便地联系到你,常用的方式还有做 SPF 记录(反垃圾邮件)和SSL证书的DNS验证等。 |
MX | Mail Exchanger | 邮件交换记录,主要用于邮箱解析,在邮件系统发送邮件时根据收信人的地址后缀进行邮件服务器的定位。 |
PTR | 反向DNS | 用于将一个IP地址映射到对应的主机名,也可以看成是A记录的反向。 |
SRV | 服务定位资源记录 | 用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等。 |
显性URL转发 | 重定向 | 将域名重定向到另一个网址其实就是返回301/302 重定向。 |
隐性url转发 | 重定向 | 地址栏不变将目标地址以iframe的形式嵌入到当前浏览器页面。 |
五、DNS的安全性
DNS劫持:攻击者篡改DNS查询结果,将用户引导到恶意网站,防御措施包括使用DNSSEC(域名系统安全扩展)技术规范和协议进行数字签名和验证链。
DNS缓存投毒:攻击者向DNS服务器注入虚假的解析结果,污染DNS缓存,防御措施包括使用DNSSEC和随机化查询ID。
DNS隐私泄露:DNS查询以明文形式传输,容易被窃取,防御措施包括使用DoH(将DNS封装在HTTPS中)或DoT(在DNS基础上简历TLS)加密DNS查询。
六、DNS的应用场景
域名解析:将域名解析为IP地址,使用户能够通过域名访问系统资源。
负载均衡:通过DNS轮询或者多条A记录,将流量分配到多个服务器。
邮件路由:通过MX记录指定邮箱服务器的地址,确保邮箱正确路由。
CDN加速:通过智能DNS解析,将用户请求路由到最近的DNS节点。
七、相关问题与解答栏目
问题一:什么是DNS劫持?如何防御?
解答:DNS劫持是攻击者篡改DNS查询结果,将用户引导到恶意网站的行为,防御措施包括使用DNSSEC(域名系统安全扩展)技术规范和协议进行数字签名和验证链。
问题二:DNS缓存投毒是什么?如何防御?
解答:DNS缓存投毒是攻击者向DNS服务器注入虚假的解析结果,污染DNS缓存的行为,防御措施包括使用DNSSEC和随机化查询ID。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/161161.html