大型网站技术架构』(六):安全性架构

来源:互联网 发布:红色帝王蟹淘宝 编辑:程序博客网 时间:2024/06/11 05:28

『大型网站技术架构』(六):安全性架构

一、网站应用攻击与防御

1. XSS攻击

跨站脚本攻击(Cross Site Script, XSS)指攻击者通过篡改网页,注入恶意HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。

  • 反射型: 攻击者诱使用户点击一个嵌入恶意脚本的链接,达到攻击目的。
  • 持久型:攻击者提交含有恶意脚本的请求,保存在被攻击的Web站点数据库中,用户浏览网页时,恶意脚本被包含在正常的页面中,达到攻击目的。

防御手段:

  • 消毒:特殊字符('<','>'等)转义。
  • HttpOnly: 不能避免XSS,但是能避免攻击者通过XSS获取Cookie,导致敏感信息泄露。

2. 注入攻击

两种形式:SQL注入攻击、OS注入攻击。本质是将数据当做程序执行。

攻击者如何获取数据库表结构信息?

  • 开源:表结构本身公开。
  • 错误回显:服务器500错误回显到浏览器。
  • 盲注:攻击者根据页面变化情况判断SQL语句的执行情况,据此猜测数据库表结构。

防御手段:

  • 消毒:过滤数据中可能注入的SQL。
  • 参数绑定:预编译(两大好处:1.提升性能,2.防止SQL注入)

3. CSRF攻击

跨站请求伪造(Cross Site Request Forgery, CSRF)指攻击者通过跨站请求,以合法用户的身份进行非法操作。核心是利用浏览器Cookie或服务器Session策略盗取用户身份。

防御手段:识别请求者身份

  • 表单Token: 每次页面请求,服务器写入一个随机数到Cookie,下次页面表单提交,表单域携带随机数,服务器端以此判断Cookie中随机数与表单域中值是否一致。这个方法有效的前提是Cookie不泄露,否则不生效。CSRF配合XSS攻击盗取Cookie会带来严重后果。
  • 验证码:用户体验不好。
  • Referer cheker:判断Referer域中请求来源是否合法。

4. 其他攻击和漏洞

  • Error Code: 服务器端500错误异常信息直接显示在浏览器。
  • HTML注释
  • 文件上传:上传不可靠文件类型。
  • 路径遍历:URL路径部分填入相对路径,暴露服务器文件系统。

二、信息加密技术及密钥安全管理

1. 加密技术

  • 单项散列加密
  • 对称加密
  • 非对称加密

单向散列加密

通过对不同输入长度信息进行散列计算,得到固定长度输出,不可逆。

常见算法:MD5、SHA

对称加密

加密和解密使用的密钥是同一个(或者可以互相推算)。算法简单,加解密效率高,系统开销小,适合大量数据加密,如何保存密钥是个难题。

常见算法:DES、RC

非对称加密

加密和解密使用的密钥不是同一个。安全性高。

常见算法:RSA

2. 密钥安全管理

  • 密钥和算法放在一个独立的服务器上,甚至做成一个专用硬件设施,对外提供加密和解密服务,应用系统通过调用这个服务实现加解密。
  • 加解密算法放在应用系统中,密钥放在独立服务器,并且密钥分片存储,分别由专人保管。

三、信息过滤和反垃圾

  • 文本匹配:Trie算法、多级Hash表
  • 分类算法:数据挖掘、贝叶斯分类算法
  • 黑名单:Hash表(精确)、布隆过滤器(不完全精确)

四、电子商务风险控制

1. 风险

  • 账户风险
  • 买家风险
  • 卖家风险
  • 交易风险

2. 风控

  • 规则引擎:业务规则和规则处理逻辑相分离。规则处理逻辑写好后,由运营人员负责通过页面编辑规则。
  • 统计模型:数据挖掘、机器学习

--EOF--

0 0