根据云计算安全联盟(CSA)最近的一项调查,错误配置和不充分的变更控制在云计算的11大威胁中排名第二,仅次于数据泄露。CapitalOne的数据泄露事件就是一个很好的例子,这导致该公司1.06亿张信用卡的客户和申请人数据遭到泄露。网络攻击者利用开源Web应用程序防火墙(WAF)中的一个漏洞,该防火墙用作银行AWS基于云的操作的一部分。通过此漏洞,网络攻击者可以获得访问Web应用程序防火墙(WAF)的凭据以访问所有资源。不幸的是,Web应用程序防火墙(WAF)被赋予了太多的权限,也就是说,网络攻击者可以访问任何数据桶中的所有文件并读取这些文件的内容。这使网络攻击者能够访问存储敏感数据的S3存储桶。减轻这种身份滥用的最有效方法是执行最小特权原则。理想情况下,每个用户或应用程序都应仅限于所需的确切权限。实施最小特权的第一步是了解已授予用户(无论是人还是机器)或应用程序的权限。下一步是映射所有实际使用的权限。两者之间的比较揭示了权限上的差距,暴露了哪些权限应该保留,哪些权限应该被撤销。因此,必须定期连续执行此过程,以在一段时间内保持最低权限。为了说明这个过程在云平台中是如何工作的,以主流的AWS云平台为例,提供一种可用的细粒度身份和访问管理(IAM)系统。AWSIdentityandAccessManagement(IAM)是一款功能强大的工具,允许管理员安全地配置2,500多项权限,以精细控制给定资源可以执行的操作。步骤1:检查附加策略第一步是检查直接附加到用户的策略。有两种类型的策略:ManagedPolicies有两种类型:由云计算服务提供商(CSP)创建和管理的AWSManagedPolicies,以及CustomerManagedPolicies(组织可以在其AWS账户内创建和管理。与AWSCustomer-managed策略通常提供比托管策略更精细的控制。内联策略,由AWS客户创建并嵌入到身份和访问管理(IAM)身份(用户、组或角色)中。当最初创建或稍后添加时识别身份时,它们可以嵌入到身份中。第2步:分析身份和访问管理(IAM)组下一步是检查用户所属的每个身份和访问管理(IAM)组。这些还有可以间接授予给用户访问其他资源的权限。就像用户本身一样,组可以附加到托管和内联策略。第3步:映射身份和访问管理(IAM)角色现在,需要映射附加到用户的所有身份和访问管理(IAM)角色。角色是另一种类型的身份,可以使用授予特定权限的关联策略在组织的AWS账户中创建。它类似于身份和访问管理(IAM)用户,但不是与个人唯一关联,而是可以将其角色分配给需要其权限的任何人。角色通常用于授予对应用程序的访问权限。第4步:调查基于资源的策略接下来,此步骤的重点从用户策略转移到附加到AWS存储桶等资源的策略。这些策略可以授予用户直接在桶上执行操作的权限,独立于其他现有策略(直接和间接)。对所有AWS资源及其政策进行全面审查非常重要,尤其是那些包含敏感数据的资源。第5步:分析访问控制列表策略审查完成后,分析应该转移到链接到每个资源的访问控制列表(ACL)。这些类似于基于资源的策略,并允许控制其他帐户中的哪些身份可以访问该资源。由于不能使用访问控制列表(ACL)来控制同一帐户中身份的访问,因此可以跳过与用户在同一帐户中拥有的所有资源。第六步:检查权限边界这一步需要检查每个用户的权限边界。这是一项高级功能,用于定义用户、组或角色可能拥有的最大权限。换句话说,用户的权限边界定义了允许他们根据附加的策略和权限边界执行的操作。重要的是要注意权限边界不会以相同的方式影响每个策略。例如,基于资源的策略不受权限边界的约束,任何这些策略的明确拒绝都会覆盖允许。第7步:检查服务控制策略最后,有必要检查服务控制策略(SCP)。从概念上讲,这些权限类似于AWS账户中所有身份(即用户、组和角色)上定义的权限边界。服务控制策略(SCP)在AWS组织级别定义,可应用于特定账户。实施最低权限访问正如我们所见,保护云中的身份和数据是一项挑战,随着组织扩展其云计算足迹,这一挑战变得越来越复杂。在许多情况下,用户和应用程序往往会累积远远超过其技术和业务需求的权限,从而导致权限差距。通常,在AWS云平台这样的复杂环境中,确定每个用户或应用程序所需的精确权限所需的工作成本高昂且无法扩展。即使是理解授予单个用户的权限这样的简单任务也可能非常困难。为了自动化其中一些流程,AWS几年前发布了一个名为PolicySimulator的工具,它允许管理员选择任何AWS实体(即IAM用户、组或角色)和服务类型(例如关系数据库服务或S3存储桶),并自动评估特定服务的用户权限。虽然PolicySimulator是一个很棒的工具,但它还不是很成熟。例如,策略模拟器不会检查用户可能担任的所有角色及其策略(第3步)。它还不考虑访问控制列表(ACL)(第5步)或权限边界(第6步)。在大多数情况下,组织被迫执行手动策略管理或编写专有脚本。可以看出,在云计算环境中管理身份和访问以实施最小权限策略是一项复杂、劳动密集型且成本高昂的工作。由于该学科仍处于起步阶段,云平台提供商缺乏可靠的原生工具。通常情况下,第三方解决方案正在填补市场空白。
