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

news/2024/5/9 11:05:47/文章来源:https://blog.csdn.net/weixin_33979745/article/details/92649206

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/594408

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

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

相关文章

创业团队如何保护自己的网站安全?

今天在知乎上有人邀请我回答一个问题:创业团队如何在低成本的情况下保护自己的网站安全? 简略答一下。 一般来说,很多安全专家都会告诉你没有绝对的安全,如果黑客一定要长期盯着你的公司有针对性的渗透,很少有可以幸免…

55个漂亮的蓝色风格网站设计作品欣赏(下篇)

蓝色非常纯净,通常让人联想到海洋、天空、水、宇宙。纯净的蓝色表现出一种美丽、冷静、理智、安详与广阔。今天,本文收集了30个漂亮的蓝色风格的网站设计作品与大家分享,一起欣赏。 icebrrg powerset Birdie designchuchi.ch StrawPoll lucin…

【转】https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题...

正需要这个,写的很好,就转过来了 转自: http://www.cnblogs.com/naniannayue/ 一:什么是https SSL(Security Socket Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间&#x…

如何让你的网站支持 IE9 Pinned Site (Part 2 - 实战)

该如何展示 IE9 Pinned Site 呢?我可以写一个新的应用,完全是为了展示 Pinned Site 的特性,但这样就像是为了实现这些特性而利用这些特性。所以我想还是升级一个现有的网站好了,这样更能说明 Pinned Site 是如何起到优化用户体验的…

Jsoup开发网站客户端第二篇,图片轮播,ScrollView兼容ListView

最近一段日子忙的焦头烂额,代码重构,新项目编码,导致jsoup开发网站客户端也没时间继续下去,只能利用晚上时间去研究了。今天实现美食网首页图片轮播效果,网站效果图跟Android客户端实现如图: 从浏览器开发者…

大型网站技术架构(五)网站高可用架构

2019独角兽企业重金招聘Python工程师标准>>> 网站的可用性(Avaliability)描述网站可有效访问的特性。 1、网站可用性的度量与考核 网站不可用时间(故障时间)故障修复时间点-故障发现(报告)时间点…

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

2019独角兽企业重金招聘Python工程师标准>>> 从互联网诞生起,安全威胁就一直伴随着网站的发展,各种Web攻击和信息泄露也从未停止。常见的攻击手段有XSS攻击、SQL注入、CSRF、Session劫持等。 1、XSS攻击 XSS攻击即跨站点脚本攻击(…

爬取简单反爬虫网站实战

实战一,爬取京东商品 import requestsurl "https://item.jd.com/27217068296.html"try:r requests.get(url)r.raise_for_status() #获取爬取失败异常r.encoding r.apparent_encodingprint(r.text[:1000]) except:print("爬取失败")结果&a…

深入浅出SharePoint——使用HTTPS来访问网站

如下图所示:由于默认的SSL端口443已经被其他web application占用了,所以我们指定4433为https的端口。这样我们在配置mapping关系的时候就要使用底油端口为4433的网址。 转载于:https://www.cnblogs.com/mingle/archive/2013/05/30/3107731.html

职业社交网站为何比微博更有价值

“微时代”的风生水起,让越来越多的企业一头热地投入到微博营销中去,这当然与微博庞大的用户群息息相关。目前,新浪微博的用户已经突破了2亿。这样看,微博目前似乎是线上领域无敌手,在我看来却未必如此,比如…

做网站用UTF-8编码还是GB2312编码?

经常我们打开外国网站的时候出现乱码,又或者打开很多非英语的外国网站的时候,显示的都是口口口口口的字符, WordPress程序是用的UTF-8,很多cms用的是GB2312。 ● 为什么有这么多编码? ● UTF-8和GB2312有什么区别&…

全面解读中英文网站中字体的异同

英文网站与中文网站的异同不仅仅是使用中文与英文的差别。由于中文字形复杂,并且电脑上的中文字体设计相对落后,这使得设计中文网页要比英文网页更困难。不顾及中文字体的特殊性,简单的照搬英文网页的设计方法,经常会降低中文网页…

网站建设-数据库横向扩展

数据库横向扩展 在网站建设的过程中,一个高扩展性的架构设计可以保证当网站业务量和访问量达到零界点时我们能够以较低的成本对现有系统进行扩展。而网站系统最难扩展的部分通常是数据库或者持久化存储。当今最流行的RDBMS数据库,如Oracle,Sq…

mysql 日志的启动与查看:有利于开发者研究网站一个页面执行时的sql语句变化...

2019独角兽企业重金招聘Python工程师标准>>> 当我们研究一个网站的时候,比如phpwind系统,我需要知道当发表帖子的时候mysql执行了哪些查询和更新和插入呢? 有个方法可以给我我们,那就是开启mysql的日志 查询日志&…

陆续放给大家一些拿钱买的收费的模板,今天先给一个在某销售网站上排行第一的管理端模板 Ace Responsive Admin Template...

下载地址: http://pan.baidu.com/s/1B2xjC 提取密码:le1p 原文地址:http://zhangrou.net/post/2014/06/23/陆续放给大家一些拿钱买的收费的模板,今天先给一个在某销售网站上排行第一的管理端模板-Ace-Responsive-Admin-Template.a…

新的Oracle网站登录界面

今天登录MOS的时候发觉居然用户登录界面更新了,新的界面更为大气,风格上也更Oracle了。可以看出后台仍使用Oracle Access Manager 11g,仅仅是UI发生了变化。

SEO培训对个人站长的价值

互联网个人站长需要被关注,不管他们的未来将如何发展,都离不开各种站长平台的支撑以及新知识的获取方式,谈起SEO培训,另许多个人站长兴奋不已的同时也会存在着各种谩骂。B君2012年进入互联网行业,大学期间闻声互联网一…

49 | 深入浅出网站高性能架构设计

转载于:https://www.cnblogs.com/lmx0621/p/10614980.html

.NET Web开发初学者必知的四个网站

No.1 W3school 链接: http://www.w3school.com.cn/ 预览: 介绍: 全球最大Web前端技术教程网站。内容涵盖从基础的 HTML 到 CSS到进阶的XML、SQL、JS、PHP 和 ASP.NET。 优点: 教程语言简练,通俗易懂。几乎每个知识点都…

【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器

转载自:周旭龙 http://www.cnblogs.com/edisonchou/p/4126742.html 一、反向代理:Web服务器的“经纪人” 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络…