zoukankan      html  css  js  c++  java
  • Stunnel使用

     建立加密隧道

    使用 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 实现加密代理访问。

  • 相关阅读:
    [CSP-S模拟测试]:party?(霍尔定理+最小割+树链剖分)
    [CSP-S模拟测试]:marshland(最大费用可行流)
    [CSP-S模拟测试]:Revive(点分治)
    [CSP-S模拟测试]:Lighthouse(哈密顿回路+容斥)
    [CSP-S模拟测试]:Lost My Music(凸包)
    [CSP-S模拟测试]:God Knows(线段树维护单调栈)
    [CSP-S模拟测试]:Star Way To Heaven(最小生成树Prim)
    [CSP-S模拟测试]:gcd(莫比乌斯反演)
    [CSP-S模拟测试]:water(BFS)
    BZOJ3462 DZY Loves Math II 【多重背包 + 组合数】
  • 原文地址:https://www.cnblogs.com/justuntil/p/5194005.html
Copyright © 2011-2022 走看看