博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web如何应对流量劫持?
阅读量:6878 次
发布时间:2019-06-26

本文共 1838 字,大约阅读时间需要 6 分钟。

虽然互联网经过多年的发展,可是网站使用的底层协议仍是 HTTP,HTTP 作为一种明文传播协议,所有的传输数据都是明文,我们都知道在通信中使用明文(不加密) 内容可能会被窃听,同时网站存在被劫持的风险。

上篇《》中我们讲到了搜索引擎劫持、网络劫持、浏览器劫持、路由器劫持等常见的网站劫持,面对多种方式的网站劫持,我们应该如何应对?

限制网站权限

部分网站遭遇劫持主要由于非法服务器获取了 Web 网站文件及文件夹的读写权限,针对这个问题,我们可以利用服务器的安全设置、提高网站程序的安全性,以此防范 Web 劫持。

提升网站 防 SQL 注入功能

SQL 注入通过利用 SQL 语言的特性,向 Web 数据库写入内容,获取权限,因此我们需要针对MS SQL Server 数据库中的小权限 sa 默认用户,建立一个只能访问本系统数据库的专一用户,并且为他配置最小权限。

配置 Web 站点文件夹及其操作权限

使用 Windows 系统中的超级管理员权限对 Web 站点文件和文件夹进行权限配置。将大部分人的权限配置为仅读权限,黑客在没有写权限的情况下,很难将木马程序植入,减少网站域名劫持的可能性。

定期清理 Web 网点中存在的可疑文件

不管黑客通过何种方式获取权限,在事件管理器中都会显示出异常情况,通过对异常事件和日期的分析,查看执行代码文件中是否被人注入代码或改动,并且对新增可执行代码进行清理。

使用公共114DNS

让用户绕过运营商 local DNS,使用 114 DNS(国内最大的中立缓存 DNS),这种在技术实现上有比较大的难度,成本也比较高。在现在的情况下即使用户使用公共 DNS,也并不能完全解决问题。先不论公共 DNS 是否也有在做劫持,最关键的是,运营商也会专门针对到公共 DNS 的流量做劫持。对于流量入口的把控,运营商不会放松警惕。

HttpDNS,防止 DNS 劫持
在移动客户端中加入一个域名解析模块,客户端通过 HTTP 的方式向网站的流量调度服务器请求 IP,流量调度服务器会根据用户所在位置给用户一个最优的IP。客户端在获取IP后直接用此IP来访问所需站点资源。

网站自身使用 HttpDNS 面临较高的成本,而通过又拍云提供的 HttpDNS 调度功能,可以最低成本的方式,有效防止 DNS 劫持。

△ HttpDNS 访问原理图
HTTPS 防劫持
由于公共 DNS、HttpDNS 的部署成本过高,有一定的技术难度,并且在面对无孔不入的 DNS 劫持时难免会力有不逮。这时候网站开启 HTTPS 作为防流量劫持手段之一可以高效的解决这些问题。目前绝大部分网站也都已经启用 HTTPS 来加密。HTTPS 协议就是HTTP+SSL/TLS,在 HTTP 的基础上加入 SSL /TLS 层,提供了内容加密、身份认证和数据完整性三大功能,最终目的就是为了加密数据,用于安全的数据传输。

△ HTTP 请求
△ HTTPS 请求
SSL 协议在 HTTP 请求中增加了握手阶段,并且对明文 HTTP 请求、应答进行加密。SSL 握手阶段,客户端浏览器会进行服务器身份认证,确认客户端证书证书属于该目标网站并且证书本书有效的时候,并且通信双方还会共同使用一个加密和解密的会话密钥。

在 SSL 握手阶段结束之后,服务端和客户端通过会话密钥对交互数据进行加密/解密操作,将 HTTP 请求和应答经过加密之后才会发送到发送到网络上。

通过 SSL 协议对 Web 服务器的身份认证,使流量劫持导致的连接错误服务器情况被发现和终止,保证劫持无法实现。同时 HTTPS 在数据传输中对数据进行加密传输,保护数据不被窃取以及修改。

如何快速启用 HTTPS

鉴于启用 HTTPS 会带来一定的服务器资源消耗,目前大多数公司普遍的选择是直接使用国内的 CDN 服务,比如又拍云提供一站式 HTTPS 服务,简单几步就能完成全站 HTTPS 的部署,光是免费类证书就有2款,而付费证书在 3-5 天内即可完成申购。另外一种可以直接在 Web 服务器上部署证书和私钥,可以去网上查看教程。

总结

面对 Web 流量劫持,首先我们可以在网站层面限制读写权限,限制恶意代码的写入,其次可以通过公有 DNS 和 HttpDNS 来防止恶意 DNS 劫持。全站开启 HTTPS,加密数据传输,可以有效防止数据泄漏,同时解决流量劫持的问题。

传送门:

推荐阅读:

转载地址:http://ungfl.baihongyu.com/

你可能感兴趣的文章
在JAVA中将NEW一分为2,分步进行[反射机制产生类]
查看>>
Java多态性的两个特殊情况
查看>>
我的友情链接
查看>>
怎么改变Win7登陆背景图片
查看>>
虚拟带库和物理带库比较
查看>>
AD委派加域权限
查看>>
在Delphi 7中使用加密的SQLite
查看>>
wordpress 无用的RSS Feed Cache
查看>>
Linux Vi编辑器的基本使用方法
查看>>
HTTP头域列表与解释 之 response篇
查看>>
一切属他,则名为苦;一切由己,自在安乐。
查看>>
velocity 之坑:不同枚举类(enum)有相同的静态(static)方法,无法访问第二个枚举类...
查看>>
图的遍历方法(深度优先和广度优先算法)
查看>>
鸟巢-一种全新的Native APP开发模式,这篇文章为您解读
查看>>
shell批量查询IP
查看>>
快速生成移动设备应用图标的在线工具 - makeappicon
查看>>
学习linux决心书
查看>>
SVN服务的搭建
查看>>
ISO 9126质量模型:软件质量模型的6大特性和27个子特性
查看>>
一个 rm -rf的教训
查看>>