2014.1.21 DNS大事故(dns原理、网络封锁原理)
1.21那天发生了什么,由1.21联想补充……
很多网站都上不去,域名解析都到了65.49.2.178这个IP地址
先科普,再深挖
dns查询类型 递归查询,迭代查询
DNS解析过程,这里使用linux的dig命令 详细显示
pc与8.8.8.8的过程为递归查询
8.8.8.8与各个服务器之间为迭代
8.8.8.8缓存 不存在记录则向 全球根域名服务器查询 总共13个根域名服务器 a~m (负责记录各后缀所对应的TOPLEVEL Domain Server[顶级域名根服务器]).
16318 IN NS m.root-servers.net.. 16318 IN NS d.root-servers.net.. 16318 IN NS g.root-servers.net.. 16318 IN NS j.root-servers.net.. 16318 IN NS c.root-servers.net.. 16318 IN NS h.root-servers.net.. 16318 IN NS i.root-servers.net. 根域名. 16318 IN NS a.root-servers.net..
16318 IN NS b.root-servers.net.. 16318 IN NS l.root-servers.net.. 16318 IN NS f.root-servers.net.. 16318 IN NS e.root-servers.net.. 16318 IN NS k.root-servers.net. ;;
Received 228 bytes from 8.8.8.8#53(8.8.8.8) in 250 ms
根域服务器向8.8.8.8 返回 .com[顶级域名根服务器]地址 8.8.8.8再向顶级域查询 (顶级域名根服务器中存储着[权威DNS服务器])
com. 172800 IN NS f.gtld-servers.net.com.
172800 IN NS m.gtld-servers.net.com. 172800 IN NS e.gtld-servers.net.com. 172800 IN NS a.gtld-servers.net.com. 172800 IN NS d.gtld-servers.net.com. 172800 IN NS l.gtld-servers.net.com. 172800 IN NS c.gtld-servers.net.com. 172800 IN NS b.gtld-servers.net. 顶级域com. 172800 IN NS i.gtld-servers.net.com. 172800 IN NS j.gtld-servers.net.com. 172800 IN NS k.gtld-servers.net.com. 172800 IN NS h.gtld-servers.net.com. 172800 IN NS g.gtld-servers.net.;;
Received 503 bytes from 192.33.4.12#53(c.root-servers.net) in 328 ms
顶级域向8.8.8.8返回 权威dns服务器、域名注册地的dns
baidu.com. 172800 IN NS dns.baidu.com.baidu.com.
172800 IN NS ns2.baidu.com.baidu.com.
172800 IN NS ns3.baidu.com. 权威dnsbaidu.com.
172800 IN NS ns4.baidu.com.baidu.com.
172800 IN NS ns7.baidu.com.;;
Received 201 bytes from 192.54.112.30#53(h.gtld-servers.net) in 406 ms
8.8.8.8再向权威dns查询
www.baidu.com.
1200 IN CNAME www.a.shifen.com.a.shifen.com.
1200 IN NS ns1.a.shifen.com.a.shifen.com.
1200 IN NS ns2.a.shifen.com.a.shifen.com.
1200 IN NS ns3.a.shifen.com.a.shifen.com.
1200 IN NS ns5.a.shifen.com.a.shifen.com.
1200 IN NS ns4.a.shifen.com.;;
Received 228 bytes from 220.181.38.10#53(ns4.baidu.com) in 15 ms
一直迭代查询,直到有一台DNS服务器可以顺利解析出这个地址为止。直到返回结果,或者失败8.8.8.8将这个结果发送给pc客户端。在这个过程中,客户端一直处理等待状态,
这是dns的一般过程
下面说下网站服务器使用双线接入技术,
一根联通线
一根电信线
为了给用户更快更好的浏览体验
当用户在浏览器地址栏上输入,网站域名时(例如www.hehe.com)回车时
如何鉴别用户线路?????走联通ip???还是走电信ip????
有几种技术 1 .自建BGP机房 2.智能DNS解析 3.网站双镜像
1.自建BGP机房
BGP(边界网关协议)主要用于互联网AS(自治系统)之间的互联,BGP的最主要功能在于控制路由的传播和选择最好的路由。
通过BGP协议将此段IP地址广播到其它的网络运营商的网络中。使用BGP协议互联后,网络运营商的所有骨干路由设备将会判断到IDC机房IP段的最佳路由,以保证不同网络运营商用户的高速访问。
服务器只需要设置一个IP地址,最佳访问路由是由网络上的骨干路由器根据路由跳数与其它技术指标来确定的,不会占用服务器的任何系统资源。服务器的上行路由与下行路由都能选择最优的路径,所以能真正实现高速的单IP高速访问。
用BGP协议还可以使网络具有很强的扩展性可以将IDC网络与其他运营商互联,轻松实现单IP多线路,做到所有互联运营商的用户访问都很快。这个是双IP双线无法比拟的。
成本较大
2.智能DNS解析
把自己的域名DNS服务器选为可以提供 智能DNS解析 的运营商,比如dnspod,等等
*去dnspod申请一个账号,在这个账号里会给你dnspod官方域名解析服务器的地址(比如 f1g1ns1.dnspod.net)
*去自己注册域名的域名服务商那里 把自己的域名解析地址设置为 dnspod的服务器比如 ( f1g1ns1.dnspod.net)这样当网站使用电信 联通 双ip接入时 。网站浏览用户在浏览器地址栏输入网站域名,回车时,请求传递到dnspod智能DNS解析服务器,其根据用户的因素及相关算法 返回给用户 联通或者电信 ip地址。
成本低,设置较快。
3. 网站镜像
这种越来越少了 ,在用户进入网站首页时让用户自己选择访问线路,联通or电信
能看到这里的应该是专业人员或者网络爱好者,2.14.1.21 dns大事故,个人联想
很多网站都上不去,域名解析都到了65.49.2.178这个IP地址
谁攻击的dns服务器?能导致这么多网站被错误解析?谁有这样的实力和胆量呢?
被攻击的是 com通用顶级域的根 国内大面积(有数据称达2/3)
外国灰客?网络雇佣兵?蓝翔技校寒假作业?
再次联想
补充下dns另类知识
1.dns劫持:
通过劫持了DNS服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP
2.DNS污染 :
通常的DNS查询没有任何认证机制,而且DNS查询通常基于的UDP是无连接不可靠的协议,因此DNS的查询非常容易被篡改,
DNS污染的数据包并不是在网络数据包经过的路由器上,而是在其旁路产生的。所以DNS污染并无法阻止正确的DNS解析结果返回,但由于旁路产生的错误数据包发回的速度较国外DNS服务器发回的快,操作系统认为第一个收到的数据包就是返回结果,从而忽略其后收到的数据包,从而使得DNS污染得逞。
所以有很多“危险网站",为了防止网友访问,对社会造成危害,xx就采用dns污染的方法。
你输入域名回车进行dns解析时,污染就生效了,一个假的dns数据回复包迅速发到你的电脑,告你你一个错误的ip地址或者一个路由黑洞,让你无法访问,
有些人会采用直接输入ip地址(a.b.c.d)的方法来访问“非法网站”,以此来躲避dns污染,长_.城采用以下措施进行屏蔽
*路由扩散技术
使用的静态路由其实是一条错误的路由,而且是有意配置错误的,其目的就是为了把本来是发往某个IP地址的数据包统统引导 到 一个“黑洞服务器”上,而不是把它们转发到正确目的地。这个黑洞服务器上可以什么也不做,这样数据包就被无声无息地丢掉了 更多地,可以在服务器上对这些数据包进行分析和统计,获取更多的信息,甚至可以做一个虚假的回应。
通过这种方法封锁特定IP地址需要修改路由表
*ACL 访问控制列表
很简单,很容易理解
在出口处作如下配置
举例:
access-list 101 deny tcp any host a.b.c.d eq www
其实还可以再简单些 在入口方向
access-list 1 deny udp host a.b.c.d 谁都进不来
*IP地址特定端口封锁
火长城配合上文中特定IP地址封锁里路由扩散技术封锁的方法进一步精确到端口,从而使发往特定IP地址上特定端口的数据包全部被丢弃而达到封锁目的,使该IP地址上服务器的部分功能无法在中国大陆境内正常使用。
经常会被防火长城封锁的端口:
SSH的TCP协议22端口PPTP类型VPN使用的TCP协议1723端口,L2TP类型VPN使用的UDP协议1701端口,IPSec类型VPN使用的UDP协议500端口和4500端口,OpenVPN默认使用的TCP协议和UDP协议的1194端口TLS/SSL/HTTPS的TCP协议443端口Squid Cache的TCP协议3128端口
在中国移动、中国联通等部分ISP的手机IP段,所有的PPTP类型的VPN都遭到封锁。
2011年3月起,防火长城开始对Google部分服务器的IP地址实施自动封锁(按时间段)某些端口,按时段对www.google.com(用户登录所有Google服务时需此域名加密验证)和mail.google.com的几十个IP地址的443端口实施自动封锁,具体是每10或15分钟可以连通,接着断开,10或15分钟后再连通,再断开,如此循环,使中国大陆用户和Google主机之间的连接出现间歇性中断,使其各项加密服务出现问题。[19]Google指中国这样的封锁手法高明,因为Gmail并非被完全阻断,营造出Google服务“不稳定”的假象,表面上看上去好像出自Google本身。[20]
*无状态tcp协议重置
监控特定IP地址的所有数据包,若发现匹配的黑名单动作(例如TLS加密连接的握手),其会直接在TCP连接握手的第二步即SYN-ACK之后伪装成对方向连接两端的计算机发送RST数据包(RESET)重置连接,使用户无法正常连接至服务器。
这种方法和特定IP地址端口封锁时直接丢弃数据包不一样,因为是直接切断双方连接因此封锁成本很低,故对于Google的多项(强制)加密服务例如Google文件、Google网上论坛、Google+和Google个人资料等的TLS加密连接都是采取这种方法予以封锁。
外国网络安全专家都认为,这次DNS污染事件影响之广、范围之大在国内尚属首例,远远超出一般黑客的能力范围。“很可能与主干网络的设置调整有关。”
极有可能是国家工作人员手残,在设置参数时将封锁特定ip设置为导向特定ip,so,所有网站dns解析全部流向此ip,原因在此。
2014.1.21 DNS大事故(dns原理、网络封锁原理)的更多相关文章
- centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课
centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更 ...
- 转载:把你的精力专注在java,jvm原理,spring原理,mysql锁,事务,多线程,大并发,分布式架构,微服务,以及相关的项目管理等等,这样你的核心竞争力才会越来越高
https://developer.51cto.com/art/202001/608984.htm 把你的精力专注在java,jvm原理,spring原理,mysql锁,事务,多线程,大并发,分布式架 ...
- 什么是DNS劫持和DNS污染?
什么是DNS劫持和DNS污染? http://blogread.cn/it/article/7758?f=weekly 说明 我们知道,某些网络运营商为了某些目的,对 DNS 进行了某些操作,导致使用 ...
- http 协议_DNS_域名解析 DNS 服务器_内容分发网络 CDN_缓存机制_HTML5 浏览器存储技术_cookie_sessionStorage_localStorage
TCP/IP 协议族 是按层次去划分的 应用层 决定了向用户提供应用服务时通信的活动. FTP 协议(文件传输协议)DNS(域名协议)HTTP(超文本传输协议) 传输层 提供处于网络连接中 ...
- ELK学习笔记之F5 DNS可视化让DNS运维更安全更高效-F5 ELK可视化方案系列(3)
0x00 概述 此文力求比较详细的解释DNS可视化所能带来的场景意义,无论是运维.还是DNS安全.建议仔细看完下图之后的大篇文字段落,希望能引发您的一些思考. 在“F5利用Elastic stack( ...
- IDC:2014年的十大 IT 趋势
IDC:2014年的十大 IT 趋势 市场研究公司 IDC 近日发布报告,对 2014 年的十大科技行业发展趋势作出了预测.IDC 称,2014 年将是科技业"鏖战正酣"的一年,整 ...
- DNS重绑定DNS Rebinding攻击
DNS重绑定DNS Rebinding攻击 在网页浏览过程中,用户在地址栏中输入包含域名的网址.浏览器通过DNS服务器将域名解析为IP地址,然后向对应的IP地址请求资源,最后展现给用户.而对于域名所有 ...
- Python写各大聊天系统的屏蔽脏话功能原理
Python写各大聊天系统的屏蔽脏话功能原理 突然想到一个视频里面弹幕被和谐的一满屏的*号觉得很有趣,然后就想用python来试试写写看,结果还真玩出了点效果,思路是首先你得有一个脏话存放的仓库好到时 ...
- DNS劫持和DNS污染的区别
我们知道,某些网络运营商为了某些目的,对DNS进行了某些操作,导致使用ISP的正常上网设置无法通过域名取得正确的IP地址.常用的手段有:DNS劫持和DNS污染. 什么是DNS劫持 DNS劫持就是通过劫 ...
随机推荐
- bootstrap4popper.js报错Uncaught ReferenceError
这是因为bootstrap4需要umd版的popper.js <script src="https://cdn.bootcss.com/popper.js/1.15.0/umd/pop ...
- 【ARM】---关于ARM内核与架构的解释
本文摘自某论坛某位大神的一段回复,经典至极,copy来己用! 只要你玩过ARM内核的芯片,那么关于内核和架构,我想应该或多或少的困惑过你,看了下面的介绍,你应该会清楚很多! 好比你盖房子,刚开始因为水 ...
- 线性基 - 寻找异或第K大
XOR is a kind of bit operator, we define that as follow: for two binary base number A and B, let C=A ...
- Java8 新特性(三) - 日期时间对象以及一些其他特性
日期时间对象 关于日期时间的操作可以分为两种: 转换:与字符串的互相转换,与时间戳的互相转换 计算:计算两个时间点之间的间隔.时间点与时间段的计算(计算下周N.下个月D日.去年M月D日等等) Java ...
- [bzoj4447] [loj#2010] [Scoi2015] 小凸解密码
Description 小凸得到了一个密码盘,密码盘被等分成 \(N\) 个扇形,每个扇形上有一个数字(0-9),和一个符号("+"或"*") 密码盘解密的方法 ...
- influxdb基础那些事儿
InfluxDB是一个开源的时序数据库,使用GO语言开发,特别适合用于处理和分析资源监控数据这种时序相关数据.而InfluxDB自带的各种特殊函数如求标准差,随机取样数据,统计数据变化比等,使数据统计 ...
- doT 这个模板 是怎么实现的?(1)
- c#数字图像处理(十二)图像的腐蚀与膨胀
背景知识 腐蚀与膨胀基本原理:就是用一个特定的结构元素来与待处理图像按像素做逻辑操作:可以理解成拿一个带孔的网格板(结构元素矩阵中元素为1的为孔)盖住图像的某一部分,然后按照各种不同的观察方式来确定操 ...
- pycharm安装PIL失败
搜索安装PIL后无法成功安装,在尝试各种版本后依旧无法解决 问题解决 安装Pillow-PIL,既可以成功执行代码 因为pil没有64位的版本,所以需要下载安装第三方支持64位系统的版本才可以使用.
- git---如何在远程某个分支的基础上新建分支
问题场景 技术主管让你去再某个git分支上新建一个分支去做你的项目,那么如何在原远程分支的基础上新建自己的分支呢? 解决方法 按照以下命令敲即可 git branch newBranch //新建本地 ...