读书笔记:网站架构之安全篇

标签: 读书 笔记 网站 | 发表时间:2013-12-16 07:52 | 作者:a339811061
出处:http://blog.csdn.net

目录:

一、网站应用攻击与防御

二、信息加密技术

三、信息过滤及反垃圾 


PS:本文为《大型网站技术架构 & 核心原理与案例分析(李智慧 著)》一书的读书笔记


// =======================================================================================


网站应用攻击与防御


*:全球约70%的Web应用攻击来自XSS攻击和SQL注入,此外还包括CSRF,Session劫持等


一、XSS攻击

1、XSS攻击:跨站点脚本攻击(Cross Site Script)

*:黑客通过在网页文件嵌入恶意JavaScript脚本,在用户打开网页时,该脚本控制浏览器进行恶意操作

*:反射型XSS:攻击者诱使用户点击一个嵌入恶意脚本的链接,恶意脚本在攻击者服务器中

*:持久性XSS:攻击者提交带恶意脚本的请求,保存在被攻击Web站点的服务器中,用户正常访问Web站点均受攻击

2、主要防御手段

*:消毒:对特殊字符转义,如"< >"等

*:HttpOnly属性:Cookie添加HttpOnly属性,使得攻击者无法通过JavaScript脚本窃取Cookie


二、SQL注入

1、SQL注入:指攻击者在HTTP请求中注入恶意SQL命令,使得应用服务器调用请求构造SQL时和恶意SQL命令一起构造,并在数据库执行

2、SQL注入需攻击者了解数据库结构,一般攻击者对通过下面方式获取:

*:开源软件,如Discuz等

*:网站的错误回显

*:猜测性的盲注

3、主要防御手段

*:消毒:通过正则表达式过滤"drop table"等可能注入的SQL

*:参数绑定:使用预编译绑定参数是最好的手段,恶意SQL只会被当成SQL参数而不是命令


三、CSRF攻击(身份伪造)

1、CSRF攻击:跨站点请求伪造(Cross Site Request Forgery)

*:攻击者通过跨站请求,以合法用户的身份进行非法操作,如转账交易等

*:核心为利用用户浏览器Cookie或服务器Session策略,盗取用户身份

2、主要防御手段

*:表单Token:CSRF伪造用户请求,需构造用户请求的所有参数,表单Token通过在请求参数中增加一个随机数Token来阻止,每次响应页面Token均不同

*:验证码:即需手动输入验证码,但这是一个不好的用户体验

*:Referer源检查:Http请求头的Referer域中记录着请求来源,通过检查请求来源判断请求是否合法


四、其他攻击和漏洞

1、错误回显:即Web服务器异常时,直接把异常堆栈信息输出给客户端浏览器

*:防御方案很简单,只需配置跳转500页面到专门错误页面即可

2、HTML注释:在客户端的HTML代码中注释相关程序信息,给黑客造成攻击便利

3、文件上传:攻击者可以用网站提供的文件上传功能上传可执行文件

*:可通过限定上传文件格式等方式来防御

4、路径遍历:攻击者在URL中使用相对路径,遍历系统未开放的目录和文件

*:防御方法主要为将Js、HTML等资源文件独立部署等


// ===========================================================


信息加密技术


一、单向散列加密

*:单向散列加密指通过对不同输入长度的信息进行散列计算,得到固定长度的输出,如MD5和sha1等

*:虽然没有破解单向散列加密的算法,但是由于人为设置密码有一些常见模式(如123等),因此攻击者常用彩虹表(人为常用密码和对应密文的映射)等方式进行猜测式破解

*:为了加强单向散列计算的安全性,还可以给散列算法加盐,盐相当于加密的密钥


二、对称加密

*:对称加密指加密和解密使用同一个密钥,如DES和RC等。常用于信息需要安全交换和存储的场合,如Cookie加密等

*:优点是算法简单、加密效率高,缺点是远程通信如何安全地交换密钥是个难题


三、非对称加密

*:非对称加密的加密和解密使用不同密钥,其中一个对外公开的公钥,一个只有所有者知道的私钥,如RSA等。常用于信息安全传输,数字签名等场合

*:用公钥加密的信息需要用私钥才能解开,相反,用私钥加密的信息只有公钥能解开


四、密钥安全管理

*:前面讲述的这几种加密,能够起到安全效果的一个重要前提就是密钥的安全,即信息的安全是靠密钥保证的

*:方案1:把密钥和算法放在独立服务器上由专人维护。较安全,但应用性能开销较大,每次加解密都需要一次远程服务调用

*:方案2:把加解密算法放在应用服务器,密钥放在独立服务器。可把密钥切分成片分别存储,兼顾安全性又改善性能


// ===========================================================


信息过滤及反垃圾 


一、文本匹配

*:主要用于解决敏感词过滤问题

*:可使用正则表达式,但其效率较低,基本都是使用Trie树的变种,空间和时间复杂度都比较好


二、分类算法

*:主要用于网站垃圾信息的识别

*:简单实用的分类算法是贝叶斯分类,这是利用概率统计方法进行分类的算法


三、黑名单

*:将发布过垃圾信息的IP或者用户列入黑名单,以后将这些IP或者用户的信息过滤掉

*:黑名单可以用Hash表实现,存于内存做计算,但如果黑名单很大会很占内存。在需求不需完全精确情况下,可使用布隆过滤器替代Hash表




作者:a339811061 发表于2013-12-15 23:52:16 原文链接
阅读:105 评论:0 查看评论

相关 [读书 笔记 网站] 推荐:

读书笔记:网站架构之安全篇

- - CSDN博客架构设计推荐文章
PS:本文为《大型网站技术架构 & 核心原理与案例分析(李智慧 著)》一书的读书笔记. *:全球约70%的Web应用攻击来自XSS攻击和SQL注入,此外还包括CSRF,Session劫持等. 1、XSS攻击:跨站点脚本攻击(Cross Site Script). *:黑客通过在网页文件嵌入恶意JavaScript脚本,在用户打开网页时,该脚本控制浏览器进行恶意操作.

《精力管理》读书笔记-1

- 黎明 - 战隼的学习探索
这本书是我前几天阅读的,这是当时的阅读记录:. #每天一本书#,70天,2011年2月25日,阅读书籍《精力管理》这本书的理念不错,但内容水分很大. 但这个理论正好给自己的时间管理观点和规划做个补充,评价3.5分. 时间管理应该根据自己的精力进行安排和调整,周期性地补充精力,来平衡精力消耗. 需要对你的精力进行海战略性的规划和应用,并把它当成一种习惯.

分享读书笔记 Data Mining Concepts and Techniques

- redhobor - BlogJava-首页技术区
Data Mining涵盖的内容非常多,学着学着就走进乱石阵,看不到大的picture了,Data Mining Concepts and Techniques是本经典的好书,虽然有些细节并不详尽,(如果详尽就变成圣经了)可以用它来把data mining的知识点结成一张网. 它包括数据的预处理,frequent patterns,decision tree, netural network, regression, clustering, time series等等很多方面.

读书笔记:少有人走的路

- zhoujg - 博客园-周金根
       记得好像是五六年前在公司投稿后得到一本书,这本书叫做《少有人走的路》. 当时看了一下,简单翻阅之后发现看不下去了,于是一直搁置着. 后来有同事知道我有这本书,她们想我借阅,并且说是听别人介绍才知道这本书的. 我也不知道她们后来得了之后有什么感受,反正还给我之后我还是放着. 这本书于是就静静的在我这个搁置了好几年.

云计算读书笔记(二)

- Gabriel - 博客园-首页原创精华区
google云计算服务包括:google文件系统GFS,分布式计算编程模形MapReduce,分布式锁服务Chubby,分布式结构化数据表Bigtable,分布式存储系统Megastore以及分布式监控系统Dapper等. GFS提供了海量数据的存储和访问能力. 分为三类角色,client(客户端),Master(主服务器)和Chunk Server(数据块服务器).

《思维导图》读书笔记

- Spectrophobia. - 读书笔记
今天分享的图书《思维导图》英国著名心理学家东尼·博赞在研究大脑的力量和潜能过程中,发现伟大的艺术家达·芬奇在他的笔记中使用了许多图画、代号和连线. 他意识到,这正是达芬奇拥有超级头脑的秘密所在. 在此基础上,博赞于19世纪60年代发明了思维导图这一风靡世界的思维工具. 这本书中过于夸大思维导图的作用而且废话过多,没有必须细读.

读书笔记 - How Google Test Software

- - CSDN博客研发管理推荐文章
(《谷歌如何测试软件》)的确为神秘谷歌公司揭开一层面纱,讲到了谷歌的代码文化和测试文化,讲到了角色划分,职责划分,测试种类划分,讲到优秀的不同角色的人应该具有什么样子的,讲到测试的创新和工具,还有大量的人物访谈. 这里的笔记主要包含:个人感兴趣的,值得备忘的,需要后续关注的东西记录.

《百问知识管理》读书笔记

- - 海涛的成长碎碎念
当时是为了买给妹子买 @秋叶 的大项目售前的那本书的,为了凑单免运费顺手把这本书也扔到了购物车里面,这也算是真爱了,支持大叔的同时还不忘支持下大叔的红颜知己,整本书大概花了两趟地铁的时间加上晚上睡觉前的一个多小时的时间看完的,不是很厚的一本很实用的工具手册. 公司部门在年中开会的时候提到了知识管理这块的一些东西,因为之前我一直在做个人知识管理的一些东西,业界除了一些企业知识管理的内容,所以部门知识管理这块就交给我在负责了,因为对企业知识管理大多了解都是理论上的,实践性的东西还真没怎么做过,还是有点发虚的,读完这本书算是松了口气.

《精益创业》读书笔记

- - CSDN博客推荐文章
        创业的过程是否可以总结、规范、提炼出共性和成功的方法. 《精益创业》无疑是这样的一本书,书中提到的很多创业观点其实平时我也领悟过,但是能以书面、可描述的语言总结出来,这是作者的厉害之处.         精益创业 (Lean Startup) 总结起来就是用3个动词驱动3个名词的轮回迭代过程:IPD -> BML ,即: .

《营养品的真相》读书笔记(1)

- Xiaoxi - 牛博山寨 编辑推荐
今天把我前段时间看的《营养品的真相》的阅读心得分享,本书的作者是营养学家布赖恩•克莱门特医生,书中书中的核心内容也就一二句话:在全世界销售的所谓天然营养补充品实际上都是在制药业的实验室里人工合成制造出来的,服用的结果是,它们对你的身体只有毒化作用. 所以现在应该尽量食用蔬果,谷物,最好是有机的,然后得搜寻安全产生的营养补充剂.