V2ray-core: 希望你们下一代翻墙工具加强防御机制,反制措施

Created on 17 Sep 2015  ·  22Comments  ·  Source: v2ray/v2ray-core

第一代翻墙工具:普通代理
第二代翻墙工具:SSH, VPN
第三代翻墙工具:ShadowSocks, GoAgent

纵观这些工具,输出攻击(翻墙能力)很强,但是弱点就是防御为0,基本不设防。有什么问题?GFW会主动探测并且封杀掉这些外边服务器IP。导致可用IP越来越少。

要设防,如何设防?最简单的功能,比如遇到异常流量,封IP。异常登录,封IP。虽然这些功能弱爆了,但是市面上还真没有那款服务器软件做到了。甚至密码爆破都不设防。这些服放在外面公网,这不等着被人踹门么。

其次,默认不开放服务,通过out-of-the-band手段才能打开服务。

服务器默认要拒绝任何IP的任何TCP连接。必须向 [email protected] 发送一封邮件,邮件内容是我需要上网的国内IP,gmail向服务器自动转发这个邮件,然后服务器才允许这个IP访问连接。(只是举例子,可以参考tor bridge的方法)

这种防御虽然简单,但是极大的麻烦了GFW研发人员的逆向和探测手段。当然,大家可以发散思维,加上各种变态的防御手段。提高GFW的攻击成本,就是提升自己的生存空间。

除了设防,第二个手段,还要反制。墙外的同学组织起来,建立蜜罐,去12377/12321/CERT举报,钓他们的鱼,他们一访问,就封杀他们的来源IP。这样以后即便自己服务暴露,审查人员也有相当大几率看不到。审查人员可以审查大众,大众也可以反向审查嘛。

All 22 comments

很多人上网或者大多数情况上网,使用非固定的IP,限制IP不是通用的办法。
墙外建蜜罐去举报,他们一伙的,举报会有用?

比较认同“默认拒绝”,但是手动发邮件比较麻烦,可以由客户端自动处理,或用其他方式验证。

像 SSH 那样验证如何?用密钥对。

On Thu, Sep 17, 2015, 17:32 Falseen [email protected] wrote:

比较认同“默认拒绝”,但是手动发邮件比较麻烦,可以由客户端自动处理,或用其他方式验证。


Reply to this email directly or view it on GitHub
https://github.com/v2ray/v2ray-core/issues/17#issuecomment-140992202.

像SSH那样不还是要连接服务器,握手什么的?

On 17 Sep 2015, at 3:42 PM, Kaizhe Huang [email protected] wrote:

像 SSH 那样验证如何?用密钥对。

On Thu, Sep 17, 2015, 17:32 Falseen [email protected] wrote:

比较认同“默认拒绝”,但是手动发邮件比较麻烦,可以由客户端自动处理,或用其他方式验证。


Reply to this email directly or view it on GitHub
https://github.com/v2ray/v2ray-core/issues/17#issuecomment-140992202.


Reply to this email directly or view it on GitHub https://github.com/v2ray/v2ray-core/issues/17#issuecomment-140993709.

我倒是觉得伪造短连接什么的会有用,像我们这边的移动网,大流量长连接会导致与服务器连接中断...

shadowsocks有自带的未启用的防护措施,文档连接如下
https://github.com/shadowsocks/shadowsocks/wiki/Ban-Brute-Force-Crackers

非常赞同这个

On Thu, Sep 17, 2015 at 5:42 PM Simon Shi [email protected] wrote:

shadowsocks有自带的未启用的防护措施,文档连接如下
https://github.com/shadowsocks/shadowsocks/wiki/Ban-Brute-Force-Crackers


Reply to this email directly or view it on GitHub
https://github.com/v2ray/v2ray-core/issues/17#issuecomment-141024936.

  1. 对于密码防爆破:现代密码技术都防爆破,shadowsocks 的加密方式已经可以完全保护密码不被破解。
  2. 对于防 DoS 攻击,这是一个广泛的问题,并不仅存在于翻墙软件中,现有第三方工具可以在一定程度上解决,如楼上提到的 fail2ban;但 DoS 攻击也在不断进化,没有完美的防御方式。
  3. 对于按需开启服务,这个没办法通过单一软件支持,因为至少需要开通一种通信的方式。楼主提到的邮件方式,它可行只是因为现在邮件没有被墙而已,想封杀并不困难。

如果你想讨论某一问题的具体细节,请单独开一个 Issue,此 Issue 将被标记为 chat。

@v2ray 这里防止暴力破解只是一个方面,一个出发点。我的意思是希望软件从一开始就站在“攻击者”的角度去考虑如何最大限度的保护服务生存性。去设计对应的feature和goal

能不能收集攻击者的ip然后云拉黑 误伤可以写邮件反映…

如果客户端认证数据包不对就模仿apache或者nginx的行为,返回404、默认静态页面啥的。

即,认证失败的返回就是标准的http静态页面。甚至可以直接从127.0.0.1:80去抓。

这个issue提的太到位了,把我想说的都说了。

很不错的想法。拿两台服务器如何?

一台验证服务器登ssh或是搭建好网页,这台验证服务器和翻墙服务器的通信是保持畅通的。

我们可以通过登录的验证服务器的ssh或网页,然后自动执行批处理,把ip信息告诉另外一台翻墙解除这个ip限制。

另外,翻墙服务器可以cron定期清除允许列表。
保证用过的ip再释放后可以清除。

一: 默认拒绝方式不错。来源IP的设置,可以使用墙内的服务器做交换。比如v2ray把IP地址进行加密之后,发送到某个即时聊天软件里面,比如微信、QQ、skype。v2ray 服务器端使用聊天客户端接收、解密然后再打开防火墙。不过这个特征就是: 墙看到了有人链接了某个IP:PORT, 但是自己去链接结果就被refuse了。

二:伪装成 http2/https 方式。默认提供http服务。对于协议不是http的请求,再转向到v2ray服务模式。

三: 协议建议要尽量接近https协议。比如需要使用商业证书等。

伪装的最高境界是,披上羊皮站在羊群中,而不是给你自己弄一身装甲!伪造各种SSL/HTTP/SYNC/FTP 等常用软件包头

如果有条件伪造成国际金融什么的通讯,一般人不敢拦

Closing due to inactivity for more than 7 days.

想法很棒,客户端配置加一个邮件帐号,服务器监听指定邮件开放ip链接,对用户来说透明的

默认拒绝没见过的ip功能非常赞!
lastpass 就是这样的,遇到没见过的IP禁止登录,需要进入注册邮箱,点击激活新ip, 然后再登录。

直接iptables设置白名单连接也是个选择啊

可以考虑对墙发起ddos

可以考虑对墙发起ddos

城墙的检测设备是旁路设备,路由黑洞、丢包本来就是路由器的基础功能,基本上没啥意义。

Was this page helpful?
0 / 5 - 0 ratings