最新版TORBrowser,Poodle 攻击与前置代理推荐之shadowsocks

天朝大概是唯一一个做到完全封锁TOR网络的国家(主要是通过主动探测技术,技术上真心没有多高明,这是靠纳税人的血汗钱砸出来的“成果”),所以很长一段时间内(大概从2010年开始)在天朝要想使用TOR只有两个方法:加前置代理(所有的VPN(无需配置,连上即可,推荐VPNGATE),自由门(端口设置http/https127.0.0.1,8580),无界(http/https127.0.0.1,9666),赛风(http/https127.0.0.1:8080 SOCKS127.0.0.1:1080),shadowsocks(socks5127.0.0.1:1080),lantern不清楚(Lantern将自己建立在脆弱的gtalk服务上而且迄今为止安全性没保障,不建议安全性高的用户使用),goagent和wallproxy等基于GAE开发的翻墙工具无法作为TOR的前置代理)和通过网桥中继连上TOR(最新版网桥是obfs3,可以到https://bridges.torproject.org/options获取)

不过随着最新版的TORbrowser横空出世,一切都改变了:Update (Oct 16 20:35 UTC): The meek transport still needs performance tuning before it matches other more conventional transports. Ticket numbers are now listed in the post.(流量混淆插件meek在表现的像其他方便插件一样好之前还需要时间测试考验(流量混淆是指把TOR流量伪装为其他“正常”流量,从而使GFW无法识别从而阻断))

The first release of the 4.0 series is available from the Tor Browser Project page and also from our distribution directory.

This release features important security updates to Firefox. (这次我们着重提升了firefox的安全性)Additionally, due to the POODLE attack, we have also disabled SSLv3 in this release.(注意这里,SSLv3爆出了一个严重的安全漏洞,所以TORbrowser停止了对SSLv3的支持)

The primary user-facing change since the 3.6 series is the transition to Firefox 31-ESR.

More importantly for censored users who were using 3.6, the 4.0 series also features the addition of three versions of the meek pluggable transport. (对于那些被审查的用户而言,更重要的是4.0版本添加了三种流量混淆插件meek)In fact, we believe that both meek-amazon and meek-azure will work in China today, without the need to obtain bridge addresses.(我们相信流量混淆插件 meek-amazon和meek-azure插件会在今天的天朝正常运行帮TOR连网,不需要网桥的帮助) Note though that we still need to improve meek’s performance to match other transports, though. so adjust your expectations accordingly. See tickets #12428, #12778, and #12857 for details.(我们需要提升流量混淆插件MEEK的表现,所以欢迎你前去反馈https://blog.torproject.org/blog/tor-browser-40-released )

This release also features an in-browser updater, and a completely reorganized bundle directory structure to make this updater possible. This means that simply extracting a 4.0 Tor Browser over a 3.6.6 Tor Browser will not work.(4.0相对于之前的版本在根本上发生了改变,所以不要想着在之前版本的基础上把TORbrowser改装成4.0) Please also be aware that the security of the updater depends on the specific CA that issued the http://www.torproject.org HTTPS certificate (Digicert), and so it still must be activated manually through the Help (“?”) “about browser” menu option. Very soon, we will support both strong HTTPS site-specific certificate pinning (ticket #11955) and update package signatures (ticket #13379). Until then, we do not recommend using this updater if you need stronger security and normally verify GPG signatures.(这一段是关于证书安全性的,TORbrowser不久就会支持更安全的证书验证机制)

There are also a couple behavioral changes relating to NoScript since 3.6. In particular, by default it now enforces script enable/disable for all sub-elements of a page, so you only need to enable scripts once for a page to work, rather than enabling many sub-scripts. This will hopefully make it possible for more people to use the “High Security” setting in our upcoming Security Slider, which will have Javascript disabled globally via NoScript by default. (javascript脚本会带来安全问题(一些网页木马会伪装成javascript)与隐私问题(加载有些脚本时会与不可靠的网站,比如墙内的烂泥网站连接,这会泄露你的IP与浏览内容),所以除非必要否则全局禁止JS加载,推荐插件noscript(for firefox)与scriptsafe(for chrome))While we do not recommend per-element whitelisting due to fingerprinting, users who insist on keeping this functionality may wish to check out RequestPolicy.

TOR如何配置请看这里https://plus.google.com/109790703964908675921/posts/LyWo2agoau3

还有使用技巧: https://plus.google.com/109790703964908675921/posts/ftE8KeaBJuc

下载链接https://www.torproject.org/dist/torbrowser/4.0/torbrowser-install-4.0_zh-CN.exe(官网链接,保证没问题)

前面提到了SSLv3 – Poodle 攻击:该漏洞贯穿于所有的SSLv3版本中,利用该漏洞,黑客可以通过中间人攻击等类似的方式(只要劫持到的数据加密两端均使用SSL3.0),便可以成功获取到传输数据(例如cookies)。截止到发文前,还没有任何补丁放出来。关闭客户端SSLv3支持:

谷歌(这个漏洞就是google发现的)已表示chorme浏览器已经通过技术 手段屏蔽浏览器自动降级至SSL3.0链接。手动关闭掉 SSL 3.0 支持的方法。

Windows 用户:

1)完全关闭 Chrome 浏览器

2)复制一个平时打开 Chrome 浏览器的快捷方式

3)在新的快捷方式上右键点击,进入属性

4)在「目标」后面的空格中字段的末尾输入以下命令 –ssl-version-min=tls1

Mac OS X 用户:

1)完全关闭 Chrome 浏览器

2)找到本机自带的终端(Terminal)

3)输入以下命令:/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome –ssl-version-min=tls1

Linux 用户:

1)完全关闭 Chrome 浏览器

2)在终端中输入以下命令:google-chrome—ssl-version-min=tls1

Firefox 浏览器用户可以进入 关于:设置,方法是在地址栏输入 about:config,然后将 security.tls.version.min 调至 1。

IE设置方法:

1) 点击浏览器右上角的“工具”选项,选择“Internet选项”

2) 选择“高级”

3) 找到“使用SSL3.0”的设置,将方框里的“勾”去掉

4) 点击“确定”保存

(不要跟我说你在用国产浏览器翻墙,那是在找死!)

最后重点介绍一下新兴轻量级翻墙工具:shadowsocks,这是一个很简单(从代码复杂度而言)的socks协议加密代理,支持多平台多系统,我重点介绍windows系统中配置最简单的shadowsocks-gui(只有英文版):下载链接http://sourceforge.net/projects/shadowsocksgui/files/dist/(找到shadowsocks-gui-0.6.2-win-ia32.tar.xz),下载后直接解压即可使用(其实还要自己寻找VPS(虚拟专用服务器),推荐http://shadowsocks.info/ 和http://www.fanyue.info/2014/04/shadowsocks_9.html还有https://xcafe.in/signin.php上的免费VPS,也可以自行寻找VPS),打开后填写对应栏:server IP(VPS服务器IP,通常是IPv4地址或域名),server port(VPS服务器端口),password(VPS密码),socks5 proxy port(socks5代理端口,默认为1080,一般不用改),encryption method(加密算法,看VPS而定),time out second(过多长时间算连接超时,一般为600,不用去改)

Chrome 推荐使用 SwitchySharp 切换代理设置。把浏览器代理设为下列参数即可:

协议: socks5

地址: 127.0.0.1

端口: 你填的 local_port(一般为1080)

firefox请先安装autoproxy,接下来操作同chrome

IE不支持SOCKS5,请更换浏览器:)

shadowsocks原理:首先介绍一下socks5协议: SOCKS协议位于传输层(TCP/UDP等)与应用层之间,其工作流程为

client向proxy发出请求信息,用以协商传输方式

proxy作出应答

client接到应答后向proxy发送目的主机(destination server)的ip和port

proxy评估该目的主机地址,返回自身IP和port,此时C/P连接建立。

proxy与dst server连接

proxy将client发出的信息传到server,将server返回的信息转发到client。代理完成

client连接proxy的第一个报文信息,进行认证机制协商

version nmethod methods

1 Bytes 1 Bytes 1 to 255 Bytes

一般是 hex: 05 01 00 即:版本5,1种认证方式,NO AUTHENTICATION REQUIRED(无需认证 0x00)

proxy从METHODS字段中选中一个字节(一种认证机制),并向Client发送响应报文:

version methods

1 1

一般是 hex: 05 00 即:版本5,无需认证

认证机制相关的子协商完成后,Client提交转发请求:

VER CMD RSV ATYP DST.ADDR DST.PORT

1 1 0x00 1 variable 2

前3个一般是 hex: 05 01 00 地址类型可以是 * 0x01 IPv4地址 * 0x03 FQDN(全称域名) * 0x04 IPv6地址

对应不同的地址类型,地址信息格式也不同: * IPv4地址,这里是big-endian序的4字节数据 * FQDN,比如”www.nsfocus.net”,这里将是:0F 77 77 77 2E 6E 73 66 6F 63 75 73 2E 6E 65 74。注意,第一字节是长度域 * IPv6地址,这里是16字节数据。proxy评估来自Client的转发请求并发送响应报文

VER REP RSV ATYP BND.ADDR BND.PORT

1 1(response) 0x00 1 variable 2

Proxy可以靠DST.ADDR、DST.PORT、SOCKSCLIENT.ADDR、SOCKSCLIENT.PORT进行评估,以决定建立到转发目的地的TCP连接还是拒绝转发。若允许则响应包的REP为0,非0则表示失败(拒绝转发或未能成功建立到转发目的地的TCP连接)。

有一点需要注意的是如果通过shadowsocks进行网络通信,shadowsocks与一般的代理服务器不同在目标服务器经VPS转运回本地PC的数据并不是直接到达浏览器,而是先到达本地的Local.py再转发给浏览器(这一段路数据是未加密的,但只要你的PC上没感染病毒木马或装有国产间谍软件就没问题,再强调一遍,远离所有国产软件!软件替代https://plus.google.com/109790703964908675921/posts/iDLxxCBkBGv)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s