根据 Google Cloud 的2023年第三季度威胁范围报告,超过 69% 的云泄露是由凭证问题引起的,包括弱密码、无密码和暴露的 API。因凭据泄漏导致的客户安全事件经常不仅对生产业务造成影响同时还伴随着大量的费用损失。


服务帐户是谷歌云管理中的重要工具。应用程序通过使用服务账号密钥来调用 API,并通过赋予服务账号 IAM 权限来进行管理。所以他们经常会成为攻击者在云环境中建立初始访问的首要目标。


“组织中近 65% 的警报与服务帐户的危险使用有关。这些帐户具有关联的权限,如果受到损害,可能会导致攻击者获得持久性,并随后使用此访问权限在云环境中进行权限升级。68% 的服务帐户角色过于宽松,服务帐户密钥经常被发现硬编码在公共存储库中,并且在 42% 的泄露关键事件中,谷歌试图联系项目所有者后,项目所有者没有采取纠正措施。”

——Google 2023 Q1 威胁视野报告


限制密钥生成


假设您拥有管理组织策略的必要权限,这些策略是那么可以在云工程师开始创建和使用资源之前为他们设置更高层级的限制,使用约束策略,使得无权限人员无法在后续创建新的服务账户密钥。


您可以在 Google Cloud 控制台中,选择开启策略。



随后,每当用户尝试创建服务帐户密钥时,都会向用户显示以下错误:




监控组织策略更改和服务帐户密钥创建的操作


现在服务帐户密钥创建已被禁用,下一步是确保没有人更改此策略并秘密创建新的服务帐户密钥。您可以使用 Google Cloud Operations Suite 查找政策更改的证据。并且在后续发生安全问题的时候也可以通过该套件产品来回溯日志证据。接下来的两个示例假设所有日志都存储在集中式 Google Cloud 项目中,并且您拥有查询日志和设置警报所需的权限。


访问日志浏览器。使用“操作”工具栏中的“优化范围”按钮,然后选择代表组织集中日志位置的范围。


使用以下查询查找正在更改的“iam.disableServiceAccountKeyCreation”组织约束的实例:


protoPayload.methodName="google.cloud.orgpolicy.v2.OrgPolicy.CreatePolicy" AND"iam.disableServiceAccountKeyCreation" AND  protoPayload.response.spec.reset="true"




查找服务帐户密钥创建的操作


同样访问日志浏览器。使用“操作”工具栏中的“优化范围”按钮,然后选择代表组织集中日志位置的范围。使用以下查询查找新服务帐户密钥的操作记录:


resource.type="service_account" ANDlog_id("cloudaudit.googleapis.com/activity") ANDprotoPayload.methodName="google.iam.admin.v1.CreateServiceAccountKey" AND NOTseverity=ERROR




创建告警并快速响应


为告警命名并确认告警中包含的日志与日志浏览器中的查询匹配。单击“预览日志”以确认条目是否合适。设置通知频率和自动关闭持续时间。


选择通知渠道。可通过邮件,电话以及可配合使用pub/sub进行多种聊天工具(如飞书,微信等)的提醒。下面是通过电子邮件发送的警报示例,列出了创建服务帐户密钥后触发的事件。




后续


用户账号安全一直是 Google Cloud 密切关注的重要环节之一。因此,Google Cloud 也将于6月16日推出新的保护措施。该措施集成了多项程序(包括 GitHub 扫描程序),用于自主识别公开泄露的服务账号私钥。一旦发现密钥泄露,会立即主动停用该密钥,并快速按照用户自定义的措施采取下一步行动。


1. 提前选择启用,具体方法是将 IAM.serviceAccountKeyExposureResponse 限制条件设置为 DISABLE KEY,以立即启用保护;

2. 随时选择停用,具体方法是将 IAM.serviceAccountKeyExposureResponse 限制条件设置为 WAIT FOR ABUSE,以停用保护;

3. 不执行任何操作,在这种情况下,Google 将于 2024年6月16日代表您启用保护。


同时,WebEye 也将为您提供全套的云上资源安全检查服务,帮助客户及时发现云上环境的安全漏洞,并提供在风险发生时的及时处理方案和后续证据溯源。


返回全部