大型网站技术架构(八)网站的安全架构

news/2024/5/9 17:51:55/文章来源:https://blog.csdn.net/weixin_33778778/article/details/92656082

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

  从互联网诞生起,安全威胁就一直伴随着网站的发展,各种Web攻击和信息泄露也从未停止。常见的攻击手段有XSS攻击、SQL注入、CSRF、Session劫持等。

1、XSS攻击

 XSS攻击即跨站点脚本攻击(Cross Site Script),指黑客通过篡改网页,注入恶意HTML脚本,在用户访问网页时,控制用户浏览器进行恶意操作的一种攻击方式。

常见的XSS攻击类型有两种,一种是反射型,攻击者诱使用户点击一个嵌入恶意脚本的链接,达到攻击的目的,如下图所示:

 

 

另一种XSS攻击是持久型XSS攻击,黑客提交含有恶意脚本的请求,保存在被攻击的Web站点的数据库中,用户浏览网页时,恶意脚本被包含在正常页面中,达到攻击的目的,如下图所示:

 

消毒

对某些html字符转义,如“>”转义为“&gt”等。

HttpOnly

即浏览器禁止页面javascript访问带有HttpOnly属性的Cookie。可通过对Cookie添加HttpOnly属性,避免被攻击者利用Cookie获取用户信息。

2、注入攻击

注入攻击主要有两种形式,SQL注入攻击和OS注入攻击。SQL注入攻击的原理如下图所示。攻击者在HTTP请求中注入恶意的SQL命令,服务器用请求构造数据库SQL命令时,恶意SQL被一起构造,并在数据库中运行。

 

除了SQL注入,攻击者还根据具体应用,注入OS命令、编程语言代码等达到攻击目的。

 

消毒

和防XSS攻击一样,过滤请求数据中可能注入的SQL,如"drop table"等。另外还可以利用参数绑定来防止SQL注入。

3、CSRF攻击

CSRF即Cross Site Request Forgery 跨站点请求伪造,攻击者通过跨站点请求,以合法用户的身份进行非法操作。CSRF的主要手段是利用跨站请求,在用户不知情的情况下,以用户的身份伪造请求。其核心是利用了浏览器Cookie或服务器Session策略,盗取用户身份

 

表单Toke

       CSRF是一个伪造用户请求的操作,所以需要构造用户请求的所有参数才可以,表单Token通过在请求参数中增加随机数的办法来组织攻击者获取所有请求参数。

验证码

       更加简单高效,即请求提交时,需要用户输入验证码,以避免在用户不知情的情况下被攻击者伪造请求。

Referer Check

       HTTP请求头的Referer域中记录着请求来源,可通过检查请求来源,验证其是否合法,还可以利用这个功能来实现突破防盗链。

4、WEB应用防火墙

        ModSecurity是一个开源的Web应用防火墙,探测攻击并保护Web应用程序,既可以嵌入到Web应用服务器中,也可以作为一个独立的应用程序启动。ModSecurity最早只是Apache的一个模块,现在已经有JAVA、NET多个版本,并支持Nginx。

        ModSecurity采用处理逻辑与攻击规则集合分离的架构模式。处理逻辑(执行引擎)负载请求和相应的拦截过滤,规则加载执行等功能。而攻击规则集合则负责描述对具体攻击的规则定义、模式识别、防御策略等功能。处理逻辑比较稳定,规则集合需要不断针对漏洞进行升级,这是一种可扩展的架构设计。

 

 

5、信息加密技术

为了保护网站的敏感数据,应用需要对某些数据进行加密处理,信息加密技术科分为三类:单向散列加密、对称加密和非对称加密

5.1单向散列加密

单向散列加密是指通过对不同输入长度的信息进行散列计算,得到固定长度的输出,这个散列计算过程是单向的,如下图所示。

 

单向散列加密一般主要用途是用户密码的加密,使密码不可逆的保存到数据库中,即便数据库信息泄露,攻击者也无法知晓原密码是什么。

常见的单向散列算法有MD5、SHA等。

5.2对称加密

即加密和解密都使用同一个密钥,如下图所示:

 

常用的对称加密算法有DES算法、RC算法等。对称加密是一种传统的加密手段,也是最常用的加密手段,适用于大多数场合。

 

5.3非对称加密

非对称加密使用的加密和解密不是同一密钥,其中一个对外界公开,被成为公钥,另一个只有所有者知道,被称作私钥。用公钥加密的信息必须用私钥才能解开,反正,用私钥加密的信息只有用公钥才能解开,如下图所示:

 

非对称加密常用算法有RSA等。HTTPS传输中浏览器使用的数字证书实质上是经过权威机构认证的非对称加密的公钥

转载于:https://my.oschina.net/zhanghaiyang/blog/595811

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

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

相关文章

web开发过程_我如何创建网站:Web开发过程

web开发过程许多人,尤其是初学者,认为开发网站纯粹是关于编码的,但事实并非如此。 如果您想创建一个像样的网站,还需要做很多其他事情。 当您实际使用代码或WordPress或其他CMS创建网站时,这只是一小部分。 当您完全了…

我如何创建网站:Web开发过程

许多人,尤其是初学者,认为开发网站纯粹是关于编码的,但事实并非如此。 如果您想创建一个像样的网站,还需要做很多其他事情。 当您实际使用代码或WordPress或其他CMS创建网站时,这只是一小部分。 当您完全知道网站的外观…

[514]使用httpstat测试网站响应时间

httpstat是用Python写的脚本,可以用来测试http服务器的回应速度。 httpstat本质上就是封装了cURL工具,所以它可以接受各种 cURL的选项。(-w、-D、-o、-s与-S除外,因为这些已经被 httpstat使用了) 安装httpstat 下载脚…

极限编程xp12个最佳实践_立即搜索40个最佳在线学习编程的网站

极限编程xp12个最佳实践如果您不熟悉编码,那么您会很高兴听到网络上有大量有用的资源来帮助全新的程序员从头开始学习编程。 实际上,该行业中一些最好的程序员是自学成才 ,没有计算机科学的正式学位。 使用这40个编码站点向您展示初始的编码…

vux flexbox使用_如何使用Flexbox建立专业网站

vux flexbox使用我在Web开发方面的经验 在与Flex-Box会面之前,我对CSS在Web开发方面的经验感到沮丧。 计算页面的页边距,宽度,对齐方式和高度的经验非常吸引人。 这使我的Web开发经验没有吸引力。 只有在特定属性中精确地输入数值的想法&…

react admin_下一个网站的10个React Admin仪表板模板

react adminReact是Web开发库中最流行的工具之一,但是就像您需要学习如何正确使用它一样, React是其中之一。 React与本机一起使用。 主要目的是使力量能够响应本机移动应用程序的开发。 React native在开发人员社区中很流行。 它拥有一个强大而充满激情…

将网站部署到github上_如何使用GitHub Actions将多个站点部署到Firebase

将网站部署到github上欢迎回来! 在本教程中,我们将学习如何使用GitHub Action自动将多个站点部署到Firebase托管。 GitHub提供了与其存储库集成的免费增值工具(对于开源免费) 。 我将使用在本教程的第1部分中创建的Get Reacted R…

编程 繁体编码_现在该是开始学习编码的时候了:2020年学习编程的前20+个最佳网站...

编程 繁体编码我敢肯定,我们中的许多人都想知道如何在大流行后的世界中留住相关专业人员。 显然,其中一种方法是学习编程。 现在,该行业的增长率为21%(高于任何其他领域),很明显,对优…

python网站开发实例 flask_基于Python-Flask实现的网站例子

使用说明 使用Flask制作的普通企业网站前台后台 包括管理员登录( 主要是后台文章发布的功能的实现),注意:使用对象 是 flask的初学者,说明文档有详细的教程,包括包的引用 ,程序目录如何安排关键…

建立网站需要什么条件_角点科技告诉你营销网站搭建需要什么条件?

营销网站搭建需要什么条件?营销型网站就是指具备营销推广功能的网站,在开始建站的时候就已日后的推广作为目的。让每一个环节,每一步都考虑到营销功能的需求,让网站一上线就具有利于优化推广的特征。但是很多人不了解营销网站搭建需要哪些条件,接下来就与…

c++cmath无法打开_C-NCAP网站是操作失误,莫让低级失误影响专业权威

12月23日,中汽中心C-NCAP进行了一次侧面碰撞测试后,发生了一件奇事。C-NCAP网站丢了,打不开了。于是,不少人好奇心大起,各种猜测由此而生。截至到现在,中汽中心C-NCAP官网竟然显示"暂时无法访问"…

aps mysql部署_宝塔Windows面板部署ASP、ASPX程序WEB网站环境方法

网友热度 118,060 ℃ - 2条评论老左在"宝塔Windows面板部署PHPMySQL环境建站过程"一文中简单分享到如何在Windows系统中安装宝塔面板(Windows)软件,然后配置PHPMYSQL程序的过程,如果我们单纯的是PHP程序的,其实我一贯建议直接用Lin…

php网站首页在哪,本地PHP网站session存储在哪

PHP配置文件中session.save_path负责session文件的存放位置。如果没有配置则不会生成session文件,如果配置的目录session.save_path "E:/ttt"不存在,则会报错:(推荐学习:PHP编程从入门到精通)Warning: session_start()…

openresty完全开发指南 pdf_京东高级工程师开发十年,编写出:“亿级流量网站架构核心技术”...

前言:相信大家都知道,说起亿万流量网站高性框架的设计方案,就能想到关键的两点,那就是高可用和高并发。而要谈对高并发和高可用有多熟悉,京东的大佬们还是有一定发言权,而作为京东高级工程师更是大佬级别。…

如何识别一个网站是正规合法的网站

参考来源:https://jingyan.baidu.com/article/642c9d341e53c6644b46f747.html 一、工信部备案信息查询 1.搜索“工信部网站备案查询”进入工信部网站。 2.进入工信部网站后点击右下角的“公共信息查询”。 3.进入ICP/IP地址/域名信息备案管理系统,点击左…

pip更新失败和下载速度慢问题(使用镜像网站)

本文内容,部分来源于网络 1.pip更新失败 https://blog.csdn.net/tscaxx/article/details/104253948 2.python pip下载速度慢的解决方法 ​ pip是python内置的非常好用的下载工具,基本可以下载全部的python库。它还有一个非常好的特点&#xff…

130 个相见恨晚的超实用网站,一次性分享出来

搞学习 CSDN: https://www.csdn.net/TED(最优质的演讲):https://www.ted.com/谷粉学术: https://gfsoso.99lb.net/scholar.html大学资源网:http://www.dxzy163.com/简答题:http://www.jiandati.…

网站防审查元素、防止打开调试工具 怎么解决?(大部分可以解决)

1.网站阻止使用右击和f12等 解决办法: 谷歌浏览器右上角菜单栏 浏览器菜单栏--->更多工具--->开发者工具 2.审查元素界面后,循环出现断点 解决办法: 点击(取消所有断点检测) 再点一下这里 3.检测窗口变化 解…

[转]memcached在大负载高并发网站上的应用(1)---简介

为什么80%的码农都做不了架构师?>>> 大家可能对memcached这种产品早有了解,或者已经应用在自己的网站中了,但是也有一些朋友从来都没有听说过或者使用过。这都没什么关系,本文旨在从各个角度综合的介绍这种产品&#…

SharePoint 2010开发实例精选——网站属性管理

本例通过自定义一系列的后台应用程序页面,在SharePoint Foundation 2010和SharePoint Server 2010中实现了SharePoint网站的属性定制管理。SharePoint中网站的元数据存储在哈希表SPWeb.AllProperties中。我们可以通过新的SharePoint 2010 API如SPWeb.GetProperty&am…