通过Stunnel建立加密通讯隧道,你开始意识到网络的安全性了吗?

Stunnel,也就是加密通讯隧道,有什么用呢?

记得很久很久以前上网,上网的安全性还只是木马,觉得中了木马就是不安全,会泄露密码等等的个人信息。

而现在,网络的不安全性,更集中在网络的可嗅探性上,你可以保证你们公司内部网络的网管没有在你们公司网络的上行口上偷窥你的计算机收发包的信息?

那Stunnel又有什么用呢?
简单得说,stunnel就是将你的正常的通讯包通过它的客户端在本地加密后,然后将加密数据传输至你的代理服务器,然后由代理服务器上的服务端进行解码,再传送到代理服务器。其间,你的主机和代理服务器之间的通讯都是经过stunnel加密的通讯。

下面转载一篇关于stunnel客户端和服务端的配置方法:
引用
假设你已经使用代理软件架设好了代理服务器,端口为 6700 (附带的 Stunnel.conf 设置的就是这个端口,你可以根据自己的需要修改)。
如果要启用客户端密码验证可以在代理软件中设置。

要通过 Stunnel 建立加密隧道则需要做以下的工作

1、创建服务器证书(原文可见 http://www.stunnel.org/faq/certs.html#ToC5)

Stunnel 服务方式需要一个证书文件。通过 openssl.exe 来创建服务器证书。

具体命令为

openssl req -new -x509 -days 365 -nodes -config openssl.cnf -out stunnel.pem -keyout stunnel.pem

这将会创建一个自己给自己签名的证书。参数的含义:

-days 365
使这个证书的有效期是 365 天,之后它将不能再用。

-new
创建一个新的证书

-x509
创建一个 X509 证书(自己签名的)

-nodes
这个证书没有密码

-config openssl.cnf
OpenSSL 使用的配置文件

-out stunnel.pem
把 SSL 证书写到哪里

-keyout stunnel.pem
把 SSL 证书放到这个文件中

这个命令将会问你以下问题(请根据自己的情况回答):

Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:SiChuan
Locality Name (eg, city) []:Chengdu
Organization Name (eg, company) [Internet Widgits Pty Ltd]:PRCJQ
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:www.example.com
Email Address []:solin.zhan@gmail.com

注意:Common Name (FQDN) 应该是运行 stunnel 机器的主机名。如果你能通过不同的主机名访问这台机器,有些 SSL 客户会警告这个主机的证书有问题,所以最好是使它和用户访问的主机名匹配。

openssl gendh 512 >> stunnel.pem

这将生成 Diffie-Hellman 部分, 追加到 pem 文件中。这个只有在你指定 stunnel 使用 DH 才需要。

openssl x509 -subject -dates -fingerprint -in stunnel.pem

这个命令是将你的证书信息在屏幕显示出来。

2、配置/运行 Stunnel

Stunnel 默认配置文件是 stunnel.conf
下面是服务方式配置文件内容示范:

# 使用服务器模式
client = no

key = stunnel.pem
cert = stunnel.pem

# 隐藏 Stunnel 的托盘图标(值为 no 时隐藏)
taskbar = no

# 将代理服务器提供的端口加密映射成本机端口
[HTTP2SSL]
# 客户端连接的端口
accept = 8080
# 代理服务所在的IP及提供的端口
connect = 127.0.0.1:6700

含义:使用 stunnel.pem 证书,将 127.0.0.1:6700 的端口加密映射成本机 8080 端口,HTTP2SSL 是标识名,可以改成其他的标识。

直接运行stunnel-4.11.exe,就可以服务器方式启动 Stunnel 了。

3、将Stunnel 安装成 MS NT 服务方式(可选)
在 Stunnel 所有设置完成后,测试完毕后即可将 Stunnel 安装为服务。
运行 stunnel-4.11.exe -install 将会安装成服务。
运行 net start stunnel 启动 stunnel 服务。
运行 net stop stunnel 停止 stunnel 服务。
运行 stunnel-4.11.exe -uninstall 卸载 stunnel 服务。

注意:即使是 MS NT 服务方式启动,当启动 stunnel 4.11 服务的时候,在托盘还是有 Stunnel 的图标。不想托盘有 Stunnel 的图标,可以在 Stunnel.conf 里设置 taskbar = no

4、Stunnel 服务器配置好后即可以使用 Stunnel 客户端连接到 Stunnel 测试了。
Stunnel 服务器和客户端的区别仅在 stunnel.conf 的配置不同而已。
下面是客户方式配置文件内容示范:

# 使用客户模式
client = yes

[SSL2HTTP]
accept = 127.0.0.1:8888
connect = 127.0.0.1:8080

含义:使用客户方式方式,将 127.0.0.1:8080 的端口解密映射成本机 8888 端口,SSL2HTTP 是标识名,可以改成其他的标识。

accept设置为127.0.0.1:8888,只允许127.0.0.1--本机使用这个 8888 端口代理,禁止了其他人使用你的机器作代理。

直接运行stunnel-4.11.exe,就可以以客户方式启动 Stunnel 了。

5、设置浏览器的代理地址
浏览器的代理地址设置为 127.0.0.1 端口设置为 accept 中设置的值。即可通过 Stunnel 实现加密代理访问。

Thumbnails in opera cache(by lex1)几种可以让你在任何位置运行opera的方法(Methods to make opera portable)

Write a comment

You must be logged in to write a comment. If you're not a registered member, please sign up.

February 2012
S M T W T F S
January 2012March 2012
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29