我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Stunnel加密封装器如何安装设置和使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Stunnel加密封装器如何安装设置和使用

小编给大家分享一下Stunnel加密封装器如何安装设置和使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Stunnel作为一个小巧的跨平台(Unix/Linux和Windows)的开源(GNU)项目,提供了以下2个主要功能:

针对本身无法进行TLS或SSL通信的客户端及服务器,Stunnel可提供安全的加密连接(基于OpenSSL)。

针对有访问限制的局域网,Stunnel提供加密的SSL连接解除防火墙和代理的限制直接和远端服务器理论上的任何网络服务连接。我们知道一般局域网都会开放443端口用于加密的HTTP连接,我们可以利用这点用Stunnel和远程端口443创建一个SSL连接,防火墙和代理会认为这个连接是正常的HTTPS连接而允许通过。

>>去网络安全工具百宝箱看看其它安全工具

Stunnel的安装

Stunnel的Windows版本可以点此下载。我们需要把下载下来的Stunnel程序同时安装在服务器端和客户端。安装过程比较简单,一路Next就行。假设我们把Stunnel安装在默认路径C:\Program Files\stunnel\下。具体安装步骤见下:

Stunnel加密封装器如何安装设置和使用

访问控制以及安全证书的生成

Stunnel使用OpenSSL提供了基于安全证书的访问控制。遵循SSL协议,客户端和服务器端都可以要求对方提供安全证书用以验证对方是否可信。而在大多数应用中往往只有服务器端需要验证客户端的安全证书以确认连接者可以被信任,所以我的这篇文章主要讲解服务器端验证的设置。客户端验证的设置方法和步骤同服务器端相反,这里就不再叙述了。

决定了如何进行访问控制,下一个步骤我们需要一个安全证书,你可以选择以下几个方法得到安全证书:

Stunnel安装程序自带的(C:\Program Files\stunnel\stunnel.pem)

OpenSSL成生的安全证书

从CA处购买的安全证书

一般来说不推荐方法1,因为通用性的Stunnel安全证书不能提供任何安全保证因为人人都可以下载获得。而最安全的第3种方法需要花费不少银子,因此这里我们使用方法2:在不花钱的情况下得到***的安全性。Stunnel的Windows版本并没有提供OpenSSL程序,所以要生成安全证书需要通过以下途径。

1. 使用网页服务生成安全证书

用Stunnel提供的网页服务(http://www.stunnel.org/pem/),输入所有相关信息然后Stunnel的服务器会生成所需的安全证书,具体见下图:

Stunnel加密封装器如何安装设置和使用

点击Generate stunnel.pem File按钮等待几秒钟系统会出现以下页面:

Stunnel加密封装器如何安装设置和使用

拷贝所有文本框内的内容另存为stunnel.pem文件,这个就是你所需要的安全证书了。正如Stunnel网页上所说,这种方法并不安全,因为生成的证书是通过没有加密的通道传输的,任何人都可以从中窃取这个证书。

2. 使用Unix/Linux生成安全证书

第二种方法需要一台安装了OpenSSL的Unix或者Linux主机。运行以下命令生成安全证书:

openssl req -new -x509 -days 365 -nodes              -out ${FILE_NAME}.pem -keyout ${FILE_NAME}.pem

${FILE_NAME}.pem是自定义生成的安全证书的名字,其他各个参数的意义如下:

◆-new:生成新的密匙

◆-x509:生成X509安全证书

◆-days 365:有效期1年

◆-nodes:不设置密码

◆-out:生成的文件名

◆-keyout:存放密匙的文件名

运行这个命令后需要回答以下问题,然后安全认证会自动存放在${FILE_NAME}.pem文件中。

Stunnel加密封装器如何安装设置和使用

在验证安全证书有效性时,Stunnel使用Hash值搜索证书,所以我们还需要运行以下2条命令得到这个证书的Hash值,然后重命名这个文件:

hash_name=`openssl x509 -hash -noout -in ${FILE_NAME}.pem `  mv ${FILE_NAME}.pem $hash_name.0

这样最终得到的安全证书就是XXXXXXXX.0,其中X代表16进制数字。以上2段脚本可以合在一起变成一个批处理文件。

我们需要注意的是,生成的安全证书需要同时拷贝到客户端和服务器端。客户端需要向服务器端发送这个证书,而服务器端需要检查客户端证书是否和服务器端证书一致。

客户端配置

编辑Stunnel的配置文件(位置在C:\Program Files\stunnel\stunnel.conf):

[CLIENT]  accept=22443 connect=proxyhost:8080  client=yes ccert=c:\program files\stunnel\${FILE_NAME}.pem  protocol=connect protocolHost=192.234.191.174:443

其中各个参数的含义为:

◆accept:接受的端口(在这个例子中,如果访问远程服务需要连接到localhost端口22443)。

◆connect:远程服务器的IP地址和端口(注意这里我们使用标准HTTPS端口)。

◆client:告诉stunnel这个配置是client配置。

◆cert:连接是提供给对方的安全证书。这个证书可以是${FILE_NAME}.pem文件名也可以直接用XXXXXXXX.0文件。

如果客户端需要通过HTTPS代理连接,需要使用以下配置文件:

[CLIENT]  accept=22443 connect=proxyhost:8080  client=yes ccert=c:\program files\stunnel\${FILE_NAME}.pem  protocol=connect protocolHost=192.234.191.174:443

这里connect处需要填入代理服务器的IP和端口,protocolHost处填入远程服务器的IP和端口。配置结束后运行stunnel程序,然后双击任务栏的图可以查看日志:

Stunnel加密封装器如何安装设置和使用

服务器端配置

服务器端配置比客户端稍微麻烦些。首先我们需要把先前生成的XXXXXXXX.0证书拷贝到一个文件夹中(假设这个文件夹叫CApath),所有可信任的证书都应该拷贝到这里。然后我们需要配置C:\Program Files\stunnel\stunnel.conf文件:

[SERVER]  accept=443 cert=stunnel.pem  connect=localhost:21  CApath=c:\program files\stunnel\CApath  CRLpath=c:\program files\stunnel\CRLpath  verify=3

以下是这个配置各个参数的含义:

◆accept:接受连接请求的端口(应该和客户端一致)

◆cert:服务器端发送给客户端的安全认证。因为我们的客户端不验证这个证书,所以使用标准的stunnel证书就可以。

◆connect:连接到本地或者其他局域网的网络服务(这里我们使用本地FTP服务)。

◆CApath:保存了所有可信安全证书的文件夹(所有文件名都应该是XXXXXXXX.0格式)。

◆CRLpath:保存了所有已经撤销的安全证书的文件夹(所有文件名都应该是XXXXXXXX.0格式)。这个的主要作用是当你把安全证书发布给客户以后你依然可以拒绝他的连接请求。

◆verify:验证级别。1表示如果客户提供安全证书则验证安全证书。2表示客户必须提供安全证书并验证安全证书,这个模式适合于验证从CA处购买的安全证书。3表示客户必须提供安全证书并根本本地CAPath和CRLpath来验证证书是否合法。毫无疑问这里我们应该选3。

设置完成后我们可以启动stunnel程序然后进行下简单的测试。

连接测试

首先确认服务器端和客户端的stunnel程序都已经启动,并且提供服务的网络应用程序也已经启动(这里我们是FTP服务)。打开命令行,输入:

telnet localhost 22443

这时你应该能得到一个到FTP服务器的TCP连接,同时也宣告大功告成:)以上这个例子可以使在禁止FTP的局域网中使用FTP服务,当然任何安装在服务器端的TCP服务都可以通过这种方法使用。由于Stunnel使用加密过的连接,因此没有人能看到服务器端和客户端传送的数据。需要注意的是,有些防火墙会在没有流量的时候关闭连接,因此为了长期保持连接尽量不停发送数据(简单的heartbeat就可以)。

以上是“Stunnel加密封装器如何安装设置和使用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Stunnel加密封装器如何安装设置和使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Stunnel加密封装器如何安装设置和使用

小编给大家分享一下Stunnel加密封装器如何安装设置和使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Stunnel作为一个小巧的跨平台(Unix/Linux
2023-06-17

路由器如何安装和设置

这篇文章主要介绍了路由器如何安装和设置的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇路由器如何安装和设置文章都会有所收获,下面我们一起来看看吧。路由器安装和设置:1、首先根据下图所示,连接光猫、路由器和电脑。2
2023-07-02

adb如何使用内置安装器安装应用

在使用adb进行应用安装时,可以使用内置安装器来执行安装操作。以下是使用adb内置安装器安装应用的步骤:1. 首先,将应用的APK文件放置在计算机上的任意位置。确保已经安装了Android SDK并在计算机上设置了adb的环境变量。2. 打
2023-10-09

Linux中如何使用TCP封装器加强网络服务安全

小编给大家分享一下Linux中如何使用TCP封装器加强网络服务安全,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!我们将会讲述什么是 TCP 封装器TCP wrappers以及如何在一台 Linux 服务器上配置他们来限制网
2023-06-27

Fedora Core 5如何安装设置使用

这篇文章主要为大家展示了“Fedora Core 5如何安装设置使用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Fedora Core 5如何安装设置使用”这篇文章吧。Fedora Core
2023-06-16

如何让在Linux 下使用TCP封装器来加强网络服务安全

今天就跟大家聊聊有关如何让在Linux 下使用TCP封装器来加强网络服务安全,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。下面和大家分析一下什么是 TCP 封装器TCP wrappe
2023-06-28

安装CentOS oracle过程如何设置使用解压包

本篇文章为大家展示了安装CentOS oracle过程如何设置使用解压包,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。CentOS oracle 9i 在CentOS 4.4上的安装:1. 安装Ce
2023-06-16

购买了阿里云服务器如何安装配置和使用

阿里云服务器是一款专业的云计算服务,可以提供多种云计算服务,包括但不限于:存储、计算、数据库、Web应用、移动应用、人工智能、数据分析、安全等,用户可以根据自己的需求选择不同的服务进行搭配。以下是阿里云服务器的安装配置和使用的步骤:连接阿里云服务器首先,需要登录阿里云服务器的用户账号,然后在主界面中选择“管理我的云服务器”选项。在弹出的“管理我的云服务器”窗口中,用户可以选择要部署的服
2023-10-26

如何在CentOS中安装和配置Tomcat应用服务器

在CentOS中安装和配置Tomcat应用服务器有以下步骤:使用以下命令安装Tomcat:sudo yum install tomcat启动Tomcat服务:sudo systemctl start tomcat设置Tomcat服务开机自启
如何在CentOS中安装和配置Tomcat应用服务器
2024-03-13

如何使用PHP7的闭包实现更加灵活的逻辑封装和代码隔离?

如何使用PHP7的闭包实现更加灵活的逻辑封装和代码隔离?摘要:使用闭包(Closure)是PHP开发中非常重要的概念。在PHP 7之前,闭包的使用相对较为繁琐,并且存在一些限制。而PHP 7引入了匿名类和Closure::call()等新特
2023-10-26

如何使用PHP7的匿名类实现更加灵活和可扩展的对象封装?

如何使用PHP7的匿名类实现更加灵活和可扩展的对象封装?随着PHP7的发布,匿名类成为了PHP开发中一个重要的功能特性。匿名类的引入使得我们可以更加灵活地封装对象和实现可扩展的代码。在本文中,我们将探讨如何使用PHP7的匿名类来实现更加灵活
2023-10-27

如何使用安全的远程仓库设置CentOS系统的软件安装

要在CentOS系统上安装软件并使用安全的远程仓库,可以按照以下步骤进行操作:1. 更新系统:首先,确保系统处于最新状态。使用以下命令更新系统软件包:```sudo yum update```2. 安装epel存储库:epel存储库是Cen
2023-10-12

Fedora CVS服务器如何安装配置和创建用户组

这篇文章主要介绍Fedora CVS服务器如何安装配置和创建用户组,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、Fedora CVS服务器安装首先确保系统安装有Fedora CVS服务器# rpm -qa|gre
2023-06-16

如何使用PHP7的匿名函数和闭包实现更加灵活和可扩展的逻辑封装?

如何使用PHP7的匿名函数和闭包实现更加灵活和可扩展的逻辑封装?在PHP编程中,逻辑封装是一种常见的编程技巧,它可以把一段特定的代码逻辑进行封装,便于复用和维护。PHP7引入了匿名函数和闭包的特性,使得逻辑封装更加灵活和可扩展。本文将介绍如
2023-10-25

阿里云服务器增加白名单如何设置和使用

本文将详细介绍如何在阿里云服务器上增加白名单,以及白名单的使用方式和优势。阿里云服务器是阿里云推出的一种灵活、可扩展的云计算服务,用户可以自由地配置服务器硬件、安装操作系统、配置网络环境、部署应用程序和服务,从而实现对服务器的完全自主管理和控制。然而,为了保证服务器的安全和稳定,用户需要设置一些安全策略,例如白名
阿里云服务器增加白名单如何设置和使用
2023-11-15

在Ubuntu系统下如何安装和使用PCMan资源管理器

这篇文章主要讲解了“在Ubuntu系统下如何安装和使用PCMan资源管理器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在Ubuntu系统下如何安装和使用PCMan资源管理器”吧!Ubunt
2023-06-13

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录