首页 > 其他分享 >详解SSL证书系列(7)HTTP的三大缺点

详解SSL证书系列(7)HTTP的三大缺点

时间:2024-03-27 10:44:07浏览次数:14  
标签:HTTP 请求 SSL 通信 响应 服务器 加密 三大

我们已经了解到HTTP协议具有相当优秀和方便的一面,然而HTTP并非只有好的一面,事物皆具有两面性,它也是有不足之处的,那么HTTP有哪些缺点呢?

窃听风险

由于HTTP本身不具备加密的功能,所以也无法做到对通信内容进行加密,即HTTP报文是使用明文方式发送的。 如果要问为什么通信时不加密是一个缺点,这是因为,HTTP的底层是基于TCP/IP协议,而按TCP/IP协议簇的工作机制,通信内容在所有通信线路上都有可能造到窃听。 所谓互联网,是由能连通到全世界的网络组成的。无论世界哪个角落的服务器在和客户端通信时,在此通信线路上的某些网络设备,光缆,计算机等都不可能是个人的私有物,所以不排除某个环节中会遭到恶意窃听的行为。 即使已经过加密处理的通信,也会被窥视到通信内容,这点和未加密的通信是相同的。只是说如果通信经过加密,就有可能让人无法破解报文信息的含义,但加密处理后的报文信息本身还是会被看到的。如下图: 0   窃听相同段上的通信并非难事。只需要收集在互联网上流动的数据包就行了。对于收集来的数据包的解析工作,可交给那些抓包工具。下面的图片示例就是被广泛使用的抓包工具Wireshark,它可以获取HTTP的请求和响应的内容,并对其进行解析。像使用GET方法发送请求,响应返回了200 OK,查看HTTP响应报文的全部内容等一系列的事情都可以做到。如下图: 0

篡改风险

由于HTTP协议无法证明通信报文的完整性,因此,在请求或响应送出之后直到对方接到之前的这段时间内,即使请求或响应的内容遭到篡改,也没有办法获悉。 换句话说,没有任何办法确认,发出的请求或响应和接收到的请求或响应是前后相同的。如下图: 0 比如,从某个Web网站上下载内容,是无法确定客户端下载的文件和服务器上存放的文件是否前后一致,文件内容在传输途中可能已经被篡改为其它的内容,即使内容真的已改变,作为接收方的客户端也是觉察不到的。像这样,请求或响应在传输中,遭到攻击者拦截并篡改内容的攻击称为中间人攻击。如下图: 0

冒充风险

在HTTP协议通信时,由于不存在确认通信方的处理步骤,任何人都可以发起请求,另外,服务器只要接收到请求,不管对方是谁都会返回一个响应(但也仅限于发送端的IP地址和端口号没有被Web服务器设定限制访问的前提下)。如下图: 0 HTTP协议的实现本身非常简单,不论是谁发送过来的请求都会返回响应,因此不确认通信方,会存在以下安全隐患:
  • 无法确定请求发送至目标的Web服务器是否是按真实意图返回响应的那台服务器,有可能是已伪装的Web服务器。
  • 无法确定响应返回到客户端是否按真实意图接收响应的那个客户端,有可能是已伪装的客户端。
  • 无法确定正在通信的对方是否具备访问权限。因为某些Web服务器上保存着重要的信息,只想发给特定用户通信的权限。
  • 无法判定请求来自何方,出自谁手。
  • 即使是无意义的请求也会照单全收,无法阻止海量请求下的DoS攻击。

安全通信的四个原则

一般我们认为安全的通信必须包括以下四个原则:
  1. 机密性。对数据进行加密,解决窃听风险,因为即使被中间人窃听,由于数据是加密的,他也拿不到明文。
  2. 完整性。数据在传输过程中没有被篡改,不多不少,保持原样,中途如果哪怕改了一个标点符号,接收文也能识别出来,从而判定接收报文不合法。
  3. 身份认证。确认对方的真实身份,即证明【你是妈】的问题,解决了冒充风险,用户不用担心访问的是某宝结果却在和钓鱼网站通信的问题。
  4. 不可否认。即不可否认已经发生的行为,比如小明向小红借了100元,但没打借条,或者打了借条但没有签名,就会造成小红的资金损失。
  那么因为HTTP协议有窃听风险,篡改风险和冒充风险,同时网络安全通信有四个原则,所以是时候请出HTTPS了。   针对SSL免费证书的不足和痛点,我开发并开源了一个平台:华迅FreeCert平台,支持免费的SSL证书,通配符证书的申请和托管,配合自动部署工具可以实现证书的自动化更新和部署,真正做到一次申请终身自动更新和自动部署,感兴趣的同学可以试一下!  

标签:HTTP,请求,SSL,通信,响应,服务器,加密,三大
From: https://www.cnblogs.com/mcgrady/p/18098416

相关文章

  • 【https】如何让http升级成https
    1、获取SSL证书:SSL证书是用于加密服务器与客户端之间通信的公钥证书。你需要从可信的证书颁发机构(CA)购买SSL证书。或者登录joyssl官网输入Invitation码230915即可免费获取SSL证书。根据你的需求,可以选择不同类型的证书,如单域名证书、多域名证书或通配符证书。2、生成CSR......
  • zabbix配置https访问
    1、启用ssl模块,apache2不用再去安装mod_ssl模块sudoa2enmodssl 2、创建存放证书文件的目录并赋予所有权限sudomkdir/etc/apache2/sslsudochmod777/etc/apache2/ssl 3、将证书文件上传至刚创建的目录下 4、将 /etc/apache2/sites-available/000-default......
  • SSL证书相关
    在握手过程中,网站会向浏览器发送SSL证书,SSL证书和我们日常用的身份证类似,是一个支持HTTPS网站的身份证明,SSL证书里面包含了网站的域名,证书有效期,证书的颁发机构以及用于加密传输密码的公钥等信息,由于公钥加密的密码只能被在申请证书时生成的私钥解密,因此浏览器在生成密码之前需要......
  • CactiEZ配置https访问
    1、安装ssl插件,没安装此插件的话该路径下不会存在/etc/httpd/conf.d/ssl.conf配置文件yuminstall-ymod_ssl 2、修改apache配置文件,配置你自己的ssl证书路径,完成后:wq保存vim/etc/httpd/conf.d/ssl.conf 3、重启apache服务servicehttpdrestart 4、测......
  • Python能用来做什么?以下是Python的三大主要用途
    如果你想学Python,或者你刚开始学习Python,那么你可能会问:“我能用Python做什么?”这个问题不好回答,因为Python有很多用途。但是随着时间,我发现有Python主要有以下三大主要应用:·Web开发·数据科学包括机器学习、数据分析和数据可视化·脚本让我们来依次介绍。一、W......
  • CYarp:力压frp的C#高性能http内网反代中间件
    https://www.cnblogs.com/kewei/p/18095638 我以前开发过HttpMouse的http内网反代中间件,但由于当时的知识点与设计水平受限,所以把它下马了。随着自身又遇到http内网反代的需求,在frp不能满足我需求情况下,我又启动了一个叫CYarp的http内网反代项目,这次它的设计完成度是相当高的。......
  • 详解SSL证书系列(6)了解HTTP及网络基础
    使用HTTP协议访问Web你知道当我们在网页浏览器(比如Chrome)的地址栏中输入URL时,Web网页是如何呈现的吗? Web页面当然不会凭空显示出来。根据Web浏览器地址栏中指定的URL,Web浏览器从Web服务器端获取文件资源等信息,从而显示出Web页面。像这种通过发送请求然后获取服务器资源的Web......
  • Nginx配置SSL证书
    SSL证书介绍SSL(SecureSocketsLayer)是一种用于保护在Internet上进行数据传输的加密协议。它是一种为网络通信提供安全性的协议,最初由网景公司(Netscape)开发。SSL的目标是通过对数据进行加密和身份验证,确保敏感信息在用户与网站之间的传输中得到保护。SSL通过在通信的两端之......
  • requests.exceptions.MissingSchema: Invalid URLrequests.exceptions.ConnectionErro
    代码如下,运行时出现 requests.exceptions.ConnectionError:HTTPSConnectionPool(host='www.dropbox.com',port=443):Maxretriesexceededwithurl:/s/dm3m1o0tsv9terq/pytorch_model.bin?dl=1(CausedbyNewConnectionError('<urllib3.connection.HTTPSConne......
  • OpenFeign 维护状态 和 HTTP客户端 @HttpExchange
    OpenFeign维护状态OpenFeign还在维护吗?根据提供的搜索结果,OpenFeign(SpringCloudOpenFeign)是一个由Spring官方推出的声明式服务调用与负载均衡组件。它是对Feign的二次封装,不仅继承了Feign的所有功能,还增加了对SpringMVC注解的支持。Feign本身在2019年由Netflix公司......