交流评论、关注点赞

  • Facebook Icon脸书专页
  • telegram Icon翻墙交流电报群
  • telegram Icon电报频道
  • RSS订阅禁闻RSS/FEED订阅

还Shadowsocks一个清白

2020年02月20日 19:31 PDF版 分享转发

发这篇文章的原因基于pincong有大量的用户因为自己开的被封,机场三天两头用不了,或是在别的地方(例如v2ex)看到别人吹捧v2ray/ssrr 贬低shadowsocks。再加上党国爆出了一些所谓检测shadowsocks的论文,导致很多人认为shadowsocks已经是一个不安全的工具。因此在这里对shadowsocks配置做一个简单的科普。

先上结论,shadowsocks并没有失效,党国也没有手段来破解shadowsocks的加密,那篇基于lstm的人工智能论文在专业人士看来完全就是笑话,请敬请放心使用,如果你的ss用不了,请按照我以下列出的几部分一一进行检查。

广告:搬瓦工翻墙 Just My Socks

小白如果觉得本文太麻烦,推荐直接下载这些翻墙软件或APP

禁闻浏览器SS VPNSpeedUp VPNV2ray VPN动网新闻APP

请收藏转载分享本页面或使用短网址:
https://git.io/afq
安卓翻墙二维码

(JWBrowser)
Android版禁闻浏览器,一个安卓翻墙浏览器。

SpeedUp
Android版SpeedUp VPN,Fork自ShadowsocksRb,兼容ShadowsocksR(SSR)协议,内置免费SSR服务器。 如果您对内置SSR VPN服务器不满意,则可以自行添加或导入自己的ShadowsocksR(SSR)服务器使用。

SS VPN
Android版SS VPN,Fork自SSVPN,兼容Shadowsocks协议,内置免费Shadowsocks服务器。 如果您对内置Shadowsocks VPN服务器不满意,则可以自行添加或导入自己的Shadowsocks服务器使用。


Android版V2ray VPN,Fork自v2raynG,兼容V2ray/Project V的vmess协议,内置免费无限流量V2ray翻墙服务器。 如果您对内置V2ray服务器不满意,则可以自行添加或导入自己的V2ray服务器使用。

Ad:美好不容错过,和家人朋友一起享受愉快时光,现在就订票

推荐:动网翻墙新闻APP

禁闻网安卓翻墙新闻APP

【shadowsocks配置部分】

1、打开你的shadowsocks客户端,在加密那一栏里你会看到接近20种不同的加密算法,在其中可以粗略的分为AEAD加密和非AEAD加密,具体技术细节有兴趣了解的可以自行Google。结论就是现在请务必使用AEAD加密的算法(chacha20-ietf-poly1305、xchacha20-ietf-poly1305、aes-128-gcm、aes-192-gcm、aes-256-gcm),目前xchacha20-ietf-poly1305和aes-256-gcm是最佳的选择,由于各大平台的cpu现在对aes算法都有较好的优化,我个人推荐aes-256-gcm。

2、关于客户端的选择,应该去哪里下载shadowssocks客户端呢?答案是github,请不要去任何非github平台下载ss客户端(如果你买的机场不给你服务器相关信息,需要账号密码登录专用客户端,那就没办法了)。在这里要特别说一下平台,iOS没有官方的shadowsocks客户端,很多免费应用都不支持AEAD算法,请买礼品卡在外区购买shadowrocket,或者使用免费的outline。

3、在自行配置shadowsocks服务器的时候,很多攻略仍然写的是基于Python的shadowsocks-server,请不要再参考这些攻略!!!基于python的那个版本已经三年没有更新了,很多教程甚至还在用五年前的2.8.2版,请尽快转用C语言的shadowsocks-libev,github地址:https://github.com/shadowsocks/shadowsocks-libev

【关于党国封禁shadowsocks服务器的策略】

1、当你shadowsocks发现用不了的时候,不要慌张,首先你要做的是排错,确定是哪部分出了问题。党国封杀服务器一般分为ip封杀和端口封杀,请务必先确认是服务器ip地址还是服务器ss端口被墙。要怎么确认呢?打开你电脑的cmd,先ping一下你的服务器地址,看看还通不通,如果发现是通的,使用命令 telnet 你的服务器地址 你的服务器端口(例如:telnet 1.1.1.1 8838)如果你服务器能ping通但是telnet你的服务器shadowsocks端口不通的时候,更换端口就可以了。

2、终于要提到党国的检测方式了,在文末我会放一篇相关文章来进行论证,在这里我还是只放出结论。党国封杀你服务器现在较为通用的方法是主动嗅探,举例来说,就是当发现一个让他怀疑的流量时,gfw会模拟一个shadowsocks请求发往你服务器的那个shadowsocks端口,由于密码是错的,这时候你的服务器会返还一个类似于密码错误的回包,这样gfw虽然无法连接你的服务器,但是他就可以猜测这台服务器是用来翻墙的。这就是主动嗅探的基本原理,只要你流量足够大,连接的人足够多,或者你服务器的ip是著名翻墙vps运行商(所谓脏ip),就有极大可能被封禁。在这里你可以看出,党国没有解密你的包,仍然无法知道你访问了什么网站,是不是真的用来翻墙,但是由于可能性很高,就被封禁了。

3、主动嗅探比起技术方式更像是一种社会工程学原理,无论什么样的翻墙技术手段,都会中招,并不是shadowsocks存在技术漏洞,而是党国对ss的回包已经很熟悉了而已。而这一点,我们完全可以通过技术手段进行避免。

【为你的服务器添加访问白名单】

1、如果你服务器只允许特定的ip进行访问,那党国的主动嗅探也就失去了作用,因为党国不知道你允许了哪些地址,所以它所有尝试嗅探的操作都会被你服务器的防火墙(以其人之道还治其人之身 笑)给拦下,相当于还没有到你ss服务已经被你的服务器给拦下来,这种拦截是不具备特征的,而在现实中各大公司的服务器也是这么操作的。例如你是不可能访问Google的内部服务器,因为Google限定了可访问机器的ip。

2、具体操作方法你可以使用iptables命令

iptables –append INPUT –protocol tcp –dport 1080 –jump DROP

先禁止所有人访问你的ss 1080端口

iptables –append INPUT –protocol tcp –src 1.1.1.1 –dport 1080 –jump ACCEPT

这条命令的意思是仅允许1.1.1.1访问你ss 1080端口

service iptables save

service iptables restart

记得保存和重启服务哦

3、我们现在都是动态ip,没有指定的地址要怎么办呢?事实上没办法,所以我建议你再开一台服务器做流量的转发,然后你ss服务器只允许你转发服务器的ip地址,如果说转发服务器在国内,就会形成一个点对点的ss访问,只有你转发服务器到你ss服务器之间过一次墙,流量又是两个固定ip之间在访问,对于隐蔽流量是大有裨益的,至于linux怎么配置端口转发这里就写不下了,欢迎Google。

【正文部分:Shadowsocks是如何被检测和封锁的】

这篇论文写的非常好,希望所有人都去看一看,对党国封锁机制做了很具体的实验
Shadowsocks是如何被检测和封锁的

原帖地址:https://pincong.rocks/article/12173

喜欢、支持,请转发分享↓Follow Us 责任编辑:刘钰