如何使用CureIAM自动清理GCP基础设施中的IAM账号权限

admin 2024年1月18日22:17:57评论12 views字数 2784阅读9分16秒阅读模式

如何使用CureIAM自动清理GCP基础设施中的IAM账号权限

 关于CureIAM 

CureIAM是一款针对GCP基础设施的账号权限安全检查与管理工具,该工具易于使用,是一个功能强大且易于使用的可靠高性能引擎。在该工具的帮助下,广大研究人员能够以自动化的形式在GCP云基础设施上实践最低权限原则。

CureIAM可以允许DevOps和安全团队快速清理GCP基础设施中授予超过所需权限的帐户,并且整个过程都能够以自动化的形式实现。

如何使用CureIAM自动清理GCP基础设施中的IAM账号权限

 功能介绍 

1、配置驱动:CureIAM的整个工作流都是配置驱动的;

2、可扩展:CureIAM被设计为功能可扩展的,得益于其插件系统、多进程和多线程设计模式;

3、插件驱动:CureIAM代码库完全面向插件,这意味着我们可以直接安装现有插件,也可以创建新插件来添加更多功能;

4、操作跟踪:CureIAM采取的每一个操作都会被记录下来,并用于后续的安全审计活动;

5、评分和执行:CureIAM会对每一条操作建议使用各种参数进行评分;

 工具下载 

由于该工具基于Python开发,因此我们首先需要在本地设备上安装并配置好Python环境。在运行该工具之前,请确保下列路径之一有配置文件存在:/etc/CureIAM.yaml、~/.CureIAM.yaml、~/CureIAM.yaml或CureIAM.yaml,以及项目目录中是否包含一个服务账号JSON文件(cureiamSA.json)。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

$ git clone https://github.com/gojek/CureIAM.git

(向右滑动,查看更多)

然后切换到项目目录中,使用pip工具和requirements.txt文件安装该工具所需的其他依赖组件:

$ pip install -r requirements.txt

 工具使用 

下列命令即可直接运行CureIAM:

$ python -m CureIAM -n

设置CureIAM进程为计划任务:

$ python -m CureIAM

查看工具帮助信息:

$ python -m CureIAM --help

除此之外,CureIAM还可以在Docker环境中运行,或在K8s集群部署下用于CI/CD:

# 从Dockerfile构建Docker镜像$ docker build -t cureiam .# 以计划任务运行镜像$ docker run -d cureiam# 运行镜像$ docker run -f cureiam -m cureiam -n

 工具配置 

CureIAM.yaml配置文件是CureIAM引擎的核心,引擎所做的所有操作都基于该配置文件管道过来的配置信息实现。

首先,我们需要配置第一部分,即日志配置和计划任务配置:

logger:    version: 1    disable_existing_loggers: false    formatters:      verysimple:        format: >-            [%(process)s]            %(name)s:%(lineno)d - %(message)s        datefmt: "%Y-%m-%d %H:%M:%S"    handlers:      rich_console:        class: rich.logging.RichHandler        formatter: verysimple      file:        class: logging.handlers.TimedRotatingFileHandler        formatter: simple        filename: /tmp/CureIAM.log        when: midnight        encoding: utf8        backupCount: 5    loggers:      adal-python:        level: INFO    root:      level: INFO      handlers:        - rich_console        - file  schedule: "16:00"

(向右滑动,查看更多)

下一部分需要配置不同模块,即插件部分,这里我们可以声明需要使用的不同插件:

plugins:    gcpCloud:      plugin: CureIAM.plugins.gcp.gcpcloud.GCPCloudIAMRecommendations      params:        key_file_path: cureiamSA.json    filestore:      plugin: CureIAM.plugins.files.filestore.FileStore    gcpIamProcessor:      plugin: CureIAM.plugins.gcp.gcpcloudiam.GCPIAMRecommendationProcessor      params:        mode_scan: true        mode_enforce: true        enforcer:          key_file_path: cureiamSA.json          allowlist_projects:            - alpha          blocklist_projects:            - beta          blocklist_accounts:            - [email protected]          allowlist_account_types:            - user            - group            - serviceAccount          blocklist_account_types:            - None          min_safe_to_apply_score_user: 0          min_safe_to_apply_score_group: 0          min_safe_to_apply_score_SA: 50    esstore:      plugin: CureIAM.plugins.elastic.esstore.EsStore      params:        # Change http to https later if your elastic are using https        scheme: http        host: es-host.com        port: 9200        index: cureiam-stg        username: security        password: securepassword

(向右滑动,查看更多)

每一个插件的声明格式如下:

plugins:    <plugin-name>:      plugin: <class-name-as-python-path>      params:        param1: val1        param2: val2

(向右滑动,查看更多)

插件定义完成之后,就是要定义用于安全审计的管道了:

audits:    IAMAudit:      clouds:        - gcpCloud      processors:        - gcpIamProcessor      stores:        - filestore        - esstore

最后,让CureIAM运行之前定义的安全审计任务即可:

run:- IAMAudits

 工具运行截图 

如何使用CureIAM自动清理GCP基础设施中的IAM账号权限

 许可证协议 

本项目的开发与发布遵循Apache-2.0开源许可证协议。

 项目地址

CureIAMhttps://github.com/gojek/CureIAM

原文始发于微信公众号(FreeBuf):如何使用CureIAM自动清理GCP基础设施中的IAM账号权限

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月18日22:17:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   如何使用CureIAM自动清理GCP基础设施中的IAM账号权限https://cn-sec.com/archives/2408224.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息