DNS协议工作过程

  下面以域名为m.xyz.com的主机欲通过另一个主机的域名y.abc.com的IP地址为例,简述DNS协议过程。

  1. 主机m.xyz.com先向其本地服务器dns.xyz.com进行递归查询。
  2. 本地域名服务器先查询高速缓存,如果不久前已经查询过域名y.abc.com的IP,那么本地域名服务器就不必向根域名服务器查询,而是直接把高速缓存中存放的上次查询的结果(即y.abc.com的IP地址)告诉用户。
  3. 本地域名服务器采用迭代查询。他先向一个根域名服务器查询。
  4. 根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器dns.com的IP地址。
  5. 本地域名服务器向顶级域名服务器dns.com进行查询。
  6. 顶级域名服务器dns.com告诉本地域名服务器,下一次应查询的权限域名服务器dns.abc.com的IP地址。
  7. 本地域名服务器向权限域名服务器dns.abc.com进行查询。
  8. 权限域名服务器dns.abc.com告诉本地域名服务器,所查询的主机的ip地址。
  9. 本地域名服务器最后把查询的结果告诉主机m.xyz.com。

安全隐患

  由于DNS本身的设计缺陷,没有提供适当的信息保护和认证机制,使得DNS很容易受到攻击。比如DNS Spoofing(DNS欺骗)、Cache Poisoing(缓存中毒),Server Compromising(服务器中毒),DoS。DNS Spoofing(DNS欺骗)、Cache Poisoing(缓存中毒)是其中最容易实现,且危害最大的两个攻击。DNS欺骗能够实现的成因是,在DNS报文中只使用一个序列号来进行有效性鉴别,加之DNS客户端简单地信任首先到达的应答包而丢弃所有后到达的应答包,使得攻击者很容易监听到查询请求并伪造应答包给DNS客户端。缓存中毒的成因也是由于DNS协议没有提供恰当的认证机制。在已知端口号的前提下,利用“生日攻击”,通过发送大量的DNS应答包来猜测攻击目标的DNS请求包的ID号,如果所发送的伪造应答包中存在和请求包的ID一致的情况,也就是产生了所谓的“碰撞”,则欺骗成功。

消除DNS安全隐患

  1. 对少数信息安全级别要求高的网站避免使用DNS。可以直接通过IP地址访问,绕开DNS服务。
  2. 防范ARP攻击。因为DNS欺骗需要以ARP欺骗为基础。避免了ARP攻击的可能,自然无法进行DNS欺骗。
  3. 发送DNS请求时采用随机端口,降低“碰撞”成功的可能性。
  4. 为信息安全要求高的网站建立标准的IP映射表。为少部分网站(比如设计私密信息的网站或经常访问的网站)制作静态标准DNS映射表。
  5. 被动检测。针对攻击往往在短时间内发送大量针对同一个域名的请求包的特点,进行检测或者限制发送的请求包的数量。

DNS协议工作过程;DNS的安全隐患的更多相关文章

  1. 第一天开通博客,就粗略写一下刚了解TCP/IP协议工作过程

    Tcp/Ip协议分为四层:底层到高层顺序 链路层(硬件,网卡这些) 网络层(选择一条传输路径,如何从一台计算机请求另一条计算机) 传输层(遵循TCP(传输控制协议),UDP(用户数距协议)这些协议) ...

  2. TLS协议工作过程;如何应用TLS/SSL协议为WEB流量提供安全

      SSL/TLS协议的基本过程是这样的: 客户端向服务器端索要并验证公钥. 双方协商生成"对话密钥". 双方采用"对话密钥"进行加密通信.   上面过程的前两 ...

  3. 通过wireshark,以及python代码收发邮件,了解smtp协议,pop协议工作过程

    40返回连接server成功 41.43发送ehlo命令查询server支持命令 返回250 44.46请求认证  server响应235认证成功 47.49发送mail命令发送者邮箱  返回250 ...

  4. H3C OSPF协议工作过程概述

  5. 应用层协议FTP、DNS协议、HTTP协议分析

    分析所用软件下载:Wireshark-win32-1.10.2.exe 一.阅读导览 1.分析FTP协议 2.分析DNS协议 3. 分析HTTP协议 二.分析要求 (1)ftp部分: 学习 Serv- ...

  6. 利用WireShark进行DNS协议分析

    一.准备工作 系统是Windows 8.1Pro 分析工具是WireShark1.10.8 Stable Version 使用系统Ping命令发送ICMP报文. 二.开始工作 打开CMD.exe键入: ...

  7. (转)协议森林13 9527 (DNS协议)

    协议森林13 9527 (DNS协议) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在周星驰的电影<唐伯虎点秋香> ...

  8. 超详细 DNS 协议解析

    尽人事,听天命.博主东南大学研究生在读,热爱健身和篮球,正在为两年后的秋招准备中,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 C ...

  9. Service系统服务(四):搭建单区域DNS服务器、特殊DNS解析、配置DNS子域授权、搭建并测试缓存DNS

    一.搭建单区域DNS服务器 目标: 本例要求要求为DNS区域tedu.cn搭建一台DNS服务器,以便用户能通过域名的方式访问网站.测试阶段主要提供以下正向记录: svr7.tedu.cn ---> ...

随机推荐

  1. tp3.2sql改变时间格式

    tp3.2sql改变时间格式2018-05-10取05-10 $listIn=D('api_article as a')->field('date_format( fabutime,\'%m-% ...

  2. 流(Stream)与文件流(FileStream)

    //通过流的方式添加 StreamWriter writer = new StreamWriter(@"C:\A\ca.txt", true, Encoding.Default); ...

  3. failed to open stream: Permission denied in警告错误

    问题是文件所在目录的权限问题导致的.只需要将警告文件所在的目录权限更改为777(至少是006)即可 例如 (...a.log)failed to open stream: Permission den ...

  4. web前端基本开发手册

    --------------------------------- 一.概况 1.1  WEB 标准 二.实现WEB标准 2.1  XHTML.CSS介绍 2.2  XHTML书写规范 2.2.1 X ...

  5. remote staging type or host is not specified

    idea在tomcat配置中显示此错误 配置下面选上就好了

  6. [转] 常用的CSS命名规则

    (一)常用的CSS命名规则  头:header  内容:content/container  尾:footer  导航:nav  侧栏:sidebar  栏目:column  页面外围控制整体布局宽度 ...

  7. spark 运行架构

    spark 运行架构基本由三部分组成,包括SparkContext(驱动程序),ClusterManager(集群资源管理器)和Executor(任务执行过程)组成. 其中SparkContext负责 ...

  8. springMVC源码学习之addFlashAttribute源码分析

    本文主要从falshMap初始化,存,取,消毁来进行源码分析,springmvc版本4.3.18.关于使用及验证请参考另一篇jsp取addFlashAttribute值深入理解即springMVC发r ...

  9. leetcode1017

    这道题目很巧妙,似乎是有些过于巧妙了,属于我未知领域的类型,把原作者的解决方案放这里.(看大家都在给差评,我也顺手给个差评吧--) 参考:https://leetcode.com/problems/c ...

  10. Oracle保留两位小数的函数

    1.最终保存成字符串类型 使用to_char()函数 // 其9代表:如果存在数字则显示数字,不存在则显示空格 // 其0代表:如果存在数字则显示数字,不存在则显示0,即占位符 // 其FM代表:删除 ...