你必须了解的Web安全知识(第一部分:HTTPS、TLS、SSL、CORS、CSP)
什么是网络安全?
不同类型的网络安全:
什么是网络安全?
网络并非对每个用户都安全。我们每天都会听到网站因拒绝服务攻击而无法访问,或页面上显示的信息被篡改的消息。
这些文章对于理解网络安全基础知识至关重要。
这些文章总结了最常见的攻击并解释了每个 Web 应用程序应实施的对策。
本质上,这些文章为您提供了创建更好、更安全的 Web 应用程序所需的知识。
不同类型的网络安全:
- HTTPS
- TLS
- SSL
- 跨域资源共享 (CORS)
- 云服务供应商
- OWASP(安全风险)>>我将在本系列的第二部分中解释
- 哈希算法 >> 我将在本系列的第三部分中解释
- MD5
- 沙
- 加密
- 加密
图片来源:ccPixs.com
HTTPS
它是HTTP的安全版本,该协议的全名是超文本传输协议安全协议,是网络浏览器和网站之间发送数据的主要协议。
没有其他人可以访问数据,因为它使用 TLS 协议来加密通信,我将在下一个主题中对此进行解释。
HTTPS 如何工作?
它采用加密通信协议,称为传输层安全性(TLS),也称为安全套接字层(SSL)。
此加密使用两个密钥,一个密钥称为公钥,另一个密钥称为私钥。
- 公钥:浏览器和网站之间共享。
- 私钥:此密钥用于解密由公钥加密的信息,并且不会在服务器之外共享。
图片来源:wikipedia.com
TLS
它是使用最广泛的协议,旨在促进互联网通信的隐私和数据安全,TLS 的用例是加密应用程序和服务器之间的通信、电子邮件、使用语音消息(VoIP)。
TLS 如何工作?
任何应用程序或网站要使用 TLS,就必须在基础服务器上安装 TLS 证书(也称为“SSL 证书”),由拥有该域的个人或组织颁发,以便在基础服务器上安装。
它包含有关所有者、私钥和公钥的非常重要的信息,用于解密和加密通信。
这个过程称为 TLS 握手🤝其步骤:
- 确定会话期间将使用的 TLS 版本。
- 使用 TLS 证书验证服务器的身份。
- 生成会话密钥,以便在握手过程结束后的会话期间使用。
这个主题需要进一步的解释,我将撰写一篇关于它的文章,并在此处添加链接。
图片来源:cloudflare.com
SSL
安全套接字层(SSL)是一种基于加密的互联网安全协议,它由Netscape公司于1995年创立,用于确保互联网连接的完整性和私密性,现在称为TLS。
SSL 如何工作?
它就像基于握手TLS概念的新型 TLS 。
TLS 和 SSL 之间有什么区别?
SSL 是 TLS 的旧版本,在 Netscape 之后,互联网工程任务组 (IETF) 成为 SSL 开发的所有者后更改了名称,现在一些开发人员使用 SSL 和 TLS 来指代同一件事。
注意自 1996 年以来 SSL 没有任何新的更新,这使其很容易受到黑客攻击,并且所有现代浏览器不再支持它,它们仅支持 TLS。
图片来源:morioh.com
跨域资源共享 (CORS)
跨域资源共享 (CORS) 是一种使用 HTTP 标头来指定哪些外部源可以访问本地资产以及如何访问的机制,这意味着我们可以为允许访问我们资产的跨域创建白名单。
服务器必须有办法处理外部请求,这就是我们现在要讨论的。
CORS 如何工作?
-
当站点发出从外部服务器获取资源的请求时,浏览器会添加一个包含来源的标头,如示例所示
Origin: http://www.example.com
。 -
服务器接收预检请求并在其白名单中搜索有关给定来源的 Access-Control-Allow-Origins 并发送到浏览器选项调用,然后浏览器将确定实际请求是否可以安全发送,例如
Access-Control-Allow-Origin: http://www.example.com
此标头Access-Control-Allow-Origin: *
将允许任何请求获取资源。 -
如果服务器指定了方法,它将把请求方法与其示例进行比较
Access-Control-Allow-Methods: PUT, DELETE
。
图片来源:keycdn.com
云服务供应商
内容安全策略是更多的安全层,有助于检测和减轻不同类型的民兵攻击,如(跨站点脚本(XSS)、数据注入攻击、ClickJacking 等......)。
-
跨站点脚本 (XSS):这是一种漏洞,允许黑客在基础网站中注入民兵代码,并使客户端执行它来获取敏感数据,如 cookie、会话信息和站点特定信息,发生这种情况是因为 Web 应用程序没有使用足够的验证或编码,用户的浏览器无法检测到恶意脚本是不可信的。
-
数据注入攻击:是一种在网络中注入的恶意代码,它会从数据库中获取所有信息给攻击者,其中第一种类型是 SQL 注入。
-
点击劫持:或“UI 修复攻击”是指攻击者诱骗用户点击另一个页面上使用多个透明或不透明层的按钮或链接,而用户原本想点击的是顶层页面。
CSP 如何工作?
它使用指令概念,即每个指令都必须指定资源可以从哪里加载,防止浏览器从任何其他位置加载数据。
最常用的指令是:
-
default-src:加载的默认策略(JavaScript、图像、CSS、AJAX 请求等...)示例
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’;
结论:
我希望我已经充分认识到这个主题的重要性,并向你们解释了在这个广泛领域取得进步和获得知识的第一步,我将定期在这个系列中添加有关这个主题的任何新信息,以便与该领域的所有发展保持同步。
不要忘记阅读有关该主题的文章中的以下补充内容。
如果有任何问题,请随时联系我或在评论中留言。
要查看类似的作品并且这对每个开发人员或知识研究人员都非常重要,您可以通过在各种社交网络上关注我来做到这一点👉YouTube,Twitter,LinkedIn👈
文章来源:https://dev.to/ahmedatefae/web-security-knowledge-you-must-understand-it-part-i-https-tls-ssl-cors-csp-298l