架构_Web高安全架构


零. 核心问题

  1. 什么是安全性?
    • 系统不被入侵
    • 用户数据不被泄漏
  2. 有哪些攻击,如何防范?
    • 攻击手段
      • XSS工具
      • 注入攻击
      • CSRF攻击
      • 其他攻击
    • 防御与检测手段
      • 防火墙
      • 网站漏洞扫描

一. 常见的攻击和防御手段

  1. XSS攻击(Cross Site Script)
    • 手段
      • 提交含有恶意的脚本,包含在正常的页面中
    • 防范
      1. 消毒:对用户输入进行过滤和转译
      2. HttpOnly:禁止JS访问担忧HttpOnly属性的Cookie
  2. 注入攻击
    1. SQL注入
      • 防范
        1. 消毒
        2. 参数绑定
    2. OS注入
      • 定义
        • 利系统漏洞在运行应用程序的服务器上执行任意操作系统命令
      • 防范
        1. 用最小权限去运行程序
        2. 减少被攻击面:尽可能避免外部数据操控
    3. CSRF攻击
      • 定义
        • 通过跨站请求,以合法用户的身份进行非法操作
        • 利用浏览器的Cookie或服务器Session策略盗取用户身份
      • 防范
        1. 表单Token
        2. 验证码
        3. Referer check
    4. 其他的攻击和漏洞
      1. Error Code
      2. HTML注释
      3. 文件上传
      4. 路径遍历
        • 定义
          • 在请求的URL中使用相对路径,遍历系统为开放的目录和文件
        • 防范
          • 将JS、CSS等资源文件部署在独立服务器、使用独立域名
    5. Web应用防火墙
      • ModeSecurity
      • SiteShell
    6. Web安全漏洞扫描
      • 查漏补缺

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

  1. 单向散列加密
    • 定义
      • 通过对不同输入的不同长度的信息做散列计算,得到固定长度的输出
      • 计算的过程时单向的,不能通过固定长度的输出计算出输入信息
      • 输入的任何细微变化都会导致输出的完全不同
    • 作用
      • 密码加密保护
      • 生成信息摘要
      • 计算具有高离散程度的随机数
    • 常用算法
      • MD5
      • SHA
    • 常用的操作
      • 加盐
    • 破解的手段
      • 彩虹表
  2. 对称加密
    • 定义
      • 加密和解密使用同一个密钥
      • 明文 + 密钥 + 加密算法 -> 密文
      • 密文 + 密钥 + 解密算法 -> 明文
    • 优点
      • 效率高,适合大量数据加密
    • 缺点
      • 要使用同一个密钥,不方便远程通信
    • 常用算法
      • DES
      • RC
      • AES
  3. 非对称加密
    • 定义
      • A公钥 + A私钥
      • B公钥 + B私钥
      • 明文 + B公钥 + 加密算法 -> 密文
      • 密文 + B私钥 + 解开算法 -> 明文
    • 作用
      • 信息安全传输
      • 数字签名
    • 优点
      • 能够实现非安全传输通道的信息传输
    • 缺点
      • 比较耗费性能,通常与对称加密结合使用
    • 常用算法
      • RSA
      • ECC
  4. 密钥安全管理
    • 方案一
      • 算法+密钥+独立服务器方案
    • 方案二
      • 算法 + 应用系统
      • 密钥 + 独立服务器
    • 核心理念
      • 每个服务器专人负责管理
      • 没人能查看完整的密钥信息

三. 信息过滤与反垃圾

  1. 文本匹配
    • Tire算法
    • 多级Hash表
    • 降噪预处理
  2. 分类算法
    • 贝叶斯分类算法
    • TAN算法
    • ARCS算法
  3. 黑名单
    • 布隆过滤器

四. 电子商务风险控制

  1. 风险
    • 账户风险
      • 账户被盗用
      • 恶意注册
    • 买家风险
      • 恶意下单占库存
      • 黄牛抢购
      • 欺诈退款
    • 卖家风险
      • 欺诈
      • 违禁
      • 侵权
  2. 风控
    • 规则引擎
      • 将业务规则和规则处理逻辑分离
      • 业务规则有运营人员编辑,实时更新
    • 统计模型
      • 训练分类算法/机器学习算法
      • 通过模型模糊识别

五. 总结

  1. 世界没有绝对的安全
  2. 网站通过提高攻击的门槛来实现
  3. 理性上,使攻击者的攻击收益远小于付出