通过SSL加密服务器流量

要实现通过SSL对客户端和服务器之间的流量进行加密,我们可以选择Stunnel这个开源软件,这个软件实现了客户端和服务器端之间的流量通过TLS进行加密传输。

例如我们现在有一台服务器,在其上安装了代理服务,我们想对连接这个代理服务器的流量进行加密,具体的做法如下:

通过Squid开启代理服务

安装必要的软件

apt-get install apache2-utils -y
apt-get install squid -y

配置Squid

1. 生成HTTP认证文件

htpasswd -c /etc/squid/squid.passwd <登录用户名>

2. 修改监听地址和端口

修改/etc/squid/squid.conf文件,找到TAG: http_port注释,将http_port 3128修改为127.0.0.1:3128

3. 修改访问权限

修改/etc/squid/squid.conf文件,找到TAG: auth_param注释,添加以下语句

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/squid.passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

找到TAG: acl,添加

acl ncsa_users proxy_auth REQUIRED

找到TAG: http_access,添加

http_access deny !ncsa_users
http_access allow ncsa_users

4. 重启Squid服务

sudo service squid restart

现在代理服务已经配置好了。

通过Stunnel开启加密服务

安装软件

apt-get install stunnel4 -y

生成证书

1. 生成根CA证书

openssl genrsa -out root-ca.key 2048
openssl req -x509 -new -nodes -key root-ca.key -sha256 -days 1024 -out root-ca.crt

2. 生成中间CA证书

openssl genrsa -out inter-ca.key 2048
openssl req -new -key inter-ca.key -out inter-ca.csr
openssl x509 -req -in inter-ca.csr -CA root-ca.crt -CAkey root-ca.key -CAcreateserial -out inter-ca.crt -extfile inntext.cnf

在生成中间证书时,我们定义了一个扩展文件inntext.cnf,内容如下:

basicConstraints=critical,CA:TRUE

3. 为服务器生成证书

openssl genrsa -out proxy-server.key 2048
openssl req -new -key proxy-server.key -out proxy-server.csr
openssl x509 -req -in proxy-server.csr -CA inter-ca.crt -CAkey inter-ca.key -CAcreateserial -out proxy-server.crt -extfile proxy-server.ext

扩展文件proxy-server.ext的内容如下,里面的IP地址需要对应服务器的公网地址,DNS如果没有域名可以自己定义一个,然后在客户端的hosts文件中添加这个自定义域名和公网地址的映射:

subjectAltName = @ABC
extendedKeyUsage = serverAuth[ABC]# 域名,如有多个用DNS.2,DNS.3…来增加
DNS.1 = abc.com
# IP地址
IP.1 = 123.123.123.123

4. 生成证书链

cat proxy-server.crt inter-ca.crt root-ca.crt > proxy-server-chain.crt

5. 修改Stunnel配置

修改/etc/stunnel/stunnel.conf,内容如下:

client = no
[squid]
accept = 3129
connect = 127.0.0.1:3128
cert = /etc/stunnel/proxy-server-chain.crt
key = /etc/stunnel/proxy-server.key

6. 重启Stunnel服务

sudo service stunnel4 restart

Chrome浏览器设置代理

现在Squid代理服务已经通过Stunnel进行加密了。打开Chrome浏览器,在设置中找到HTTP/SSL证书,然后导入之前生成的root-ca.crt证书到受信任的根证书。然后设置代理服务器到我们Stunnel配置的服务器地址和accept端口即可,建议可以通过Proxy SwitchyOmega插件来进行代理服务器的设置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/58158.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker常用命令整理

文章目录 docker 常用操作命令一、镜像类操作1.构建镜像2.从容器创建镜像3.查看镜像列表4.删除镜像5. 从远程镜像仓库拉取镜像6. 将镜像推送到镜像仓库中7. 将镜像导出8. 导入镜像9. 登录镜像仓库 二、容器相关操作1. 运行容器2. 进入容器3. 查看容器的运行状态4. 查看容器的日…

QT SSDP 局域网检测支持扫描通信

一. 什么是SSDP? 简单服务发现协议(SSDP,Simple Service Discovery Protocol)是一种应用层协议,简单服务发现协议是在HTTPU和HTTPMU的基础上实现的协议。简单服务发现协议(SSDP)提供了在局域网里面发现设备的机制。客户端可以通过使用SSDP,根据自己的需要,在局域网查找特…

C++20新特性探索:概念(Concepts)与范围库(Ranges)

随着C++标准的不断演进,每一次新版本的发布都带来了诸多令人瞩目的新特性。C++20,作为近年来的一次重大更新,不仅巩固了C++在高性能计算、系统编程等领域的地位,还通过引入一系列创新特性,进一步提升了C++的可用性和表达力。本文将深入探讨C++20中的两大亮点——概念(Con…

丝氨酸/苏氨酸激酶(STKs):前列腺癌治疗的新兴靶点

引言 前列腺癌&#xff08;PCa&#xff09;是男性癌症相关死亡的第五大原因&#xff0c;全球约有140万患者&#xff0c;2020年超37.5万死亡病例。 靶向治疗是潜力巨大的领域&#xff0c;PARP、PSMA、STEAP1、DLL3等是前列腺癌治疗的明星靶点。 除此之外&#xff0c;还有哪些…

深度学习之降维和聚类

1 降维和聚类 1.1 图解为什么会产生维数灾难 ​ 假如数据集包含10张照片&#xff0c;照片中包含三角形和圆两种形状。现在来设计一个分类器进行训练&#xff0c;让这个分类器对其他的照片进行正确分类&#xff08;假设三角形和圆的总数是无限大&#xff09;&#xff0c;简单的…

SMT(表面贴装技术)

一、什么是SMT SMT&#xff0c;即表面贴装技术&#xff08;Surface Mounted Technology&#xff09;&#xff0c;是一种将元器件直接安装到印刷电路板&#xff08;PCB&#xff09;表面的制造方法。这种技术极大地提高了电子产品的密度和性能&#xff0c;是现代电子制造中的关键…

基于逻辑回归进行THUCNews文本分类

项目背景 基于逻辑回归(Logistic Regression)进行THUCNews文本分类的项目背景通常包括以下几个方面: 1. 数据集背景 THUCNews数据集:THUCNews(Tsinghua News Corpus)是由清华大学自然语言处理与社会人文计算实验室整理的新闻文本数据集。该数据集包含约84万篇新闻文档,…

Linux常用命令 yum 命令介绍

目录 yum 语法 yum常用命令 常见命令举例 1. 列出所有可更新的软件清单命令&#xff1a;yum check-update 2. 更新所有软件命令&#xff1a;yum update 3. 仅安装指定的软件命令&#xff1a;yum install 4. 仅更新指定的软件命令&#xff1a;yum update 5. 列出所有可…

安装pygod

了解pygod。 It is recommended to use pip for installation. Please make sure the latest version is installed, as PyGOD is updated frequently: pip install pygod # normal install pip install --upgrade pygod # or update if needed如果pip不是最新的&…

国外白帽故事 | 通过OSINT入侵了1000多辆特斯拉

我撰写这篇文章的目的是为了提高特斯拉车主的安全意识&#xff0c;值得注意的是&#xff0c;这并不是特斯拉车辆或其基础设施的漏洞。 在这篇文章中&#xff0c;我将分享我是如何通过OSINT技术入侵特斯拉汽车的&#xff0c;以及我向特斯拉报告后得到的回应&#xff0c;最后我也…

力扣249题详解:移位字符串分组的多种解法与模拟面试

在本篇文章中&#xff0c;我们将详细解读力扣第249题“移位字符串分组”。通过学习本篇文章&#xff0c;读者将掌握如何将一组字符串按照移位相同的特性进行分组&#xff0c;并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释&#xff0c;以便于理解。 问题描…

[NewStar 2024] week4

Crypto 欧拉欧拉 这题给了很诡异的素数生成方式。p和q异或后基本是一串1&#xff0c;这个差是-3 flag bflag{*********} m bytes_to_long(flag)def get_prime(bits):while True:p getPrime(bits)x (1 << bits) - 1 ^ pfor i in range(-10, 11):if isPrime(x i):r…

logdata-anomaly-miner:一款安全日志解析与异常检测工具

关于logdata-anomaly-miner logdata-anomaly-miner是一款安全日志解析与异常检测工具&#xff0c;该工具旨在以有限的资源和尽可能低的权限运行分析&#xff0c;以使其适合生产服务器使用。 为了确保 logdata-anomaly-miner的正常运行&#xff0c;推荐安装了python > 3.6的…

【Vue】word / excel / ppt / pdf / 视频(mp4,mov) 预览

文件预览 Vue3一. word二. excel三. ppt四. pdf4.1 vue-pdf-embed4.2 iframe 五. 视频六&#xff1a;扩展——kkFileView Vue3 一. word 安装&#xff1a;npm install docx-preview父页面 <template><div><DocPreviewv-if"filePath.includes(docx)"…

react 总结+复习+应用加深

文章目录 一、React生命周期1. 挂载阶段&#xff08;Mounting&#xff09;补充2. 更新阶段&#xff08;Updating&#xff09;补充 static getDerivedStateFromProps 更新阶段应用补充 getSnapshotBeforeUpdate3. 卸载阶段&#xff08;Unmounting&#xff09; 二、React组件间的…

基于.NET 8.0,C#中Microsoft.Office.Interop.Excel来操作office365的excel

开发环境&#xff1a; Visual Studio 2022 office365 项目模板&#xff1a;WPF应用程序 框架&#xff1a;.NET 8.0 依赖&#xff1a;Microsoft.Office.Interop.Excel 注意&#xff1a; 1.使用Microsoft.Office.Interop.Excel库时&#xff0c;服务器或电脑里面必须安装得…

NLP--一起学习Word Vector【实践】

纸上得来终觉浅&#xff0c;绝知此事要躬行。 《冬夜读书示子聿》 值此1024的程序员节&#xff0c;我们一起学习 Word Vector。 本章一起学习文本向量化&#xff0c;掌握文本向量的相关概念&#xff0c;了解各个文本向量&#xff0c;实现文本向量的算法 我开启了一个NLP共学坊…

Pytest 插件的种类

引言 Pytest是一个功能强大且扩展性强的测试框架&#xff0c;支持丰富的插件体系。通过插件&#xff0c;Pytest的功能可以得到极大扩展&#xff0c;满足各种测试需求。本文将介绍几类常用的Pytest插件&#xff0c;并简要说明其功能和使用场景。 Pytest 插件的分类 报告和输出…

代码+编译环境一并保存Git仓库,Jenkins使用docker编译

大家好&#xff0c;欢迎来到停止重构的频道。 上期介绍了Jenkins的基本用法&#xff0c;本期补充介绍Jenkins使用docker进行软件编译。 如果对docker不太熟悉&#xff0c;可以先翻看往期《docker详解》。 我们按这样的顺序展开讨论&#xff1a; 1、为什么使用docker编译软件…

网址访问小工具(模拟浏览器)

网址访问小工具&#xff08;模拟浏览器&#xff09; 文章说明核心代码运行截图源码下载 文章说明 本篇文章主要是我写的一个小demo&#xff0c;感觉效果还蛮不错的&#xff0c;作为一个记录新想法的实现思路&#xff1b;介绍了模拟浏览器页面的一些页面实现的小细节。 采用vue3…