一、方案简介
某电商APP系统目前部署在阿里云平台系统上,使用了阿里云平台系统的基础设施。
安全防护一般涉及如下方面:物理安全、网络安全、主机安全、应用安全、数据安全。
除了上述安全技术防护外,安全管理亦不容忽视,大的分类一般涉及:安全管理制度、安全管理机构、人员安全管理、系统建设管理、系统运维管理。
可以通过自有力量或委托第三方专业安全评测机构定期对系统进行测评,对测评过程中发现的主要安全问题进行处置。
二、方案详述
2.1安全防护需要考虑的层面及控制点
上述简介中提及的安全技术/安全管理分类一般涉及到如下安全控制点,需要对这些点分别作测评,具体操作可参考相关国标、行业规范、以及最佳实践。
安全层面 | 安全控制点 |
物理安全 | 物理位置的选择 |
物理访问控制 | |
防盗窃和防破坏 | |
防雷击 | |
防火 | |
防水和防潮 | |
防静电 | |
温湿度控制 | |
电力供应 | |
电磁防护 | |
网络安全 | 结构安全 |
访问控制 | |
边界完整性检查 | |
入侵防范 | |
恶意代码防护 | |
安全审计 | |
网络设备防护 | |
主机安全 | 访问控制 |
入侵防范 | |
恶意代码防范 | |
资源控制 | |
身份鉴别 | |
安全审计 | |
剩余信息保护 | |
应用安全 | 身份鉴别 |
访问控制 | |
安全审计 | |
剩余信息保护 | |
资源控制 | |
通信完整性 | |
通信保密性 | |
抗抵赖 | |
软件容错 | |
安全管理制度 | 管理制度 |
制度和发布 | |
评审和修订 | |
安全管理机构 | 岗位设置 |
人员配备 | |
授权和审批 | |
沟通和合作 | |
审核和检查 | |
人员安全管理 | 人员录用 |
人员离岗 | |
人员考核 | |
安全意识教育和培训 | |
外部人员访问管理 | |
系统建设管理 | 系统定级 |
安全方案设计 | |
产品采购和使用 | |
自行软件开发 | |
外包软件开发 | |
工程实施 | |
测试验收 | |
系统交付 | |
系统备案 | |
等级测评 | |
安全服务商选择 | |
系统运维管理 | 环境管理 |
资产管理 | |
介质管理 | |
设备管理 | |
监控管理和安全管理中心 | |
网络安全管理 | |
系统安全管理 | |
恶意代码防范管理 | |
密码管理 | |
变更管理 | |
备份与恢复管理 | |
安全事件处置 | |
应急预案管理 |
说明:鉴于信息系统的复杂性和特殊性,上述某些安全控制点及相关要求可能不适用于所有信息系统,应对其做必要的梳理、裁剪或补充(参见:四、互联网应用安全)。
2.2系统安全测试方式及要点
信息系统安全测评的方式主要有访谈、核查、测试及综合风险分析。现对其要点简述如下:
访谈:应注意广度和深度,广度上访谈应覆盖不同类型的人员,包括系统负责人、开发人员、系统管理人员等。深度上访谈应包含通用和高级的问题以及一些有难度和探索性的问题。
核查:包括文档核查及配置核查。
测试:包括案例验证测试、漏洞扫描测试、渗透测试。
风险分析方法:根据安全事件可能性和安全事件后果对系统面临的风险进行分析。
2.3对标阿里云产品及服务选型
上述安全控制点及相关要求对标阿里云产品及服务,建议的选型如下:
阿里云产品/服务 | 功能说明 |
态势感知 (企业版) | 安全事件分析:发生安全事件后,通过日志证据进行调查,评估资产受损范围和影响 操作审计:对主机服务器的操作日志进行审计,对高危操作和严重问题进行细粒度排查 业务流量统计:对web访问日志进行统计和分析,追踪来访者的环境和状态,对业务和服务响应进行筛选 |
安骑士 (企业版) | 入侵防御以及病毒防控功能。 |
云堡垒机 (企业版) | 对所有设备进行集中管理,具有三员管理机制,对管理人员行为进行审核。支持令牌 |
数据库审计 | 数据库安全审计 |
高防IP | 1、包括但不限于以下攻击类型 ICMP Flood、UDP Flood、TCP Flood、SYN Flood、ACK Flood、CC攻击等; 2、DDoS防护服务可随时更换防护的IP,自由配置 高级别防护; 3、DDoS防护阈值弹性调整,随时升级更高级别的防护,整个过程服务无中断; 4、提供实时精准的流量报表及攻击详情,及时准确获得当前服务详情; |
Web应用 防火墙 | 应用攻击防护:强大的内置防护规则可以防护诸如SQL注入,XSS跨站脚本,远程文件包含、木马上传隔离以及其他OWASP的Top威胁攻击,支持HTTP/HTTPS应用接入; 精准防护:根据网站实际防护场景需求,实现HTTP/HTTPS的常见字段的细粒度访问控制,过滤针对网站的恶意流量;支持IP、URL、Referer、User-Agent等HTTP常见字段的自定义防护规则匹配,可支持盗链防护、网站后台保护等防护场景; CC攻击防护:充分利用阿里云大数据安全优势、建立威胁情报与可信访问分析模型、快速识别恶意流量;多种防护算法结合防御、包括对单一源IP的访问频率控制、重定向跳转验证、人机识别等;针对海量慢速请求攻击、采用高级防护算法、统计响应码、URL请求分布、异常Referer及User-Agent特征识别,可结合精准防护进行综合防护; 业务风控:实时解决垃圾注册、刷库撞库、活动作弊、论坛灌水等严重业务风险,无需网站修改源码/调用API接口等繁琐操作即可实现快速上线防护; 快速更新:在云盾的安全专家发现了新型的漏洞威胁后,能够立刻将对应的安全补丁同步到云盾Web应用防火墙中,保障您的网站业务不被侵害受损; |
三、方案可借鉴的最佳实践
3.1安全不能停留在制度上。
3.2预防为主、持续改进。
3.3安全方案的设计通常应遵循以下原则:(1)木桶原则:木桶的最大容积取决于最短的一块木板;(2)整体性原则:综合考虑安全防护、监测和应急恢复;(3)有效性与实用性原则:不能影响系统的正常运行和合法用户的操作;(4)等级性原则:区分安全层次和安全级别,包括对信息保密程度分级、对用户操作权限分级、对信息系统安全程度分级、对系统实现结构的分级等;(5)动态化原则:安全只是相对的和暂时的。
四、互联网应用安全
互联网应用不同于传统应用,突出表现在以下两点:(1)用户群体、使用时间、使用习惯存在不确定性;(2)应用更新迭代频繁。
一个百万用户量级以上的互联网应用,其很多问题已经不能就事论事来研究和解决,需要系统性的方法和战略性的眼光。
基于上述特点,互联网应用必须做顶层规划和详细设计,从安全角度出发,每个层面需考虑和解决三高问题:高可用、高性能、高扩展。
高可用架构一般表现在以下几方面:冗余备份、失效转移、模块解耦、降级限流、异步处理、异地多活、自动化运维。
高性能一般表现在以下两个方面:时间性能(系统执行的时间)和空间性能(系统占用的空间)。提高性能通常从代码优化、工具优化、系统优化三个方面入手。
高扩展:分垂直扩展和水平扩展,互联网应用系统一定要能水平扩展。
上述三高涉及许多技术及细节,不能生搬硬套,需要基于业务需求做架构设计、数据设计、实现细节详细设计。
五、安全工作如何落地
前面提及更多的是理论,如何落地需要智慧,如技术实现维度场景、一题多解场景、跨时间轴的场景、风险和影响的平衡等。不同发展阶段的安全建设应有所区别,举例如下:
5.1中小型(初创期):保障最基本的部分,追求最高性价比,不求大而全。映射到技术实现,具体工作如下:
- 基本的补丁管理
- 漏洞管理
- L3-L7的基本的访问控制
- 没有弱密码,管好密码。
- 账号认证鉴权不求各种基于条件的实时风控,但求基本功能到位。
- 参考开发语言的安全编程规范
- 参考系统加固最佳实践文档
以上工作部分可以借助于云平台提供的安全能力,或者第三方安全厂商提供的安全能力。
5.2大中型(发展、成熟期):典型特征是业务营收的持续性需要安全来保障,配备专职安全人员或安全团队,具备初步的纵深防御能力。映射到技术实现,具体工作如下:
- L2-L7中的每一层拥有完整的安全设计。
- 对所有的服务器、PC终端、移动设备,具有统一集中的状态感知、安全检测及防护能力。
- 应用层面细粒度控制
- 全流量入侵检测能力
- 无死角1天漏洞发现能力
- 在安全等级较高的区域建立纵深防御和一定的0天发现能力
- 初具规模的安全专职团队
- 对应用交付有自主的评估和修补能力
- 从IT服务层面建立必要的流程、业务持续性以及风控应急措施。
- 对业务安全形成自己的风控及安全管理方法论
- 将难以自己实现的部分外包
这个层级的安全需求有些难以具体量化。
根据经验,企业在安全方面的预算,应该等分成三部分(根据实际情况和不同阶段动态调整):1/3投入到外部情报收集,包括众测和SRC的建设;1/3投入到安全感知系统建设,只有先看到,才能实施有效防御;1/3投入到防御系统的建设。第一个1/3可以理解为红军,第二个1/3和第三个1/3可以理解为蓝军。加强蓝军自身的安全能力,并通过红军来验证自身安全能力的强弱和可靠性,基于上述思路,风险就逐渐收敛了。