stunnel+CCProxy,搭建加密代理

Posted on 星期四, 十二月 3rd, 2009 at 21:13

总所周知,不可抗拒的特别有用心的原因,我们无法访问youtube,picasa,Twitter……国外优秀网站,很多人采用了代理服务器的方法访问。

如果您有一台放在海外的服务器,这个就好办了。下载一个CCProxy,设置成代理服务器就可以了。

不过好像总是有问题,比较明显的是在访问的页面含有一些敏感词语的时候会被无法访问。短时间内甚至无法使用网络。这个就是我们值得自豪的全球牛B的关键词过滤系统了。

不过牛B归牛B,如果我们的连接被加密了,他再牛逼也没有用。

介绍个Internet传输的常用加密方法:SSL;

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

我们常见到的https协议就是基于SSL加密,目前很多银行系统、Gmail的登录程序就采用了Https传输,这是一种公钥,私钥的加密体系,非常安全。

目前最好的代理服务器是Socket代理,他是绝大多数Internet软件都支持的代理方式。CCProxy已经支持,

那么如何能建立一个支持加密的Socket代理呢?

接下来就是stunnel出场了:

Stunnel是一个自由的跨平台软件,用于提供全局的TLS/SSL服务。
  针对本身无法进行TLS或SSL通信的客户端及服务器,Stunnel可提供安全的加密连接。该软件可在许多操作系统下运行,包括Unix-like系统,以及Windows。Stunnel依赖于某个独立的库,如OpenSSL或者SSLeay,以实现下面的TLS或SSL协议。

stunnel是一个可以将Socket转换成SSL协议在网路上传输的软件,并提供SSL转换回Socket,通过它就可以在代理信息传输过程中加上一条保障了。

具体流程如下:

客户端Socket->客户端stunnel——Internet(SSL)——->服务器端stunnel->服务器端CCProxy->Internet

具体方法如下:

服务器端安装CCProxy,并启动。

服务器端安装stunnel,设置配置文件为:

cert = stunnel.pem
key = stunnel.pem
 
; Some performance tunings
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
taskbar=yes
client = no
 
[socks2ssl]
accept = 8800
connect = 127.0.0.1:1810
其中 127.0.0.1:1810就是服务器上的的CCProxy的Socket代理
客户端安装:stunnel
设置配置文件:
cert = stunnel.pem
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
client=yes
[socks2ssl]
accept = 8800
connect = 123.123.123.123:8800
其中 123.123.123.123:8800就是服务器地址,accept = 8800就是本地的接收代理的地址可供本地使用。
这样把IE 的套接字(Socket)代理设置成127.0.0.1:8800就可以访问敏感词了
 
如果再安装个Permeo Security Driver那就更爽了,透明代理,不用任何设置即可轻松绕过敏感词系统,具体使用方法可以参考我的另一篇文章:CCProxy的突破应用
 
You can leave a response, or trackback from your own site.

Leave a Reply