SS 使用 AEAD 加密算法,开 tls 混淆
翻墙技术的基本要求就是不能被 GFW 识别。
也就是说:
1. 给出一段流量,GFW 能否识别出使用了翻墙技术?
2. 给出一个服务器,GFW 能否识别出它是一个翻墙服务器?
Bandwagon 一键脚本搭的 SS 版本不够新,技术上有个缺陷。不满足 2
简单地说原理是这样的:
1. SS 协议里有个关键字段的位置是固定的,定义了服务器要做的动作。
2. SS 的加密本身是可靠的,第三方不能精确修改这个字段。但是 SS 之前的加密算法是流加密,也就是说密文和原文是一一对应的。第三方可以通过穷举这个字段的办法想办法命中这个字段的特殊值,一但发生服务器在某些情况下收到一段随机数据后没有断开连接,则猜测这个服务器是 SS 服务器。
最新版的 SS 增加了一些 AEAD 类的加密算法,从流加密变成了块加密。这样就不能直接只针对那个字段穷举,大大增加了探测难度。
AEAD 算法包括:
AES-128-GCM
AES-192-GCM
AES-256-GCM
ChaCha20-IETF-Poly1305
XChaCha20-IETF-Poly1305
在具备 AES 加速的 CPU(桌面,服务器)上,建议使用 AES-XXX-GCM 系列,移动设备建议使用 ChaCha20-IETF-Poly1305 系列。
最新版的
AEAD
AES-128-GCM
AES-192-GCM
AES-256-GCM
ChaCha20-IETF-Poly1305
XChaCha20-IETF-Poly1305
在具备 AES 加速的 CPU(桌面,服务器)上,建议使用 AES-XXX-GCM 系列,移动设备建议使用 ChaCha20-IETF-Poly1305 系列。
为了装最新版的 SS,要手动跑脚本。顺便装个 BBR。(原来是用的 Bandwagon 的一键脚本,CentOS 6,没有 BBR)
1. 把 Bandwagon VPS 停掉,重新安装操作系统,选 Debian 8 x64。
2. 装 BBR
wget https://raw.githubusercontent.com/kuoruan/shell-scripts/master/ovz-bbr/ovz-bbr-installer.sh
chmod +x ovz-bbr-installer.sh
./ovz-bbr-installer.sh
3. 跑秋水逸冰的 SS/SSR 四合一脚本
wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh
chmod +x shadowsocks-all.sh
./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log
选 Shadowsocks-libev,安装过程中选择加密算法 chacha20-ietf-poly1305,开混淆 (obfs),混淆模式选 tls,同时端口开在 443
* 是否要开混淆,端口开在哪里,现在在 SS 圈子成了一个玄学,网上各有各有说法。
我通过 google 搜索来到你博客,也算一种缘吧 GFW 观测到境外 ip 大流量时,判断是否要封 ip,根据 ‘’‘你这种跑法,我认不认得出来’;例如 ss 随机端口,它觉得你数据流不像 BT,不像思科等端口流量,反而像 ss 模型,相似度高到一定程度就咔嚓。你跑 443\80,他则分析和真实 443 数据包差异来是否咔嚓。太先进的未知应用层,也属于可疑。
回复删除我猜测
你的思路不错哦。 从现在 GFW 的行为来看,应该是要开始把 AI 和大数据用起来了。
删除