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. sas infile 控制导入长度

    /*尝试使用infile解决uesrname的录入只能存储一单位的问题*/data TestPayRecord2;infile "D:\开发工具\购买记录表.csv" dlm='2 ...

  2. 普通数组和json数组的区别

    PHP 数组 什么是数组? 数组是特殊的变量,它可以同时保存一个以上的值. 在 PHP 中创建数组 在 PHP 中, array() 函数用于创建数组 在 PHP 中,有三种数组类型: 索引数组 - ...

  3. JavaScript简单的实例应用

    1.显示当前时间: <!doctype> <html> <head> <meta charset='utf-8'> <script type='t ...

  4. 02-spark sql

    1.概念 Spark SQL是一个用来处理结构化数据的Spark组件. 优点:  ①SparkSQL是一个SQL解析引擎,将SQL解析成特殊的RDD(DataFrame),然后在Spark集群中运行 ...

  5. ActiveMQ核心技术

                                        消息中间件技术 一.ActiveMQ 1>生产消息,消费消息流程图

  6. [转] 高频 mos 选择需要考虑相关资料

    节选自 http://www.dianyuan.com/bbs/987183.html [草根大侠]贴 关于MOS管导通内阻和米勒电容(Qgd)差异对效率的影响 http://www.epc.com. ...

  7. 插件:★★★ !!!图片懒加载 lazyload.js 、 jquery.scrollLoading.js

    插件:图片懒加载 jquery.lazyload.js 2016-3-31 插件说明:http://www.w3cways.com/1765.html (小插件,好用) 下载地址: https://r ...

  8. Maven私服安装

    下载安装包:nexus(https://www.sonatype.com/download-oss-sonatype) 默认用户密码字符串: adminAdministratorUseractive& ...

  9. Maven项目jar包的依懒范围

  10. twisted的installReactor()函数

    #twisted的安装反应堆函数def installReactor(reactor): """ Install reactor C{reactor}. @param r ...