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

news/2024/5/9 11:16:43/文章来源:https://blog.csdn.net/weixin_34309435/article/details/92659365

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

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

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

相关文章

爬取简单反爬虫网站实战

实战一,爬取京东商品 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上的连接请求,然后将请求转发给内部网络…

让你的HTML5CSS3网站在老IE中也能正常显示的3种方法

起初,IE其实也是一款非常有进取心的浏览器。但经过一段时间的蛰伏后,它已经成为了我们生活中的一道障碍。微软现在又重新开始向其它浏览器发起挑战,但事实情况是,新版的现代IE浏览器一直滞后于谷歌浏览器和火狐浏览器。我们还不得…

PHP案例 网站会员管理设计

原文[下载/浏览]:http://www.xilinjie.com/university/123 内容介绍一、概述 会员管理的网页功能在现今网站构建上相当的重要,尤其是对于一些需要付费来取得会员认证的公司和个人网站。为了避免误闯的用户及有心的***,会员认证及管理的方式的…

基于阿里云ECS的phpwind网站备案前如何远程访问调试?

基于阿里云ECS的phpwind网站部署非常方便,但云主机的外网IP绑定域名却比较复杂。先要申请域名,成功后还需要备案。尤其是企业网站备案,需要提交的资料较多,准备资料以及审批的时间较长。这段时间在外网采用IP访问是不行的&#xf…

Python--爬虫之(斗图啦网站)图片爬取

学习重点: 一、主要的安装包,requests、BeautifulSoup4 二、首先爬取每页的网址 三、再爬取每页的全部图片 四、下载图片和设置保存路径和图片名字 五、整合代码 1、主要的安装包requests、BeautifulSoup4  1)用来请求网络数据requests 2)用…

电商网站jQuery放大镜代码

分享一款电商网站jQuery放大镜代码。这是一款基于jquery.elevatezoom插件实现的类似淘宝放大镜代码,提供40多种参数,可自由配置多种效果,适合电商或图片类网站使用。效果图如下: 在线预览 源码下载 实现的代码。 html代码&…

大型网站技术架构

1. 初始阶段的网站架构一般来讲,大型网站都是从小型网站发展而来,一开始的架构都比较简单,随着业务复杂和用户量的激增,才开始做很多架构上的改进。当它还是小型网站的时候,没有太多访客,一般来讲只需要一台…

IIS7绑定多个HTTPS网站并应用自签名证书

本文主要介绍如何在IIS中添加多个网站并使用同一个数字签名证书(win7IIS7.5) IIS中添加站点site1,端口号为80,主机名为空。如下图:创建证书 IIS->Server Certificates –>Create Self-Signed Certificate ,输入证书名如下图&#xff1a…