网络隐身术(一)网络层面的防范
免责声明
最近关注到「编程随想的博客」,这位博主涉猎广泛,从政治到技术乃至文学,不仅样样在行而且写的技术博文也条理清晰,干货满满。当然,对政治我是没兴趣的,对国家我是有信心的,真正吸引我的,是博主所叙述的隐匿之法。
随着互联网的普及和更新换代,网络暴力和网络犯罪也愈发频繁,犯罪成本也愈发低廉。因此,即便是对于一个普通网民,保护隐私也是极其重要的。
作为一个「自由斗士」,这位博主能在大陆安然进行「自由活动」近10年,说明他的隐匿之道还是靠谱的。
- 仅摘取「编程随想的博客」中有关隐私保护的技术手段及注意事项,并不意味着本人赞同「编程随想」观点或证实其博客中内容的真实性。
- 本文介绍的内容可以降低隐私泄漏的可能性,但是并不能确保隐私完全安全,本人不对本文所介绍的隐私保护技术的严肃性等做任何形式的保证。
- 本文仅供学习参考使用,如其他个人或组织利用本文介绍的技术触犯法律,本人不承担任何责任。
公网IP的防范
why
只要能访问互联网,你就有一个公网IP。公网IP由ISP(互联网服务提供商)分配,家庭网络的公网IP通常是变动的,而组织机构的公网IP通常是固定的。你可以在IPIP上搜索你的公网IP,通常能定位到你所在的城市和网络服务提供商。
当你访问网站时,网站可能会保存你的访问记录,包括:公网IP、时间点、在网站上的行为。即然有记录的存在,自然也就有被暴露的可能。如果能获得公网IP指向的ISP在特定时间点的上网记录,就能知道这个公网IP分配给了哪个用户。
how
代理上网
注:本文所说的「代理」是广义的,包括了传统意义上的代理和VPN。
当使用代理上网时,网站记录的是代理的公网IP。而且,同一时段,可能有多个人使用这个代理,那么通过代理的公网IP来追踪到目标就很困难了。
多重代理
- VM:Virtual Machine 虚拟机
- Host:主机,具有真实网卡
- Client:客户端,发出网络访问请求,浏览器所在处
- Server:服务端,接受网络访问请求,网页所在处
当我们使用代理来翻墙时,只通过一个服务器进行中转:
一重代理在一定程度上可以保护隐私,但保持谨慎怎么也不为过,这时候就可以使用多重代理,以双重代理为例:
根据这个道理,你可以设置将两个代理级联,组合出双重代理。目前多重代理的最优组合是「Tor」+「代理工具」。
下面这张图表示了Tor的工作原理:
不难看出,Tor本身就是一个多级代理,在上古时期是可以直接通过Tor进行翻墙的,俗称「戴套翻墙」。但由于Tor的大部分节点IP被封,所以现在使用Tor往往还要自备一个代理工具。
有关「Tor」或「Tor Browser」的安装和使用方法网上已经有很多了,并且随着版本的迭代配置操作也越来越简单,这里就不赘述了。
访问https://check.torproject.org/来检查是否通过Tor上网。
虚拟机
当使用代理来浏览网页时,浏览器会通过代理加载网页内容,但如果你的浏览器中安装了某些插件,那么这些插件就有可能暴露你的行踪。比如有名的「Flash」插件就可以绕过浏览器代理设置直接访问网络:
这时候虚拟机就派上用场了,只要给虚拟机设置合适的网卡模式「Host-Only」,虚拟机内的所有软件都不能直接访问虚拟机外的网络:
双虚拟机隔离
这里的「双虚拟机隔离」和「双重代理」不同,两个虚拟机的关系不是级联,而是并联。也就是说,代理软件放在一个虚拟机中,使用的软件放在另一个虚拟机中:
有关虚拟机的配置,可以参考:双虚拟机隔离上网完整教程
除了使用「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的操作系统不可靠,不像Linux是开源的,Windows和macOS的系统都是封闭的,macOS好歹还是基于Unix,Windows就完全封闭了。封闭的软件就有可能存在后门。
- TOR的前置代理不可靠,同样也是是否开源的问题,不过现在大多数人使用的代理软件都是开源的,这里可以省点心了。
- VM-A中存在不可靠的软件,编程随想在此处的举例是ISP提供的拨号软件,不过现在拨号上网基本已经绝迹了,那么这里也能省心了。
- 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代理,切记一定得用加密的!不加密的明文代理是不安全的。
本文链接: https://www.rhinoc.top/cover-web/
版权声明: 本博客所有文章除特别声明外,均采用BY-NC-SA 4.0国际许可协议,转载请注明。
留言
張貼留言