为 SaaS、PaaS 和 IaaS 服务指定安全基线

已完成

本单元将概述 IaaS 和 PaaS 安全性的一般最佳做法。

IaaS 安全

通过身份验证和访问控制保护 VM

保护 VM 安全的第一步是确保只有授权用户才能设置新 VM 以及访问 VM。

使用 Azure 策略建立组织中的资源约定和创建自定义策略。 将这些策略应用于资源,如资源组。 属于该资源组的 VM 将继承该组的策略。

使用多个 VM 提高可用性

如果 VM 运行需要具有高可用性的关键应用程序,我们强烈建议使用多个 VM。 为提高可用性,可使用可用性集或可用性区域

可用性集是一种逻辑分组功能,在 Azure 中使用它可以确保将 VM 资源部署在 Azure 数据中心后,这些资源相互隔离。 Azure 确保可用性集中部署的 VM 能够跨多个物理服务器、计算机架、存储单元和网络交换机运行。 如果出现硬件或 Azure 软件故障,只有一部分 VM 会受到影响,整体应用程序仍可供客户使用。 如果想要构建可靠的云解决方案,可用性集是一项关键功能。

防范恶意软件

应安装反恶意软件保护,以帮助识别和删除病毒、间谍软件和其他恶意软件。 可安装 Microsoft 反恶意软件或 Microsoft 合作伙伴的终结点保护解决方案(Trend MicroBroadcomMcAfeeWindows DefenderSystem Center Endpoint Protection)。

管理 VM 更新

与所有本地 VM 一样,Azure VM 应由用户管理。 Azure 不会向他们推送 Windows 更新。 你需要管理 VM 更新。

使用 Azure 自动化中的更新管理解决方案,为部署在 Azure、本地环境或其他云提供程序中的 Windows 和 Linux 计算机管理操作系统更新。 可以快速评估所有代理计算机上可用更新的状态,并管理为服务器安装所需更新的过程。

管理 VM 安全状况

网络威胁不断加剧。 保护 VM 需要监视功能,以便快速检测威胁、防止有人未经授权访问资源、触发警报并减少误报。

要监视 WindowsLinux VM 的安全态势,请使用 Microsoft Defender for Cloud

监视 VM 性能

如果 VM 进程消耗的资源多过实际所需的量,可能会造成资源滥用的问题。 VM 性能问题可能会导致服务中断,从而违反可用性安全原则。 这对于托管 IIS 或其他 Web 服务器的 VM 尤其重要,因为 CPU 或内存占用较高可能意味着遭到拒绝服务 (DoS) 攻击。 不仅要在出现问题时被动监视 VM 的访问,而且还要在正常运行期间针对基准性能进行主动监视。

加密虚拟硬盘文件

建议加密虚拟硬盘 (VHD),以帮助保护存储中的静态启动卷和数据卷以及加密密钥和机密。

适用于 Linux VM 的 Azure 磁盘加密适用于 Windows VM 的 Azure 磁盘加密可帮助加密 Linux 和 Windows IaaS 虚拟机磁盘。 Azure 磁盘加密利用 Linux 的行业标准 DM-Crypt 功能和 Windows 的 BitLocker 功能,为 OS 和数据磁盘提供卷加密。 该解决方案与 Azure Key Vault 集成,帮助用户管理 Key Vault 订阅中的磁盘加密密钥和机密。 此解决方案还可确保虚拟机磁盘上的所有数据在 Azure 存储中静态加密。

限制直接 Internet 连接

监视和限制 VM 直接 Internet 连接。 攻击者可能会不断利用猜出的常用密码和已知的未修补漏洞,扫描公有云 IP 范围中的开放管理端口,然后试图发起“轻而易举”的攻击。

PaaS 安全性

采用标识用作主要安全边界的策略

在云计算的五大基本特征中,一个特征就是网络访问范围广泛,这使得以网络为中心的理念显得有点毫不相干。 许多云计算解决方案的目标是不管用户身居何处,都能允许他们访问资源。 对于大多数用户而言,他们的位置就是 Internet 上的某个节点。

下图演示了安全边界从网络边界演进成标识边界的过程。 安全性越来越少地与如何保护网络相关,而更多地与如何保护数据,以及如何管理应用和用户的安全性相关。 两者的关键差别在于如何为公司的重要资产提供更多的安全保障。

显示标识作为新安全外围的示意图。

最初,Azure PaaS 服务(例如 Web 角色和 Azure SQL)提供的传统网络边界防护措施很少,或者根本不提供。 开发人员已认识到,设计元素的目的就是在 Internet 上公开(Web 角色),而身份验证可提供新的边界(例如 BLOB 或 Azure SQL)。

新式安全措施假设入侵者会突破网络边界。 因此,新式防护措施已转移到标识。 组织必须使用强身份验证和授权保护机制建立基于标识的安全边界(最佳实践)。

网络边界的原理和模式早在几十年前就已建立。 相比之下,行业在使用标识作为主要安全边界的经验相对缺乏。 正因如此,我们累积了足够的经验,乐于提供已在现场得到证实的、适用于几乎所有 PaaS 服务的一些普通建议。

在 Azure 应用服务上开发

Azure App Service 是一个 PaaS 产品,可创建适用于任何平台或设备的 Web 和移动应用,并可连接到云中或本地任何位置的数据。 应用服务所包括的 Web 功能和移动功能是以前作为 Azure 网站和 Azure 移动服务单独交付的。 它还包括各种新功能,可以实现业务流程的自动化,并可托管云 API。 应用服务以单个集成服务的形式为 Web、移动和集成方案提供一组丰富的功能。

安装 Web 应用程序防火墙

Web 应用程序已逐渐成为利用常见已知漏洞的恶意攻击的目标。 这些攻击中最常见的攻击包括 SQL 注入攻击、跨站点脚本攻击等。 防止应用程序代码中的此类攻击颇具挑战性,可能需要在应用程序拓扑的多个层进行严格的维护、修补和监视。 集中式 Web 应用程序防火墙有助于大幅简化安全管理,为抵卸威胁或入侵的应用程序管理员提供更好的保障。 相较保护每个单独的 Web 应用程序,WAF 解决方案还可通过在中央位置修补已知漏洞,更快地响应安全威胁。

Web 应用程序防火墙 (WAF) 为 Web 应用程序提供集中保护,使其免受常见攻击和漏洞的影响。

DDOS 保护

Azure DDoS 防护与应用程序设计最佳做法相结合,提供增强的 DDoS 缓解功能来更全面地防御 DDoS 攻击。 应在任何外围虚拟网络上启用 Azure DDOS 防护

监视应用程序的性能

监视是一种数据收集和分析操作,用于确定应用程序的性能、运行状况及可用性。 有效的监视策略有助于了解应用程序组件的详细运行状况, 它有助于向你发送关键情况的通知,让你在这些情况成为问题之前解决它们,从而提高运行时间。 它还有助于检测可能与安全相关的异常。

执行安全渗透测试

验证安全防御与测试任何其他功能一样重要。 将渗透测试规定为生成和部署过程的标准组成部分。 针对已部署应用程序对定期安全测试和漏洞扫描进行计划,并监视打开的端口、终结点和攻击活动。