虽然互联网经过多年的发展,可是网站使用的底层协议仍是 HTTP,HTTP 作为一种明文传播协议,所有的传输数据都是明文,我们都知道在通信中使用明文(不加密) 内容可能会被窃听,同时网站存在被劫持的风险。面对多种方式的网站劫持,我们应该如何应对?
一、判断为何种流量劫持
针对网站劫持,首先我们要判断为何种网站:
1、搜索引擎劫持
2、运营商劫持
3、DNS劫持
4、HTTP 劫持
5、浏览器劫持
6、路由器劫持
二、制定解决方案
确定劫持种类之后,制定主要的解决方案。
1、限制网站权限
提升网站防SQL注入功能,针对MS SQL Server 数据库中的小权限 sa 默认用户,建立一个只能访问本系统数据库的专一用户,并且为他配置最小权限。
2、配置 Web 站点文件夹及其操作权限
将大部分人的权限配置为仅读权限,黑客在没有写权限的情况下,很难将木马程序植入,减少网站域名劫持的可能性。
3、定期清理 Web 网点中存在的可疑文件
通过对异常事件和日期的分析,查看执行代码文件中是否被人注入代码或改动,并且对新增可执行代码进行清理。
4、使用公共114DNS
让用户绕过运营商 local DNS,使用 114 DNS(国内最大的中立缓存 DNS),这种在技术实现上有比较大的难度,成本也比较高。
5、防止DNS劫持
在移动客户端中加入一个域名解析模块,客户端通过 HTTP 的方式向网站的流量调度服务器请求 IP,流量调度服务器会根据用户所在位置给用户一个最优的IP。客户端在获取IP后直接用此IP来访问所需站点资源。
6、HTTPS防劫持
由于公共 DNS、HttpDNS 的部署成本过高,有一定的技术难度,并且在面对无孔不入的流量劫持时难免会力有不逮。这时候网站开启 HTTPS 作为防劫持手段之一可以高效的解决这些问题。目前绝大部分网站也都已经启用 HTTPS 来加密。