+
+
Posts List
  1. 免责声明
  2. 公网IP的防范
    1. why
    2. how
      1. 代理上网
        1. 多重代理
      2. 虚拟机
        1. 双虚拟机隔离
      3. 多重代理+双虚拟机的部署方案
        1. 前置方案
        2. 后置方案
        3. 方案选择
      4. 使用公共场所的开放Wi-Fi热点
  3. 传输内容的防范
    1. why
    2. how
      1. HTTPS > HTTP
      2. 加密代理 > 明文代理

网络隐身术(一)网络层面的防范

免责声明

最近关注到「编程随想的博客」,这位博主涉猎广泛,从政治到技术乃至文学,不仅样样在行而且写的技术博文也条理清晰,干货满满。当然,对政治我是没兴趣的,对国家我是有信心的,真正吸引我的,是博主所叙述的隐匿之法。
随着互联网的普及和更新换代,网络暴力和网络犯罪也愈发频繁,犯罪成本也愈发低廉。因此,即便是对于一个普通网民,保护隐私也是极其重要的。
作为一个「自由斗士」,这位博主能在大陆安然进行「自由活动」近10年,说明他的隐匿之道还是靠谱的。

  1. 仅摘取「编程随想的博客」中有关隐私保护的技术手段及注意事项,并不意味着本人赞同「编程随想」观点或证实其博客中内容的真实性。
  2. 本文介绍的内容可以降低隐私泄漏的可能性,但是并不能确保隐私完全安全,本人不对本文所介绍的隐私保护技术的严肃性等做任何形式的保证。
  3. 本文仅供学习参考使用,如其他个人或组织利用本文介绍的技术触犯法律,本人不承担任何责任。

公网IP的防范

why

只要能访问互联网,你就有一个公网IP。公网IP由ISP(互联网服务提供商)分配,家庭网络的公网IP通常是变动的,而组织机构的公网IP通常是固定的。你可以在IPIP上搜索你的公网IP,通常能定位到你所在的城市和网络服务提供商。

当你访问网站时,网站可能会保存你的访问记录,包括:公网IP、时间点、在网站上的行为。即然有记录的存在,自然也就有被暴露的可能。如果能获得公网IP指向的ISP在特定时间点的上网记录,就能知道这个公网IP分配给了哪个用户。

how

代理上网

注:本文所说的「代理」是广义的,包括了传统意义上的代理和VPN。

当使用代理上网时,网站记录的是代理的公网IP。而且,同一时段,可能有多个人使用这个代理,那么通过代理的公网IP来追踪到目标就很困难了。

多重代理
  • VM:Virtual Machine 虚拟机
  • Host:主机,具有真实网卡
  • Client:客户端,发出网络访问请求,浏览器所在处
  • Server:服务端,接受网络访问请求,网页所在处

当我们使用代理来翻墙时,只通过一个服务器进行中转:

Client -> Proxy -> Server

一重代理在一定程度上可以保护隐私,但保持谨慎怎么也不为过,这时候就可以使用多重代理,以双重代理为例:

Client -> Proxy 1 -> Proxy 2 -> Server

根据这个道理,你可以设置将两个代理级联,组合出双重代理。目前多重代理的最优组合是「Tor」+「代理工具」。

下面这张图表示了Tor的工作原理:

不难看出,Tor本身就是一个多级代理,在上古时期是可以直接通过Tor进行翻墙的,俗称「戴套翻墙」。但由于Tor的大部分节点IP被封,所以现在使用Tor往往还要自备一个代理工具。

有关「Tor」或「Tor Browser」的安装和使用方法网上已经有很多了,并且随着版本的迭代配置操作也越来越简单,这里就不赘述了。

访问https://check.torproject.org/来检查是否通过Tor上网。

虚拟机

当使用代理来浏览网页时,浏览器会通过代理加载网页内容,但如果你的浏览器中安装了某些插件,那么这些插件就有可能暴露你的行踪。比如有名的「Flash」插件就可以绕过浏览器代理设置直接访问网络:

Browser -> Proxy -> Website
|
Flash -> Website

这时候虚拟机就派上用场了,只要给虚拟机设置合适的网卡模式「Host-Only」,虚拟机内的所有软件都不能直接访问虚拟机外的网络:

[VM: Client] -> (Host: Proxy) -> Server

双虚拟机隔离

这里的「双虚拟机隔离」和「双重代理」不同,两个虚拟机的关系不是级联,而是并联。也就是说,代理软件放在一个虚拟机中,使用的软件放在另一个虚拟机中:

[VM-A: Client] --Host-Only-> [VM-B: Proxy] --NAT-> Host -> Server

有关虚拟机的配置,可以参考:双虚拟机隔离上网完整教程

除了使用「Host-Only」+「NAT」,也可以用「Internal」+「NAT」网卡模式来配置双虚拟机方案。

网卡模式

  • Host-Only(对外部网络不可见)

顾名思义,该模式的网卡只在主机范围内可见。因此,该模式的网卡无法访问外网(也就是说:无法访问其它电脑)。 不过多个 Host-Only 网卡之间可以互相访问。比如你同时运行多个虚拟机,把这些虚拟机上的网卡都设置为 Host-Only 模式,那么这些它们彼此之间是可以相互访问的。

  • NAT(对外部网络单向可见)

「NAT」的全称是“网络地址转换”。处于「NAT」模式下的网卡,可以访问外网。比方说你的主机已经接入互联网,那么虚拟机里面的软件可以通过「NAT」模式的网卡上网。但是,在主机外(也就是其它电脑)是看不到这个「NAT」网卡的。 建议把网卡设置为 NAT 模式。因为 NAT 模式可以起到类似防火墙的效果,比较有利于保护你的虚拟系统的安全。

  • Bridge(对外部网络双向可见)

「Bridge」模式的网卡可以看到外部的电脑,外部的电脑也可以看到该网卡。 通常情况下「NAT」模式就足够了。

  • Internal(对外部网络不可见)

这个模式类似于「Host-Only」
不过「Host-Only」既可以被运行在主机系统中的进程看到,也可以被运行在虚拟机系统中的进程看到。而「Internal」对于运行在主机系统中的进程不可见;只对运行在虚拟机系统中的进程可见。

多重代理+双虚拟机的部署方案

👆上面已经介绍了「多重代理」和「双虚拟机」,这里主要讨论「Tor」在双虚拟机中的安装位置,前置(安装在VM-A)还是后置(安装在VM-B):

[VM-A: Client] --Host-Only-> [VM-B: Proxy] --NAT-> Host -> Server

方案是基于实际情况来提出的,而在「如何保持在互联网上匿名」这个问题上,有这么几种可能暴露行踪的情况需要分析:

  1. VM-A的操作系统不可靠,不像Linux是开源的,Windows和macOS的系统都是封闭的,macOS好歹还是基于Unix,Windows就完全封闭了。封闭的软件就有可能存在后门。
  2. TOR的前置代理不可靠,同样也是是否开源的问题,不过现在大多数人使用的代理软件都是开源的,这里可以省点心了。
  3. VM-A中存在不可靠的软件,编程随想在此处的举例是ISP提供的拨号软件,不过现在拨号上网基本已经绝迹了,那么这里也能省心了。
  4. VM-B中的上网软件不可靠,即便你使用的是开源的Firefox,浏览器中安装的插件和扩展也有可能窃取你的隐私。
前置方案


存在风险:当网关虚拟机(VM-A)中存在不可靠的软件,那么该软件有可能会监控VM-A系统中的网络流量。如此一来,就会看到「原始流量」(图中的“红色虚线”)。

后置方案


存在风险:如果VM-B中的上网软件不可靠,那么该软件有可能直接绕过TOR去连接前置代理(参见图中的“红色实线”)。

虽然这种行为不会直接导致你的公网IP暴露,但是会大大降低你在网络层面的隐匿性。如果有人要对你进行逆向追溯,只要查出前置代理服务器上的访问日志,就有可能查出你的公网IP。

方案选择
  • 网关环境不可靠 -> 后置(VM-B)
  • 上网软件不可靠 -> 前置(VM-A)

说白了,就是把Tor放在相对可靠的环境中。

  • VM-A和VM-B都不可靠 -> 采用「三虚拟机」或「三重代理」
    • 「三虚拟机」:Tor单独存放在一个虚拟机中
    • 「三重代理」:Tor既部署在VM-A,也部署在VM-B。

⚠️注意:Tor官方并不推荐使用「三重代理」(Tor over Tor),因为可能两个Tor获得相同的节点。

使用公共场所的开放Wi-Fi热点

使用公共场所的开放Wi-Fi上网,这样网站得到的公网IP指向的是公共地址,也能达到防范作用。而且,在「公共场所上网」+「使用代理」,隐匿效果会更好。不过,在公共场所上网也有需要注意的,比如有些开放Wi-Fi是需要手机号码或者微信验证,也有些公共Wi-Fi本身就是钓鱼网络,这里需要细心甄别。

传输内容的防范

why

现在,很多公司都在内网中部署了审计系统,监控网络活动,如果你是在组织机构中上网,就要小心了。因为你与互联网的通信中的传输数据,都经过了审计系统的监控。

另外,一些飞机场也有审计规则,通常是静止BT下载和浏览反动网站。

how

HTTPS > HTTP

相较于HTTP,HTTPS最大的优势就是「加密」。要做到这点,有个前提,网站本身提供SSL服务。

建议使用HTTPS Everywhere插件来确保访问的网站是HTTPS协议的。

加密代理 > 明文代理

无论你用代理软件还是Web代理,切记一定得用加密的!不加密的明文代理是不安全的。

本文作者: rhinoc

本文链接: http://rhinoc.top/post/cover-web.html

版权声明: 本博客所有文章除特别声明外,均采用BY-NC-SA 4.0国际许可协议,转载请注明。

Support
Support Me
  • Through WeChat
  • Through Alipay