自由真好

自从今年十月一日以来,GFW针对各种类型自由上网的方式进行了屏蔽,但根据我对六台日本和美国服务器的观察,和对各类机场的销售话术分析,GFW并不能分析出加密流量的内容,它只是根据一些模型,或者人工,人工智能的分析,进行了一些间歇性的屏蔽,那么它的判断标准究竟为何?

一般来说,固定IP点到点,非常规端口的持续TCP流量大概率会被判定可疑,常规端口的流量,一定要符合该端口的流量模型,不符合的就会被判定可疑,进行短暂的中断,大概持续几个小时到几天,是的,屏蔽会取消,为什么会取消?人为的?还是有一个流量计数器,检测到没有持续流量或尝试,便将这个IP移出黑名单。

固定IP点到点的UDP流量,目前并没有这样的软件,但是,我们可以用另外的方式实现这个方案,也就是ipsec,由于ipsec的方案比较起来太过复杂,一般没有人这么做。

SS在今年十月一日之后已经成为历史,因为它只是加密和混淆流量,而没有办法把自己伪装成正常的流量,即使它运行在一个正常的端口,GFW也会进行流量的模型检测,不符合模型的,进行主动探测,比如你运行在25端口,那你要给GFW返回个smtp,运行在110你要给返回helo,如果你什么都不返回,也就是SS的做法,那你就非常可疑了,封掉。

v2ray是一个已经发展相当久的软件,但在十月一日之前,SS可以毫无问题的使用,v2ray也就没有那么显眼,v2ray的设计者在一开始就考虑到了各种场景和伪装,它可以把自己的流量伪装成正常的流量,这样就无法辨识它,因为它就是一个正常的https访问,特别是它的cdn+ws+tls方式,将流量隐藏在各大CDN的浩瀚IP地址中,GFW根本就是大海捞针,用固定IP点到点的TCP流量模型去分析,是不可能在很短的时间内得到结果的。

使用v2ray的cdn模式已经很好用,目前我想不出来有什么办法可以屏蔽它,除非是禁止cdn的https代理中包含websocket请求,理论上来说它可以一纸文件让国内的CDN服务提供商全都这样做,但是它管不了国外的,所以不太可能,而且禁止websocket请求,对于各个手机app厂商来说,简直就是找死啊。

当然对于我来说,我个人更偏好使用ipsec tunnel的方式,把各个不同地点的网络全都连接在一起,然后在这个网络上设置一个简单的明文代理就可以了,加密和解密完全由路由器的硬件来实现,不必费尽心思去考虑说什么样的加密方式速度更快,因为硬件防火墙的指标就在那,DES最大流量多少,3DES最大流量多少,AES最大流量多少。

倒不是说这个方法比较好,这个方法只是我偶然所得,我的本意是要把各地区服务器的局域网互联起来,然后我发现运行在UDP端口上的流量几乎不会受到干扰,因为目前的各类软件都是基于TCP的,更重要的是,ipsec是工业标准,顾名思义,ip security,它是工作在IP协议层的,成千上万的企业在使用它,但配置它对于初学者来说可能是个梦魇,要达到现在非常流行四百块的千兆软路由效果,二手千兆硬件防火墙的成本也可能要接近千元,于购置成本和学习成本来说都很高,但是我相信钱应该不是问题,学习成本太高才是问题,所以没什么人用它,相信在GFW不断升级和进步的未来,可能会有ipsec的用武之地。

这里需要说明一下,市面上的千兆软路由,搭配在售的运营商宽带产品,最高也就到500M,用一个上千元的软路由可以实现,用一个三百块的二手百兆Cisco或Juniper防火墙也是可以实现的,因为Cisco和Juniper可以进行端口聚合,8个端口的百兆防火墙,实际上是可以每4个端口聚合起来,变成400M的吞吐,但这个方案太过复杂和专业,还需要增加一台或两台支持端口聚合的交换机,在两百元到四百元之间,成本太高,但就像上一段说的,钱不会是问题,配置和学习成本才是问题。

使用iperf进行tcp测速

由于目前我的本地带宽最多也就100M,所以一个Juniper百兆硬件防火墙完全就够用,srx110经过加密的ipsec tunnel,官方文档DES吞吐可以达到65M,文档上说AES会低一些,但是我实际测试DES最大也就30M的样子,这可能是因为我本地带宽的问题。

这是建立好的5条IPsec Security Associations,每15分钟rekey一次,你甚至可以设置得更短

在实际场景中我发现,如果使用DES/MD5的方式,在产生较大流量的时候,很快就会被短暂中断连接,如果使用AES256/SHA256的话,检测的时间会稍长。

我并不认为是GFW分析出了这个ipsec tunnel中的流量是什么,符合工业标准的加密流量没有密钥是不可能被解密的,但为什么最低阶的加密方式和最高阶的加密方式之间,会出现时间差异,这是我一直没有想明白的问题,也许是GFW进行了解密,解密后的依然是密文,但是这个密文可能带有某种特征,又或者,也许是GFW做一个简单的屏蔽尝试,如果你是一个跨国企业或者外贸企业的ipsec tunnel,你应该会不停的尝试重连,在达到某个阀值时解除屏蔽,这也符合之前各界人士对于GFW是一个分布式部署的入侵检测系统的猜测。

自由真好。