安全 & 高可用架构

用户头像
dony.zhang
关注
发布于: 2020 年 08 月 26 日
安全&高可用架构

互联网应用都是7*24小时提供服务,对系统的可用性面临巨大的压力。影响系统可用性包含:系统的稳定性、安全、性能等各方面。

安全架构

互联网的开放性,给我们生活、学习带来便利的同时,也给系统安全、稳定性、个人信息隐私带来了挑战。网站的攻击就是突破一层层的应用访问链路层的保护,导致系统的数据泄露、性能变差、进而引起系统不可用。

对于一个大型网站的攻击手段主要包含

1. web前端攻击
  • XSS攻击:无需登录,通过脚本在浏览器向网站注入JS等

  • SQL攻击:攻击者发送恶意的SQL命令或脚本,获取敏感数据、数据库表结构信息等

  • CSRF攻击:需登录,有会话的情况,利用JS漏洞攻击目标网站

  • 其他:ErrorCode错误回显、HTML注释、文件上传(上传可执行命令)、路径遍历(遍历系统未开放的目录和文件)

2. 客户端攻击
  • 模拟/更改设备相关信息:经纬度、设备指纹等其他

  • 植入脚本:通过注入恶意代码片段,获取个人信息、绕过服务验证等

  • 静态调试/动态调试:模拟客户端请求

3. 网络攻击
  • DDos

  • 域名劫持

  • 请求和响应报文的篡改、拦截

4. 数据泄露
  • 秘钥泄露:服务器相关秘钥、商户秘钥、用户秘钥等

  • 敏感数据泄露:用户密码、用户个人信息、用户订单信息等

5. 漏洞攻击
  • OS漏洞

  • 容器软件漏洞

  • 中间件漏洞

  • 框架/库漏洞

  • 应用程序本身漏洞

6. 其他
  • 灰色产业



面临上面一些安全问题,有相应的一些解决方案。但系统的安全防护,是需要一个整体完整的解决方案,需要技术同时也需要管理。不然就会出现“水桶”原理中最短哪块板,利用它就可击破整个系统。

整体的安全架构如下



1. 前端web/客户端攻击防护
  • 客户端防护:加固加壳、提示用户从正规渠道下载应用

  • XSS攻击:普通用户不能提交脚本,可通过编码、过滤(CSP,相当于白名单)、校正、消毒

  • SQL注入:消毒、SQL预编译参数绑定(DAO框架都有实现)、命令权限限制、IP白名单限制

  • CSRF攻击:提交表单时,需携带token, head验证令牌,验证码、Referer验证

  • 其他:跳转统一的错误页面,自动扫描避免HTML注释漏洞、上传文件白名单限制(特定类型的文件)、上传到专门的存储文件服务器、静态文件放在单独服务使用单独域名、其他文件不使用静态URL访问增加动态参数不包含文件路径信息、反作弊、反爬

2. 网络攻击防护
  • DDos:流量对抗、风险识别等技术

  • 域名劫持防护

  • 硬件防火墙

  • HTTPS协议:全站实现HTTPS

  • Web应用防火墙:通过规则集合的可扩展性不断对漏洞防御进行升级。开源项目ModSecurity

  • 网络入侵检测

  • 主机入侵检测:主机防护,提供多病毒检测引擎,支持主流病毒自动查杀能力。支持实时全量采集数据,提供机器学习和150+关联检测模型来提升主机入侵检测效率。

3. 信息加密技术
  • 单项散列加密:不可逆,通过salt增加安全性

  • 对称加密:加密、解密使用同一个秘钥

  • 非对称加密:公钥加密,私钥解密

  • 签名/认证证书:私钥加签,公钥验签

4. 风险控制防护

建设一个系统安全、业务安全、内容安全三个方面,贯穿安全攻防、身份认证、风险评估和管控决策的多层次风险控制体系。风险包含:账号风险、买家风险、卖家风险、交易风险



  • 贝叶斯分类:通过机器学习训练获取各特性值的全概率和先验概率,在线数据通过贝叶斯公式计算特性值集合的后验概率值进行分离,反垃圾场景使用

  • 布隆过滤器:通过预先分配一段连续内存空间,利用8种算法计算得到一个二进制数值,存储在对用的内存中。这样来记录垃圾信息的地址或其他信息,可以节约大量的存储空间。可能存在错杀的情况,是宁可错杀一千,也不放过一个。 反垃圾场景使用

  • 规则引擎:通过不断调整规则,通过规则引擎,识别高风险,然后进行人工审核。

  • 机器学习:使用机器学习模型自动进行风险识别和执行策略。

5. 数据安全
  • 秘钥安全管理

可通过加密机实现秘钥生成、存储、管理,提供加密、解密、加签、验签等服务



  • 数据库安全

数据库审计系统——智能解析数据库通信流量,细粒度审计数据库访问行为,可以精准识别、记录云上数据安全威胁,为云端数据库提供全方位的安全、诊断、维护及合规能力。



  • 敏感数据管理

支持海量数据迅速、精准识别敏感数据并锁定保护对象,对敏感数据提供实时和有效的保护。提供数据从敏感等级定义、敏感数据异常操作识别和响应处理、数据脱敏处理等全链路防护。

6. 安全服务
  • 漏洞管理

根据内置规则,模拟黑客攻击行为,用以发现网站安全漏洞的工具。支持自动检测资产的漏洞和风险配置,提供修复建议,帮助巩固系统安全。提供漏洞一键修复与验证能力。

  • 安全应急响应中心

提供云安全中心能力,实时监控安全事件并提供处理建议,对告警事件进行分析和检索,抵御恶意入侵。提供机器学习能力,量化分析威胁,预测潜在的安全风险。

  • 应用安全评估

  • 渗透测试

  • 安全智能分析平台



高可用架构

高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。

高可用度量

1. 可用性指标

业界通常用多少个9来衡量网站的可用性,如腾讯微信的可用性4个9,即微信服务99.99%可用,只有0.01%的时间不可用,也就是一年中大约53分钟不可用。

网站年度可用性指标 = (1-网站不可用时间/年度总时间) * 100%

网站不可用时间(故障时间) = 故障修复时间 - 故障发现(报告)时间点

可用性影响因素很多,达到4个9,5个9除了过硬的技术、大量设备资金投入、工程师责任心、还有运气。

2. 故障管理
  • 分级管理:S级故障(严重故障)、A类故障(核心功能不可用)、B类故障(核心功能少数用户不可用)、C类故障(其他类故障),可根据自身业务特点来划分

  • 处理流程管理:



引起系统故障原因

参考:https://xie.infoq.cn/article/b5f4ae3f5e4d63f44b9e85497



保证系统高可用方案

1. 架构

参考:https://xie.infoq.cn/article/b5f4ae3f5e4d63f44b9e85497

2. 运维

参考:https://xie.infoq.cn/article/b5f4ae3f5e4d63f44b9e85497

发布于: 2020 年 08 月 26 日 阅读数: 44
用户头像

dony.zhang

关注

专注成就专业 2018.07.06 加入

程序员

评论

发布
暂无评论
安全&高可用架构