您的位置:首页 > 运维架构 > 网站架构

大型网站技术架构 读书笔记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 单向散列加密

  思路:通过对不同输入长度的信息进行散列计算,得到固定长度的输出;为加强安全性,可在散列算法中加

  操作:用户登录时进行密码验证,计算得到输入密码的密文,并与数据库中密文对比,进行验证

  算法MD5SHA等。

5.2.2 对称加密

  定义加密解密使用同一个密钥(或可以互相推算)。

  问题:如何安全的传输密钥

  算法DES算法RC算法

5.2.3 非对称加密

  定义:加密和解密使用不同密钥;一个为公钥,公开;一个为私钥,只有所有者可知。

  算法RSA算法等。

  应用:实际应用中,一般使用非对称加密技术传输对称加密的密钥;再使用对称加密技术进行信息解密与交换

  5.2.4 密钥安全管理

  前言:密钥的安全是安全保密的前提。密钥安全管理手段分两种。

  1. 将密钥算法放在一个独立的服务器上,由专人维护。缺点:成本高,远程调用开销大。

  2. 将加解密系统放在应用系统中,密钥放在独立服务器中。

5.3 信息过滤与反垃圾

  信息过滤和反垃圾的几个手段:

  1. 文本匹配:由网站维护一个敏感词列表,对敏感词进行过滤——转移或拒绝发表。敏感词匹配方式——正则表达式,Trie树或多级Hash表。

  2. 分类算法:使用贝叶斯分类算法进行分类和辨识。

  3. 黑名单:实现方式——Hash表布隆过滤器

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐