对于最近炒得很火的所谓「shadowsocks 不安全」说两句
对于最近炒得很火的所谓「shadowsocks 不安全」说两句,只能说这一波有种让我梦回 2018 年的感觉,当年 SSR 作者也说 SS 不安全,没想到 2025 年还能限时体验怀旧服
- 首先明确两个概念,一个叫「安全性」,一个叫「隐蔽性」,前者很好理解,就是你通过 VPN 传输数据的安全程度,后者大致上可以理解为代理特征的隐蔽程度,「隐蔽性」 越好的协议隐蔽程度越高,越不容易被发现在使用代理。「安全性」 不等于「隐蔽性」 !对于传统 VPN 协议( PPTP / L2TP / WireGuard )来说,「安全性」 是拉满的——因为都是经过专业设计的 VPN 协议,但是「隐蔽性」为零,因为 VPN 面向的用户群体不需要掩饰自己在使用代理,毕竟他们主要是给公司办公设计用的,而不是翻墙。
- 避开共用密码的 SS 机场,这个事情最近闹的很火,也就是 Vless 那边声称所谓的 “SS 不安全”,那么真相是什么呢?只有在密码泄露的时候不安全,共用密码意味着密码泄露,你的网络提供商(这里指的是电信 / 联通 / 移动)只要用分光模式保存你的流量,都可以解密,但是考虑到网站普遍有 https,所以他只能看到你具体在什么时候上了什么网站,而不知道你网站账号是哪个,密码是什么,你发了什么东西,你看了什么东西,但是,对于非共用密码的 shadowsocks 而言,只要你的密码不泄露,就是不会被网络提供商解密,但无论用什么密码或者协议,你的流量对代理提供商(机场)而言都是透明可见的(https 之后一般只有 SNI 可见)——所以,机场主可以设计审计规则,不让你通过他们提供的代理做访问 22 端口 / BT 下载 / 某些政治类网站之类的操作
- 对于中转机场来说,他们负责转发过墙的协议可能并不是你用到的任何协议之一,而是用的 nyanpass、pfgo 那种转发面板里的私有协议,只是在墙内端再拆封封装成 shadowsocks 之类的协议,但由于省墙的存在,即使在墙内段路由的 shadowsocks 协议,SS - 2022 也是比单纯的 SS AEAD 要好的,至于其他的什么 vless、trojan 中转我不是很熟悉,不太好评价,但是也取决于具体用的伪装,总的来说就一个原则——用能直接过墙的协议分发给用户,比不能过墙的协议要好,因为其「隐蔽性」更高,尤其是对于处在敏感地区的用户而言。
- 对于任何机场来说,落地节点处都是可以通过 SNI 看到你在几点几分上了什么网站的,但是这个问题和 1 一样,只能看到你在几点几分上了什么网站而不能知道你具体的推特、谷歌、 Apple 、FB 账号是什么、看了或说了什么,尤其是在 2025 年这种网站普遍上了 https 的情况下,除非你在证书爆红的时候依旧点继续浏览,对于某些非知名野鸡 “VPN” / “加速器” 来说,甚至干的事情更恶劣,会把你的 http 页面重定向到一个假的,用以钓鱼的 Apple、Google 登录页面,一旦你在上面输入你的苹果或谷歌账号密码,你的账号就会被盗,这个事情技术手段上完全可行,至于是不是真的这么干,可以说完全取决于代理提供商的自觉性。不过虽然如此,但是目前在机场圈子没发现过有机场主敢这么干,我只听过那种完全面向小白用户的非知名野鸡“VPN”干过这种事情,这种事情是你的代理提供商能干出来的最恶劣、危害最大的事情。而这个和你用什么协议完全无关,只要你用的节点是掌握在不可信的人的手里,就会发生这样的事情,而现在的设备普遍会有 generate_204 等连接性检查流量,为了触发强制门户认证机制,它们必须是 HTTP 明文,恶意的网络或者代理提供商(公共 WiFi / 恶意代理节点)可以劫持这些请求。 这种劫持的直接后果是触发操作系统的“强制门户(Captive Portal)”弹窗。这不仅能被用来进行钓鱼攻击,甚至可以在不需要用户主动打开浏览器的情况下,强制向用户展示恶意内容。
Android: http://connectivitycheck.gstatic.com/generate_204 (国产安卓手机可能有所不同)
iOS/macOS: http://captive.apple.com/hotspot-detect.html
Windows: http://www.msftconnecttest.com/connecttest.txt
而对于高价值目标而言,能做的其实更多、更隐蔽,恶意的想一下,如果不可信的代理提供商看到客户通过代理访问了 PayPal / 国外银行 / 券商 / 加密货币交易所等高价值网站(毕竟 SNI 是可见的),然后他们通过劫持的方式定向精准钓鱼…… - 保证安全的方法,可以有两种,一种是自建,但是自建如果买一个好的线路实际上非常贵,那还有一个取巧的方法,链式代理,你去弄一个国际连通性好的 VPS,然后在上面开随便什么协议,比如我个人用的是 ss-2022 + aws-jp,再在机场节点后面加上落地代理为这个 VPS,就可以做到既保证速度又有安全性,还能跟别人避免共用被用滥的 IP
- 机场用烂的 IP 往往意味着更高的风控,比如说你访问一些网站的时候,账号莫名其妙死了,这个时候很有可能有黑产拿着这个机场的 IP 去做坏事导致的,以至于同 IP 的用户被判定为滥用导致封号,对于那些明明什么都没干但是号就是死了那种就是如此
- 如果你既想保证安全又不想多花钱,又不想自建,可以去申请一个 CloudFlare 的 Warp 作为落地代理( https://github.com/ViRb3/wgcf ),用代理链的方式,挂在机场梯子后面,大厂出品的 WireGuard VPN,安全性肯定是有保障的,甚至可以说对安全的保障程度远高于那些机场,可以完美规避 3 这种事情发生,只不过境外的 WireGuard 不能直连,必须是
你的设备 -> 梯子 -> CF Warp -> 目标网站,这样子用,挂了之后,机场只知道你连接了 CloudFlare 的 WireGuard VPN 节点,至于 VPN 里面包的是啥根本不知道 - 支持代理链且支持 WireGuard 的软件需要挑,不是所有客户端都支持代理链设置的,尽管它们用的 Core ,比如 Xray 和 singbox 可能都支持,但是由于这个功能比较冷门,用的人少,很多客户端都没有实现,以下是我个人用的配置
Windows + Linux(desktop) : V2Ray N (singbox),均支持 TUN 模式
Android : nekobox
iOS : loon
Mac : 我没用过 - 如果有小白用户看不懂本文中的哪一段,可以把那一段复制发给 AI,并和 AI 说“请用无计算机专业知识的普通人也能听懂的大白话解释一下”