前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你不可不知的WEB安全知识(第一部分:HTTPS, TLS, SSL, CORS, CSP)

你不可不知的WEB安全知识(第一部分:HTTPS, TLS, SSL, CORS, CSP)

作者头像
三分恶
发布2020-10-10 16:06:24
1.2K0
发布2020-10-10 16:06:24
举报
文章被收录于专栏:三分恶的专栏三分恶的专栏

译   原文地址:https://dev.to/ahmedatefae/web-security-knowledge-you-must-understand-it-part-i-https-tls-ssl-cors-csp-298l

什么是Web安全?

网络对每个用户都不是绝对安全的,每天我们都会听到网站因为拒绝服务攻击而变得不可用,或者页面被伪造。

系列文章对于理解web安全基础知识很有帮助。

系列文章总结了最常见的攻击,并给出了了对应的应对策略。

不同类型的Web安全

  • HTTPS
  • TLS
  • SSL
  • CORS
  • CSP
  • OWASP (安全风险) >> 我将在本系列的第二部分中讲解它
  • 哈希算法 >> 我会在本系列的第二部分中讲解它
    • MD5
    • SHA
    • scrypt
    • bcrypt
在这里插入图片描述
在这里插入图片描述

HTTPS

它是HTTP的安全版本,该协议的全称是Hypertext transfer protocol secure,它主要用于在web浏览器和网站之间发送数据。

其他人不能访问数据,因为它使用TSL协议加密通信,我将在下一个主题中解释它。

HTTPS的工作原理

它使用称为传输层安全(TLS)的加密通信协议,前身称为安全套接字层(SSL)。

此加密使用两个密钥,一个称为公钥,另一个称为私钥。

  • 1、公钥:在浏览器和网站之间共享。
  • 2、私钥:此密钥用于解密由公钥加密的信息,并且不会在服务器之外共享。
在这里插入图片描述
在这里插入图片描述

TLS

它是目前使用最多的协议,旨在促进互联网上通信的隐私、数据安全,TLS的使用案例是加密应用程序与服务器之间的通信、电子邮件、消息传递语音(VoIP)。

TLS的工作原理

任何要使用TSL的应用程序或网站,必须将TLS证书(也称为“ SSL证书”)安装到基本服务器上 。

它包含证书持有者、私钥和公钥的非常重要的信息,用于解密和加密通信。

此过程称为TLS握手?,步骤:

  • 确定会话期间将使用的TLS版本。
  • 通过使用TLS证书验证服务器的身份。
  • 握手过程结束后,生成会话密钥供会话期间使用。

为此,该主题需要进一步的解释,我将写一篇文章,并在此处添加一个链接。

在这里插入图片描述
在这里插入图片描述

SSL

安全套接字层(SSL)是一种基于加密的Internet安全协议,它是Netscape公司于1995年为确保Internet连接的完整性和私密性而创建的,如今已将其命名为TLS。

SSL的工作原理

就像基于握手TLS概念的TLS版本。

TLS和SSL有什么区别

SSL是TSL的旧版本,在国际互联网工程任务组(IETF)继Netscape之后负责SSL的发展,其名称已更改,如今一些开发人员使用SSL和TLS来指代同一事物。

注意自1996年以来,SSL没有任何新更新,这使它非常容易受到黑客攻击,并且所有现代浏览器不再支持它,它们仅支持TLS。

在这里插入图片描述
在这里插入图片描述

CORS

跨域资源共享(CORS)是一种机制,它使用HTTP报头来指定哪些外源可以访问本地资源,以及如何访问它,这意味着我们可以为允许的跨域访问我们的资源列出一个白名单。

CORS的工作原理

  • 1、当站点发出获取请求以从外部服务器获取资源时,浏览器将添加一个标头,其中包含标有示例Origin的源:http://www.example.com
  • 2、服务器接收预检请求,并在白名单中搜索有关给定来源的Access-Control-Allow-Origins,然后发送给浏览器选项调用,然后浏览器将确定实际请求是否可以安全发送,例如 Access-Control-Allow-Origin:http://www.example.com 或此标头Access-Control-Allow-Origin:* 将允许任何请求获取资源。
  • 3、如果服务器指定方法,则它将请求方法与示例 比较 Access-Control-Allow-Methods: PUT, DELETE.
在这里插入图片描述
在这里插入图片描述

CSP

内容安全策略是一个更高的安全层,可帮助检测和缓解不同类型的恶意攻击,例如(跨站脚本(XSS),数据注入攻击,点击劫持,等等……)。

  • 跨站脚本攻击(XSS):它是一个漏洞,允许黑客网站中注入恶意代码,并且用于使客户端执行该代码以获取敏感数据(例如Cookie,会话信息和特定于站点的信息),这是因为Web应用未使用足够的验证或编码,用户的浏览器无法检测到恶意脚本不可信。
  • 注入攻击:是一种注入到网站中的恶意代码,该代码从数据库中获取所有信息给攻击者,而其中的第一类是SQL注入。
  • 点击劫持:也被称为 “UI覆盖攻击” ,是指攻击者诱使用户在单击顶层时,实际是点击了透明或不透明的按钮,链接到另外的页面。

CSP原理

它使用了指令概念,每个指令都必须指定可以从何处加载资源,从而防止浏览器从任何其他位置加载数据。

最常用的指令

  • default-src:默认的加载策略(JavaScript,图像,CSS,AJAX请求,ETC ...)示例: default-src ‘self’ cdn.example.com;
  • img-src: 定义图片来源,示例:img-src ‘self’ img.example.com;
  • style-src: 定义CSS文件来源,示例:style-src ‘self’ css.example.com;
  • script-src : 定义JavaScript 文件来源 ,示例:script-src ‘self’ js.example.com;
  • connect-src: 为XMLHttpRequest(AJAX),WebSockets或EventSource定义合法的目标。如果它与主机建立了任何不允许连接,浏览器将响应400错误,示例:connect-src ‘self’;
  • 多标签指令定义: default-src ‘none’; script-src ‘self’; connect-src ‘self’; img-src ‘self’; style-src ‘self’;
在这里插入图片描述
在这里插入图片描述

总结

我希望我已经充分说明这个主题的重要性,并且向你解释了在这一广泛领域中进步和获得知识的第一步,并且我将在本系列中定期添加有关此主题的任何新信息,以便本系列的所有部分保持同步。

别忘了阅读接下来关于这个主题的文章。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-09-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是Web安全?
  • 不同类型的Web安全
  • HTTPS
    • HTTPS的工作原理
    • TLS
      • TLS的工作原理
      • SSL
        • SSL的工作原理
          • TLS和SSL有什么区别
          • CORS
            • CORS的工作原理
            • CSP
              • CSP原理
              • 总结
              相关产品与服务
              SSL 证书
              腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档