保护可用性的设计

已完成
使用强大的安全控制措施,防止或最大程度地减少发生安全事件时系统和工作负载停机和性能下降。 必须在事件期间和系统恢复后保持数据完整性。

需要平衡可用性体系结构选择与安全体系结构选择。 系统应提供可用性保证,以确保用户有权访问数据,并且数据可以访问。 从安全角度来看,用户应在允许的访问范围内进行操作,并且数据必须可信任。 安全控制应阻止不良行为者,但不应阻止合法用户访问系统和数据。

示例场景

Contoso Concierge 运行的酒店管理软件系统已被美国 50 多个酒店品牌使用。 该系统负责预订、宾客入住并跟踪宾客服务和客房服务人员配备。 这是一个基于云的系统,在美国的两个地区运行。 该系统主要托管在虚拟机规模集上。 酒店中的客户端基于浏览器。

通过强大的安全性增强可靠性

使用安全控制和设计模式来防止攻击和代码缺陷导致资源耗尽和阻止访问。

采用这种方法有助于确保系统不会因恶意行为(例如分布式拒绝服务 (DDoS) 攻击)而导致停机。

Contoso 的挑战

  • 工作负载团队和工作负载的利益干系人认为该系统的可靠性至关重要,因为许多酒店宾客的商务和休闲旅行中离不开该系统。 酒店的经营必须由酒店自己决定。
  • 团队投入了大量资源来测试功能和非功能需求,以确保保持高可靠性,包括使用安全部署实践来可靠地发布应用程序更新。
  • 虽然团队非常关注可靠性,但却不太关注安全性。 最近发布的更新包含一个代码缺陷,攻击者利用该缺陷导致许多酒店的整个系统瘫痪。 攻击在某晚导致某个地区的应用程序服务器完全崩溃,持续了四个多小时,给客户和酒店宾客带来了麻烦。
  • 攻击者使用 Contoso 应用服务器将请求代理到区域存储帐户,以接收预生成的组合信息。 生成了一个非常大的恶意组合,导致应用程序服务器在将其加载到内存中时耗尽应用程序服务器上的资源,并且客户端重试将问题传播到所有应用程序服务器。

应用方法和结果

  • 团队研究了一种设计模式,从组合请求流中删除应用程序服务器,改为使用附属密钥方法。 虽然此方法并不能阻止问题发生,但可以隔离影响。
  • 团队还在系统中添加了更多的输入验证来清理输入,这有助于防止将来出现此类恶意尝试。
  • 现在,通过输入清理和改善的设计,一种类型的风险已经得到缓解。

主动限制攻击途径

针对利用应用程序代码、网络协议、标识系统、恶意软件防护和其他领域中的漏洞的攻击途径实施预防措施。

实现代码扫描程序、应用最新的安全修补程序、更新软件,并持续使用有效的反恶意软件保护系统。 这样做有助于减少攻击面,以确保业务连续性。

Contoso 的挑战

  • 用于托管系统的 VM 是具有最新 Ubuntu 操作系统的 Azure 市场映像。 VM 的引导过程会设置一些证书、调整一些 SSH 配置并安装应用程序代码,但不使用反恶意软件工具。
  • 虽然 Azure 应用程序网关是解决方案的前端,但它仅用作 Internet 网关;目前未启用 Web 应用程序防火墙 (WAF) 功能。
  • 这两种配置选择都无法保护计算环境免受代码漏洞或恶意软件意外安装的影响。

应用方法和结果

  • 在咨询 Contoso 的安全团队后,虚拟机现已注册到企业管理的防病毒解决方案中。
  • 该团队还决定启用和调整 WAF 功能,通过消除网关级别的已知风险请求(例如 SQL 注入尝试)来帮助保护应用程序代码。
  • 应用程序和应用程序平台现在具有额外的深度防御,有助于防范可能影响系统可用性的攻击。

保护恢复策略

在恢复资源和流程中应用至少与主环境中相同级别的安全严格性,包括安全控制和备份频率。

应该在灾难恢复中保留一个可用的安全系统状态。 这样可以故障转移到安全的辅助系统或位置,并还原不会带来威胁的备份。

精心设计的流程可以防止安全事件阻碍恢复过程。 损坏的备份数据或无法解密的加密数据会减慢恢复速度。

Contoso 的挑战

  • 虽然系统跨区域以主动-主动方式运行,但团队制定了一个灾难恢复计划,以帮助在最坏的情况下恢复业务连续性。
  • 此计划的一部分包括将备份运送到美国的第三个地区。
  • 很不幸,备份是在一个不经常监控的系统中进行的,而且安全控制相对宽松。 在演练中,团队意识到所有备份都已感染恶意软件。 如果他们当时真的遭遇了灾难,将无法成功恢复。

应用方法和结果

  • 团队投入了时间和精力来保护备份位置,添加了额外的网络和标识控制来保护数据。 备份现在也存储在不可变存储中,以防止篡改。
  • 在检查其安全控制后,团队发现在恢复过程中,应用程序在没有 WAF 的情况下运行一段时间。 他们改变了操作顺序来缩小这一差距。
  • 现在,团队确信系统的备份和恢复过程不再是易于攻击的攻击途径。

知识检查

1.

Contoso 如何使用安全控制来响应导致系统崩溃的攻击?

2.

可用于限制攻击途径的预防措施的示例是什么?

3.

判断对错:在恢复环境中运行时,与生产环境相比,可以放宽安全状态要求。