大型网站技术架构 读书笔记2.5 核心架构要素之安全
2018-01-03 23:52
489 查看
五 网站的安全架构
网站的安全威胁——各种Web攻击和消息泄露。下面介绍一些典型的攻击和防攻击技术。
5.1 网站攻击与防御
5.1.1. XSS攻击
定义:指跨站点脚本攻击,指黑客通过篡改网页,注入恶意HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作。
分类:分为两种,反射型——使用钓鱼网站引诱用户点击,从而扩散攻击;持久型——将恶意脚本请求提交到Web服务器站点中,形成持久攻击。
防攻击手段:主要有消毒和HttpOnly。
消毒:对客户请求中的某些html危险字符进行转义,从而起到消除恶意脚本的目的。
HttpOnly:浏览器禁止页面JavaScript访问带有HttpOnly属性的Cookie。用以防止XSS攻击者窃取Cookie信息。
5.1.2 注入攻击
分类:主要分为SQL注入和OS注入
SQL注入:在Http请求中注入恶意SQL命令,当其被执行时起到破坏作用。SQL注入攻击需要攻击者对数据库结构有所了解才行。
SQL注入攻击方式:1. 开源——其数据库结构公开;2.错误回显——通过试错得到错误回显信息猜测结构;3.盲注——这个比较6,攻击者在得不到错误回显的情况下,根据页面变化情况判断SQL语句执行情况从而猜测其数据库表结构。
防SQL注入攻击:1.消毒——同上一节,对请求参数进行消毒,简单粗暴有效;2.参数绑定——最好的防SQL注入方法,使用预编译手段。
OS注入:与SQL注入相似,只不过注入的是OS命令。应对方法也相似。
5.1.3 CSRF攻击
CSRF:跨站点请求伪造,攻击者通过夸张请求,以合法用户的身份进行非法操作。其主要手段是跨站请求,核心是利用浏览器Cookie或服务器Session,盗取客户身份。
防御手段:主要是识别请求者身份。1.表单Token——在请求参数中增加随机数来组织攻击者获得所有请求参数;2.验证码——简单有效,用户体验不好,但在安全性要求高的情况下一般都使用验证码;3.Referer check——记录请求来源,以供检验。
5.1.4 其他攻击
HTML注释:获取网站的注释,了解信息
文件上传:通过上传可执行程序进行攻击;防御——设置文件白名单,只允许指定文件类型
路径遍历:在请求中使用相对路径进行遍历。
5.1.5 Web防火墙
作用:能处理掉大部分网络攻击,还可不断升级
5.1.6 网站安全漏洞扫描
模拟网站攻击,从而进行查漏补缺。
5.2 信息加密技术与密钥安全管理**
前因:为保护网站的敏感数据,需要对这些数据进行加密处理。
信息加密技术分类:单向散列加密、对称加密和非对称加密。
5.2.1 单向散列加密
思路:通过对不同输入长度的信息进行散列计算,得到固定长度的输出;为加强安全性,可在散列算法中加盐。
操作:用户登录时进行密码验证,计算得到输入密码的密文,并与数据库中密文对比,进行验证。
算法:MD5,SHA等。
5.2.2 对称加密
定义:加密和解密使用同一个密钥(或可以互相推算)。
问题:如何安全的传输密钥
算法:DES算法、RC算法。
5.2.3 非对称加密
定义:加密和解密使用不同密钥;一个为公钥,公开;一个为私钥,只有所有者可知。
算法:RSA算法等。
应用:实际应用中,一般使用非对称加密技术传输对称加密的密钥;再使用对称加密技术进行信息解密与交换。
5.2.4 密钥安全管理
前言:密钥的安全是安全保密的前提。密钥安全管理手段分两种。
1. 将密钥和算法放在一个独立的服务器上,由专人维护。缺点:成本高,远程调用开销大。
2. 将加解密系统放在应用系统中,密钥放在独立服务器中。
5.3 信息过滤与反垃圾
信息过滤和反垃圾的几个手段:
1. 文本匹配:由网站维护一个敏感词列表,对敏感词进行过滤——转移或拒绝发表。敏感词匹配方式——正则表达式,Trie树或多级Hash表。
2. 分类算法:使用贝叶斯分类算法进行分类和辨识。
3. 黑名单:实现方式——Hash表或布隆过滤器。
相关文章推荐
- 《大型网站技术架构》读书笔记三:大型网站核心架构要素
- 大型网站技术架构读书笔记03—大型网站架构核心要素
- 《大型网站技术架构》读书笔记 - 架构核心五要素(转)
- 大型网站技术架构 读书笔记2.1 核心架构要素之高性能
- 大型网站技术架构 读书笔记2.3 核心架构要素之可伸缩
- 大型网站技术架构 读书笔记2 大型网站核心架构要素
- 《大型网站技术架构》读书笔记三:大型网站核心架构要素
- 大型网站技术架构 读书笔记2.4 核心架构要素之可扩展
- 大型网站技术架构 读书笔记2 大型网站核心架构要素
- 《大型网站技术架构》读书笔记[3] - 架构核心五要素
- 《大型网站技术架构》读书笔记三:大型网站核心架构要素
- 《大型网站技术架构》读书笔记[3] - 架构核心五要素
- 大型网站技术架构(四)--核心架构要素 开启mac上印象笔记的代码块 大型网站技术架构(三)--架构模式 JDK8 stream toMap() java.lang.IllegalStateException: Duplicate key异常解决(key重复)
- 读书笔记:【大型网站技术架构】核心原理与案例分析
- 架构师---(大型网站技术架构核心原理与案例分析)3大型网站架构核心要素
- 大型网站技术架构(三)--架构核心要素
- 大型网站技术架构(三)--架构核心要素
- 《大型网站技术架构 -核心原理与安全分析》读书笔记
- 《大型网站技术架构》读书笔记三:大型网站核心架构要素
- 读书笔记之 大型网站技术架构(核心原理与案例分析)