文章来源:https://cloudsecurityalliance.org/blog/2024/05/13/5-best-practices-to-secure-your-azure-resources
本文翻译来自CSA翻译组:
翻译:崔崟,CSA大中华区专家
审校:何伊圣,CSA翻译组轮席组长
云计算在可扩展性、灵活性以及成本效益上的优势使之成为现代商业的支柱。各种组织在选择云服务商以推动其技术变革的同时,他们也必须妥善保护云环境的安全,以保护敏感信息,维护隐私,并严格遵循监管要求。
如今,组织面临严峻的挑战,即对持续演变的云安全威胁要保持优势。如《CrowdStrike 2024 全球威胁报告》所述,2023年云入侵事件(较2022年)增长了75%,这一数据清晰地表明了攻击者正将目标瞄向不断扩大的云环境攻击面。攻击活动愈发猖獗的现状,敦促组织应当了解如何保护云环境及工作负载。
鉴于微软基础设施近期频繁曝出的安全漏洞,使用微软Azure服务的组织应主动采取措施,降低潜在的安全风险。微软的解决方案复杂、难于维护和配置,且容易出现漏洞。对于正在使用Azure的组织有责任确保自己的云环境被正确配置且得到妥善保护。
本文介绍了保护Azure资源的最佳实践,以确保您的云基础设施能够抵御不断涌现且日益复杂的网络安全威胁。
最佳实践1
强制实施多因子认证(MFA)并限制控制台和命令行访问的源IP地址
传统的IT架构中,安全边界被物理防火墙和终端保护清晰界定,它们是抵御未授权访问的第一道防线。在云计算环境中,这种传统架构已经演进到包含身份验证的(安全架构),这其中涵盖了用户凭证和访问管理等要素。
这种转变放大了暴力破解攻击和用户凭证泄露的风险。尤其是在微软环境中,身份安全框架的复杂性,以及在整体客户资源中无法确保条件访问策略的一致性应用,都将会带来额外的风险。微软安全解决方案包含多项需要管理的代理以及提供不同的防护等级的许可证,这些让人觉得复杂难懂。缺乏实时保护,以及无法直接从域控制器触发MFA,也进一步放大了风险。
设法(尤其是利用薄弱的身份安全措施)取得有效的凭证,攻击者可以伪装成合法用户。如果被入侵的账户具有高级权限,这类未经授权的访问可能会造成更加严重的后果。攻击者可以利用这些账户来植入后门并窃取数据、盗取知识产权,或执行其他恶意活动,从而对组织的运营、声誉和财务状况造成毁灭性的影响。
为了避免上述风险,组织应采取以下措施:
1
实施条件访问控制:应用条件访问策略并指定可信赖的区域。
2
强制应用MFA:设置会话时长规则,制定强密码策略并强制定期更改密码。
3
监控MFA连接:验证MFA连接,确保其来自可信赖的源或IP范围。对于无法使用Azure资源的托管标识而必须依赖静态API密钥的服务,当无法使用MFA的时候,限制在安全IP地址范围内(才能使用该服务)是至关重要的最佳实践。然而,必须明白的是,广泛信任来自数据中心和办公室的IP地址可不是安全的做法。无论网络位置如何,所有人类用户始终都应被强制启用MFA,以确保最大程度的安全性。
最佳实践2
赋予高级权限时须谨慎
特权账户拥有高级权限,可以执行普通用户不能执行的任务或操作,包括:访问敏感资源,对系统或网络进行关键更改等。拥有过多特权的账户对攻击者极具吸引力,这不仅增加了被攻破的可能性,还会增加损害风险。
攻击者经常以Azure特权身份作为目标,以便植入后门、横向移动并窃取数据。尽管IT和系统管理员需要高级权限来完成日常工作,但糟糕的账户授权安全策略会使组织面临巨大的安全风险。这些特权应收到严格的控制和监督,并且仅在严格必需且定义并实施了相关安全流程后才能分配。
服务账户加剧了这些挑战。它们的局限性让微软十分头疼。比如,难以发现并跟踪基于活动目录(Active Directory,AD)的服务账户,并且对这些账户的行为也缺乏可见性 。
为了防止攻击者滥用特权账户,组织应采取以下措施:
1
减少特权用户的数量:仅将特权角色赋予少量的用户。过度授权很常见,且经常被应用程序默认赋予。
2
遵循最小权限原则:应该仅赋予个体执行其任务所需的最小权限。应安全定期审查,以便及时降低(或取消)不必要的授权。
3
访问控制:只有可信的且真实需要的IP地址和服务才能访问云。
4
确保特权账号仅存在云端:Azure特权账号应仅限云端储存(不应被同步到域),特权账号应启用MFA并且不应被用于日常工作中(比如,电子邮件或者网页浏览)。
最佳实践3
利用密钥库或者机密管理方案储存敏感凭证
数量惊人的数字信息被无意中保存于面向公众的位置,这些信息可以被攻击者访问并用作攻击组织的武器。开发人员使用的公共代码仓库,版本控制系统,或者其它存储仓库可能会暴露当前使用的访问密钥。这一风险很高,而这些密钥被用于可信用户的云服务身份验证。暴露的访问密钥让攻击者伪装成合法用户并绕过云服务的身份验证机制。
攻击者可以利用访问密钥,以及元数据和格式化线索来甄别环境中的细节信息。暴露的访问密钥还可以从代码片段中获取,从暴露的存储库中复制,或者从被攻破的系统或日志中提取。私有化的源代码仓库也有可能被攻破,导致这些API密钥被盗。
被盗的凭证,不论他们是控制台用户名和口令或者是API密钥ID和机密ID,在众多(安全)事件中都扮演着重要角色。俄罗斯国家行为体最近对微软的入侵就清楚的表明了这一点。他们在攻击中窃取了包括密码、证书和认证密钥在内的加密信息。此事件引发了一个巨大的担忧:如果微软自己在使用其自身的技术和专业知识时都难以保证其拥有的环境的安全,微软的客户如何才能对保护自己的资产有信心呢?
为了防止这种情况发生,安全团队应该扪心自问:
我们的访问密钥保存在哪里?
我们的访问密钥嵌入在何处?
我们多久轮换(更换)一次访问密钥?
使用专用的机密管理方案来保护并严格控制对特定密钥的访问粒度,将使得攻击者或内鬼很难窃取凭证。
重要提示:将对密钥库的管理权限或者高级访问特权与单点登录(SSO)关联时应特别慎重。如果您的SSO因为MFA管理薄弱而被攻破,攻击者就可以假冒现有或新创建的特权用户,瞬间窃取您的所有凭证。对于这些应用来说,硬件令牌以及强化凭证重置管理是必不可少的。
最佳实践4
禁止对互联网无限制的外联访问
我们发现最常见的云配置错误之一是无限制的外联访问。这将允许来自内部资产的无限制通信,为外部攻击者打开通信和数据泄露的大门。
无限制的外连访问,也被称为自由网络出口(free network egress),是一种配置错误——在Azure云中,容器、主机、函数等资源被允许与互联网上的任何服务进行通信,并且缺乏监督控制。这可能是默认的配置错误,通常安全团队必须与IT或者DevOps团队合作解决此类问题。这是由于开发人员或者系统所有者并不总是完全了解工作负载可能依赖的各种外部服务——而且因为他们可能习惯了在其它工作环境中不受限制的外联访问——一些组织正在试图弥补这些漏洞。
无论在哪里,通过工作负载处理不可信数据都可能被攻击者利用。例如,攻击者可能会试图通过远程代码执行来入侵处理网络请求、排队消息或上传文件的底层软件,然后提取有效数据载荷或者建立反弹Shell 。如果不允许外联访问,他们就不能提取到有效数据包,攻击也就无法实现。然而,一旦初始的代码执行攻击成功,攻击者就将拥有该环境的全部的执行控制权限。
为了解决这个问题,组织可以采取以下措施:
1
配置规则和设置:定义云端规则以安全地控制和过滤出站流量,并部署预设的安全组作为额外的保护层。
2
应用最小权限原则:仅对有明确需要的资源和服务授予出站访问权限。
3
访问控制:仅允许可信的IP地址和真正必要的服务访问云端。
4
通过代理层添加安全性:利用代理服务器层引入额外的安全层和防御纵深。
最佳实践5
持续扫描影子IT资源
拥有运行在Azure租户中的IT资产和流程却不为安全团队所知,这种情况对组织而言十分普遍。曾经出现了多起攻击者渗透了未经授权或本该退役的Azure资源的事件。在日志记录和可见性通常很差、且审计和变更控制通常不存在的环境下,无论是国家层面的攻击者还是网络犯罪分子都十分猖獗。
解决影子IT资源(问题)的建议包括:
1
实施持续扫描:在Azure环境中部署工具和持续扫描未经授权或未知的IT资源的进程,确保所有的资产都被记录并监控。
2
设立健全的资产管理:采用全面的云端资产管理方案,能够识别、跟踪并管理所有IT资产,以阻止未经授权的访问和利用,从而强化整体安全态势。这包括Azure企业应用和服务主体以及与之相关的特权与凭证。
3
增强事件响应(能力):通过整合资产管理情报加强事件响应策略,实现对被渗透或被恶意利用的资产的快速甄别和处置。这些资产可能包括用于加密货币挖矿等活动的未经授权的虚拟机,以及用于窃取数据库、文件共享和内部文档以及电子邮件的企业应用程序和服务主体。
扩展阅读
《2023 CrowdStrike云风险报告》:了解针对云的网络攻击。
《七种容易被利用的云端配置错误》:在这本电子书中,您将了解常见的云端配置错误,并了解如何最小化攻击者利用这些错误的可能。
推荐阅读