建立加密隧道

使用 Stunnel 建立加密隧道

附件中的 Server 和 Clinet 都是已经配置好了的,只需修改 Server 的 stunnel.conf 的 connect 为实际的ip和端口即可投入使用,但是建议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 = yes

# 将代理服务器提供的端口加密映射成本机端口
[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 实现加密代理访问。

Stunnel使用的更多相关文章

  1. 用ccproxy + stunnel做个加密代理

    https://www.stunnel.org/downloads.html ccproxy + stunnel做个加密http代理和socks5代理 目前国内用户无法访问某些国外网站,如http:/ ...

  2. stunnel+CCProxy,搭建加密代理

    总所周知,不可抗拒的特别有用心的原因,我们无法访问youtube,picasa,Twitter……国外优秀网站,很多人采用了代理服务器的方法访问. 如果您有一台放在海外的服务器,这个就好办了.下载一个 ...

  3. Windows系统Stunnel客户端的配置

    Stunnel官方就有Windows版本,到下面的地址下载: https://www.stunnel.org/downloads.html 选择”stunnel-X.XX-installer.exe“ ...

  4. Stunnel服务端

    Stunnel on Debian GNU/Linux 6 (squeeze) 传统的POP3, SMTP, Samba等服务,都是不加密的协议(即在网络上明文传输数据),通过stunnel,可以将访 ...

  5. Stunnel使用2

    1.首先测试一下stunnel.exe,是否能正常运行,正常的话,不会报错,在桌面右下角位置显示. 2.第一步完成后,打开stunnel.conf,对stunnel进行配置,需要修改一下几项:(mys ...

  6. 常用工具之stunnel

    The stunnel program is designed to work as an SSL encryption wrapper between remote client and local ...

  7. squid+stunnel+用户密码认证的三种玩法

    没办法,应用越来越深入,就会越来越多要求. squid+stunnel+用户密码认证的场景至少以下三个,我会遇到. 1,标准玩法 在服务器上建一个SQUID,加密码认证,然后,其它人通过它上网.(不要 ...

  8. (转)用stunnel给普通http通信加密

    转自:https://www.digitalocean.com/community/tutorials/how-to-set-up-an-ssl-tunnel-using-stunnel-on-ubu ...

  9. 安装Stunnel来实现正向代理邮件

    文:铁乐与猫 2017年8月 一开始我是使用yum install来安装stunnel的 感觉版本低点也无所谓,毕竟只是拿来加密代理一下邮件收发. 可是后来发现之前下载的最新官网版本的tar包里有很多 ...

随机推荐

  1. Telerik JustDecompile 2014.1.255.0 开发版(.NET反编译神器,免费下载)

    Telerik JustDecompile是Telerik公司推出一个免费的.NET反编译工具,支持插件与Visual Studio 2015~2013集成,还能够创建Visual Studio Pr ...

  2. [SharePoint] SharePoint 错误集 3

    阅读目录 1. workflow 流程走不下去,报 workflow fails to run 的错误 2. 安装sharepoint prerequisit总是在web server (iis)这步 ...

  3. ubuntu处理中文时设置locale

    ubuntu下涉及中文处理的程序时,需要正确设置,否则会出现问号或者乱码的情况 具体的原因: http://wiki.ubuntu.org.cn/Locale locale的解释 http://wik ...

  4. CoreDataManager-Swift版-兼容iOS10以前的版本

    import UIKit import CoreData // coredata管理器 class CoreDataManager: NSObject { // 单例 static let share ...

  5. sql 2012 sequence 速记

    CodeSELECT id INTO #t1 FROM sys_id WHERE id < 3 SELECT next value for sequencebase FROM #t1 DROP ...

  6. equals()和hashCode()之间的关系

    在Java的基类java.lang.Object中有两个非常重要的方法: public boolean equals(Object obj) public int hashCode() 对这两个方法的 ...

  7. Hadoop自定义分组Group

    matadata: hadoop a spark a hive a hbase a tachyon a storm a redis a 自定义分组 import org.apache.hadoop.c ...

  8. phpStydy配置memcache扩展

    一.下载并安装memcached服务器端软件    1.下载memcached软件 32位下载地址: memcached-win32-1.4.4-14.zip(直接下载),memcached-win3 ...

  9. PHP正确的使用复数

    <?php // 正确地显示复数 if(!function_exists('_plurals_format')) { /** * 正确的使用复数 * @access public * @auth ...

  10. Virtualbox配置双网卡

    hadoop内部的虚拟机群,使用Host-Only 因为我之前一直是把三台虚机配置成桥接网络,可以同时上网又可以互通,但有一段时间,网络一直不通畅,造成hadoop核心进程一直关闭. 最后为了稳定起见 ...