DNS协议工作过程;DNS的安全隐患
DNS协议工作过程
下面以域名为m.xyz.com的主机欲通过另一个主机的域名y.abc.com的IP地址为例,简述DNS协议过程。
- 主机m.xyz.com先向其本地服务器dns.xyz.com进行递归查询。
- 本地域名服务器先查询高速缓存,如果不久前已经查询过域名y.abc.com的IP,那么本地域名服务器就不必向根域名服务器查询,而是直接把高速缓存中存放的上次查询的结果(即y.abc.com的IP地址)告诉用户。
- 本地域名服务器采用迭代查询。他先向一个根域名服务器查询。
- 根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器dns.com的IP地址。
- 本地域名服务器向顶级域名服务器dns.com进行查询。
- 顶级域名服务器dns.com告诉本地域名服务器,下一次应查询的权限域名服务器dns.abc.com的IP地址。
- 本地域名服务器向权限域名服务器dns.abc.com进行查询。
- 权限域名服务器dns.abc.com告诉本地域名服务器,所查询的主机的ip地址。
- 本地域名服务器最后把查询的结果告诉主机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安全隐患
- 对少数信息安全级别要求高的网站避免使用DNS。可以直接通过IP地址访问,绕开DNS服务。
- 防范ARP攻击。因为DNS欺骗需要以ARP欺骗为基础。避免了ARP攻击的可能,自然无法进行DNS欺骗。
- 发送DNS请求时采用随机端口,降低“碰撞”成功的可能性。
- 为信息安全要求高的网站建立标准的IP映射表。为少部分网站(比如设计私密信息的网站或经常访问的网站)制作静态标准DNS映射表。
- 被动检测。针对攻击往往在短时间内发送大量针对同一个域名的请求包的特点,进行检测或者限制发送的请求包的数量。
DNS协议工作过程;DNS的安全隐患的更多相关文章
- 第一天开通博客,就粗略写一下刚了解TCP/IP协议工作过程
Tcp/Ip协议分为四层:底层到高层顺序 链路层(硬件,网卡这些) 网络层(选择一条传输路径,如何从一台计算机请求另一条计算机) 传输层(遵循TCP(传输控制协议),UDP(用户数距协议)这些协议) ...
- TLS协议工作过程;如何应用TLS/SSL协议为WEB流量提供安全
SSL/TLS协议的基本过程是这样的: 客户端向服务器端索要并验证公钥. 双方协商生成"对话密钥". 双方采用"对话密钥"进行加密通信. 上面过程的前两 ...
- 通过wireshark,以及python代码收发邮件,了解smtp协议,pop协议工作过程
40返回连接server成功 41.43发送ehlo命令查询server支持命令 返回250 44.46请求认证 server响应235认证成功 47.49发送mail命令发送者邮箱 返回250 ...
- H3C OSPF协议工作过程概述
- 应用层协议FTP、DNS协议、HTTP协议分析
分析所用软件下载:Wireshark-win32-1.10.2.exe 一.阅读导览 1.分析FTP协议 2.分析DNS协议 3. 分析HTTP协议 二.分析要求 (1)ftp部分: 学习 Serv- ...
- 利用WireShark进行DNS协议分析
一.准备工作 系统是Windows 8.1Pro 分析工具是WireShark1.10.8 Stable Version 使用系统Ping命令发送ICMP报文. 二.开始工作 打开CMD.exe键入: ...
- (转)协议森林13 9527 (DNS协议)
协议森林13 9527 (DNS协议) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在周星驰的电影<唐伯虎点秋香> ...
- 超详细 DNS 协议解析
尽人事,听天命.博主东南大学研究生在读,热爱健身和篮球,正在为两年后的秋招准备中,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 C ...
- Service系统服务(四):搭建单区域DNS服务器、特殊DNS解析、配置DNS子域授权、搭建并测试缓存DNS
一.搭建单区域DNS服务器 目标: 本例要求要求为DNS区域tedu.cn搭建一台DNS服务器,以便用户能通过域名的方式访问网站.测试阶段主要提供以下正向记录: svr7.tedu.cn ---> ...
随机推荐
- ubuntu18.04 LTS解决/boot空间不足
1. 查看磁盘占用情况 df -h Filesystem Size Used Avail Use% Mounted on/dev/nvme0n1p5 181M 141M 27M ...
- bzoj2555 substring(LCT 后缀自动机)
/* 动态求right集合的大小 LCT维护parent树即可 注意 由于树是有向的不会换根并且每次操作单一, 于是不需要维护子树和(写起来很麻烦) 直接打标记修改即可 */ #include< ...
- tornado-websocket
WebSockets 允许浏览器和服务器之间进行 双向通信 server端: class WebSocketHandler(WebBaseHandler): ''' websocket ''' use ...
- Mysql 多字段去重
使用group by去重现在有如下表 id name age1 张三 232 李四 343 张三 234 李四 32 需求 : 按照name和age字段联合去重 sql如下 select * from ...
- 配置Eclipse的Maven环境
- python中的find、rfind、index、rindex
find()从左向右寻找子序列的位置,如存在多个相同子序列只返回第一个查找到的位置,如果子序列不存在返回-1 rfind()从右向左寻找子序列的位置..... index()从左向右寻找子序列的位置, ...
- SDE在64位Server2008下Post启动服务失败官方解释
解决了一个SDE启动问题,在此记录一下 在server 2008 64位下安装完arcgis sde之后,Post启动服务,总是失败 查看SDE日志(etc目录下) DB_open_instance( ...
- 关于 Container ,Injection
1.容器的历史 容器概念始于 1979 年提出的 UNIX chroot,它是一个 UNIX 操作系统的系统调用,将一个进程及其子进程的根目录改变到文件系统中的一个新位置,让这些进程只能访问到这个新的 ...
- 关于 build tools
1.build tools是什么 Build Tools 即构建工具是一个把源代码生成可执行应用程序的过程自动化的程序(例如Android app生成apk).构建包括编译.连接跟把代码打包成可用的或 ...
- http://www.cnblogs.com/hanshuhe/archive/2012/08/30/vss.html
http://www.cnblogs.com/hanshuhe/archive/2012/08/30/vss.html