- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章面对 DNS 劫持,只能坐以待毙吗?由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
DNS 劫持作为最常见的网络攻击方式,是每个站长或者运维团队最为头疼的事情。苦心经营的网站受到 DNS 劫持后,不仅会影响网站流量、权重,还会让用户置身于危险之中,泄露隐私造成财产损失.
就是这样一个简单到不能再简单的攻击方式,在 2009 年制造了轰动全球的“银行劫持案”,导致巴西最大银行 Banco Bradesco 银行近 1% 客户受到攻击而导致账户被盗。黑客利用宽带路由器缺陷对用户 DNS 进行篡改——用户浏览黑客所制作的 Web 页面,其宽带路由器 DNS 就会被黑客篡改,由于该 Web 页面设有巧妙设计的恶意代码,成功躲过安全软件检测,导致大量用户被 DNS 钓鱼诈骗.
网站被黑、被歹意镜像、被植入垃圾代码,现象屡见不鲜,其危害还包括:
但面对DNS劫持时,只能束手就擒吗?
知己知彼,什么是 DNS?
DNS 即 Domain Name System 的缩写,域名系统以分布式数据库的形式将域名和 IP 地址相互映射。简单的说,DNS 是用来解析域名的,在正常环境下,用户的每一个上网请求会通过 DNS 解析指向到与之相匹配的 IP 地址,从而完成一次上网行为。DNS 作为应用层协议,主要是为其他应用层协议工作的,包括不限于 HTTP、SMTP、FTP,用于将用户提供的主机名解析为 IP 地址,具体过程如下:
(1)用户主机(PC 端或手机端)上运行着 DNS 的客户端; 。
(2)浏览器将接收到的 URL 中抽取出域名字段,即访问的主机名,比如 http://www.aliyun.com/ , 并将这个主机名传送给 DNS 应用的客户端; 。
(3)DNS 客户机端向 DNS 服务器端发送一份查询报文,报文中包含着要访问的主机名字段(中间包括一些列缓存查询以及分布式 DNS 集群的工作); 。
(4)该 DNS 客户机最终会收到一份回答报文,其中包含有该主机名对应的 IP 地址; 。
(5)一旦该浏览器收到来自 DNS 的 IP 地址,就可以向该 IP 地址定位的 HTTP 服务器发起 TCP 连接.
( 图片源自网络,仅作示意 ) 。
可以看到想要获取目标网站 IP,除了在本机中查找行为,还需要第三方服务器(DNS)参与。但只要经过第三方服务,网络就不属于可控制范围,那么就有可能产生 DNS 挟持,比如获取的 IP 并不是实际想要的 IP,从而打开非目标网站。网站在经过本地 DNS 解析时,黑客将本地 DNS 缓存中的目标网站替换成其他网站的 IP 返回,而客户端并不知情,依旧按照正常流程寻址建并立连接。如果一些黑客想要盗取用户账号及密码时,黑客可以做跟目标网站一模一样的木马页面,让用户登录,当用户输入完密码提交的时候就中招了.
常见 DNS 劫持手段又有哪些?
(1)利用 DNS 服务器进行 DDoS 攻击 。
正常 DNS 服务器递归询问过程被利用,变成 DDoS 攻击。假设黑客知晓被攻击机器 IP 地址,攻击者使用该地址作为发送解析命令的源地址。当使用 DNS 服务器递归查询后会响应给最初用户。如果黑客控制了足够规模的肉鸡进行上述操作。那么,这个最初用户就会受到来自于 DNS 服务器的响应信息 DDoS 攻击,成为被攻击者.
(2)DNS 缓存感染 。
黑客使用 DNS 请求将数据注入具有漏洞的 DNS 服务器缓存中。这些缓存信息会在客户进行 DNS 访问时返回给用户,把用户对正常域名的访问引导到入侵者所设置挂马、钓鱼等页面上,或通过伪造邮件和其他服务获取用户口令信息,导致客户遭遇进一步侵害.
(3)DNS 信息劫持 。
原则上 TCP/IP 体系通过序列号等多种方式避免仿冒数据插入,但黑客通过监听客户端和 DNS 服务器对话,就可以解析服务器响应给客户端的 DNS 查询 ID。每个 DNS 报文包括一个相关联的 16 位 ID,DNS 服务器根据这个 ID 获取请求源位置。黑客在 DNS 服务器之前将虚假响应交给用户,欺骗客户端去访问恶意网站。假设当提交给某个域名服务器域名解析请求的数据包被截获,然后按黑客的意图将虚假 IP 地址作为应答信息返回给请求者。这时,原始请求者就会把这个虚假 IP 地址作为它所要请求的域名而进行连接,显然它被引导到了别处而根本连接不上自己想要连接的那个域名.
(4)ARP 欺骗 。
通过伪造 IP 地址和 MAC 地址实现 ARP 欺骗,在网络中产生大量 ARP 通信量使网络阻塞,黑客只要持续不断发出伪造的 ARP 响应包就能更改目标主机 ARP 缓存中的 IP-MAC 条目,造成网络中断或中间人攻击。ARP 攻击主要是存在于局域网网络中,局域网中若有一台计算机感染 ARP 木马,则感染该 ARP 木马的系统将会试图通过"ARP 欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。ARP 欺骗通常是在用户局网中,造成用户访问域名的错误指向,但在 IDC 机房被入侵后,则也可能出现攻击者采用 ARP 包压制正常主机、或者压制 DNS 服务器,以使访问导向错误指向.
DNS 劫持对业务造成哪些影响?
一旦被劫持,相关用户查询就没办法获取到正确 IP 解析,这就很容易造成:
(1)很多用户习惯依赖书签或者易记域名进入,一旦被劫持会使这类用户无法打开网站,更换域名又没办法及时告知变更情况,导致用户大量流失.
(2)用户流量主要是通过搜索引擎 SEO 进入,DNS 被劫持后会导致搜索引擎蜘蛛抓取不到正确 IP,网站就可能会被百度 ban 掉.
(3)一些域名使用在手机应用 APP 调度上,这些域名不需要可以给客户访问,但这些域名的解析关系到应用 APP 访问,如果解析出现劫持就会导致应用 APP 无法访问。这时候更换域名就可能会导致 APP 的下架,重新上架需要审核并且不一定可以重新上架。这就会导致应用 APP 会有用户无法访问或者下载的空窗期.
可以看到,DNS 劫持对业务有着巨大影响,不仅仅是用户体验的损失,更是对用户资产安全、数据安全的造成潜在的巨大风险.
我们该如何监测网站是否被 DNS 劫持?
借助 ARMS-云拨测,我们实时对网站进行监控,实现分钟级别的监控,及时发现 DNS 劫持以及页面篡改.
劫持检测 。
DNS 劫持监测 。
利用域名白名单、元素白名单,有效探测域名劫持以及元素篡改情况。在建立拨测任务时,我们可以设置 DNS 劫持白名单。比如,我们配置 DNS 劫持格式的文件内容为 www.aliyun.com:201.1.1.22|250.3.44.67。这代表 www.aliyun.com 域名下,除了 201.1.1.22 和 250.3.44.67 之外的都是被劫持的.
页面篡改监测 。
我们把原始页面的元素类型加入页面篡改白名单,在进行拨测时将加载元素与白名单对比,判断页面是否被篡改。比如,我们配置页面篡改的文件内容为 www.aliyun.com:|/cc/bb/a.gif|/vv/bb/cc.jpg,这代表着 www.aliyun.com 域名下,除了基础文档 、/cc/bb/a.gif 和 /vv/bb/cc.jpg 之外的元素都属于页面被篡改。再比如,我们配置页面篡改的文件内容为 www.aliyun.com:*,代表:www.aliyuyn.com 域名下所有的元素都不认为是被篡改.
劫持告警 。
在持续监测的同时,及时告警也至关重要。通过灵活配置劫持告警比例,当任务的劫持比例大于阈值,即迅速通知相关运维团队,对网站进行维护,确保用户的数据安全以及网站的正常浏览.
在提升用户体验的同时,确保网站以及用户资产安全对于企业而言同样至关重要。云拨测为你的网站安全与用户体验保驾护航! 。
最后此篇关于面对 DNS 劫持,只能坐以待毙吗?的文章就讲到这里了,如果你想了解更多关于面对 DNS 劫持,只能坐以待毙吗?的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
当一个对象被实例化时,无论是字符串/函数/等等,__proto__属性(property)包括在内。该属性似乎是由 __proto__ 生成的Object.prototype 中的访问器... Obj
我一直在寻找防止 session 劫持的方法,在这种情况下,有人会窃取 session cookie 并使用它来获得对系统的访问权限。 程序如 http://codebutler.com/firesh
某些 malware such as AVG劫持 404 页面,以便在浏览器中显示一个布满自己广告的页面。 我发现的唯一解决方法是在我的 web 应用程序中放弃自定义错误页面的 404 http 状态
大多数Web应用程序使用cookie来管理用户的 session ,即使关闭了浏览器,也允许您保持登录状态。 让我们假装我们做了书中的所有事情,以确保保存cookie本身。 加密内容 仅设置http
WinError.h中定义的错误代码是否可以被劫持并通过我自己的代码返回? 定义了一些通用 Win32 错误代码: ERROR_FILE_NOT_FOUND:“系统找不到指定的文件。” 当找不到文件时
修改文本然后单击按钮只会触发 onchange 代码 但我需要知道按钮是否被点击: 我需要更改什么才能获取点击处理程序? 最佳答案 效果很好,但 alert() 很糟糕。 我不知道它的确切细节,但
如何保护我的用户免受 session 劫持? 最佳答案 Owasp Top 10 for 2010 中包含三个部分你应该阅读。 1: (!!) A3:“损坏的身份验证和 session 管理。” (!
我有一个问题。我试图在音频元素发生变化时立即获取它的来源,而不是让它连接到服务器。让我详细说明一下:服务器只允许一个请求(随机生成的内容 url),我正在尝试获取该请求,显然我不希望使用新源重新加载音
我需要一种 JavaScript/jQuery 方法来“劫持”不基于类或 ID 的 CSS 定义。 CSS 示例: input { border: 1px solid red; } 如果我有一
一位黑客联系我说他们会使用 session 劫持来关闭我的网站,他说我的文本框存在 session 劫持漏洞。 有没有办法保护文本框免受 session 劫持我用它来逃避和防止 sql 注入(inje
我一直在研究一套安全的登录/门户类型的工具,通用代码没有 SQL 注入(inject)、XSS 等,我有很多东西可以阻止 session 劫持。 为每个页面重新生成 session ID 将用户的IP
在我的 web.xml 中,我为一些资源定义了一个用户数据约束: Personal Area /personal/* U
情况 好吧,正如您在下面看到的,我有一个主应用程序,它创建了一个线程,它创建了一堆后台 worker 。当 RunWorkerCompleted 在某些 BG worker 上被触发时,我有时最终会丢
当我的 golang 应用程序崩溃时,它正在打印 go routines 堆栈跟踪并退出。我想知道是否有很好的方法来获取 panic 输出以进行进一步处理。重定向 stderr 是不够的,因为人们想在
我有一个关于PHP中 session 劫持的问题。我今天早上一直在阅读有关它的信息,我有一些问题在我阅读的文档中并未得到明确回答。 用户可以更改他们在我的网站上的 session 吗?也就是说,如果他
如何防止多个客户端使用相同的 session ID?我问这个是因为我想添加一个额外的安全层来防止我的网站上的 session 劫持。如果黑客以某种方式找出另一个用户的 session ID 并使用该
我想更多地了解 PHP Session Fixation和劫持以及如何防止这些问题。我一直在 Chris Shiflett 的网站上阅读以下两篇文章: Session Fixation Session
DNS 劫持作为最常见的网络攻击方式,是每个站长或者运维团队最为头疼的事情。苦心经营的网站受到 DNS 劫持后,不仅会影响网站流量、权重,还会让用户置身于危险之中,泄露隐私造成财产损失。 就是这样
编辑:对于那些想知道该 SDK 是什么的人来说,它是 Flurry 的中文克隆版,==>> Umeng。 编辑2:在那个奇怪的SDK中实际上有一个禁用崩溃日志处理选项,这将使我的uncaughtExc
我阅读了 Nancy Forms Authentication 的文档.据我所知,那里推荐的方法会导致终身 session ID: "The identifier is the token that
我是一名优秀的程序员,十分优秀!