开源工具系列1:Cloud Custodian

news2024/11/19 21:30:51

对云安全的检测中,最重要的一个组成部分就是对配置的验证,今天来介绍一个开源的规则检测引擎项目,Cloud Custodian。

1716b7fad27e8557d8524d069511e655.jpeg

一、Cloud Custodian 是什么

  • Cloud Custodian 是用于管理公有云帐户和资源的规则引擎。规则策略用简单的 YAML 格式,使用户能够指定资源类型(EC2、ASG、Redshift、CosmosDB、PubSub 主题)的策略,并由过滤器和操作的词汇表构建。
  • 官方的 Cloud Custodian 可用于管理 AWS、Azure 和 GCP 环境,我们在此基础上新增了阿里云、华为云、腾讯云、火山云、金山云、百度云、青云、七牛云、UCloud、OpenStack、VMware vSphere等。

二、Cloud Custodian 项目结构

d6b15d6842ab2dabd8520d0627b2674e.jpeg

Custodian 特征

  • 对公共云服务和资源的全面支持,具有丰富的操作和过滤器库,可用于构建策略。
  • 支持对具有嵌套布尔条件的资源进行任意过滤。
  • 试运行任何政策,看看它会做什么。
  • 自动配置无服务器函数和事件源(AWS CloudWatchEvents、AWS Config Rules、Azure EventGrid、GCP AuditLog 和 Pub/Sub 等)
  • 与策略匹配的资源上的云提供商本机指标输出
  • 将结构化输出到云原生对象存储中,其资源与策略相匹配。
  • 智能缓存使用以最小化 api 调用。
  • 支持多账户/订阅/项目使用。
  • 经过实战测试 - 在一些非常大的云环境中进行生产。

三、Cloud Custodian 快速安装

$ python3 -m venv custodian
$ source custodian/bin/activate
(custodian) $ pip install c7n
(custodian) $ pip install -e tools/c7n_aliyun
(custodian) $ pip install -e tools/c7n_huawei
(custodian) $ pip install -e tools/c7n_tencent
(custodian) $ pip install -e tools/c7n_baidu

四、Cloud Custodian 用法

使用 Cloud Custodian 的第一步是编写包含您要运行的策略的 YAML 文件。每个策略指定策略将运行的资源类型,一组控制资源将受此策略影响的过滤器,策略对匹配资源采取的操作,以及控制策略执行方式的模式。

最好的入门指南是云提供商特定的教程。

作为快速浏览,下面是 AWS 资源的一些示例策略

  1. 将强制所有 S3 存储桶都没有启用跨账户访问。
  2. 将终止任何新启动的没有加密 EBS 卷的 EC2 实例。
  3. 将在四天内停止任何没有跟随标签“Environment”、“AppId”和“OwnerContact”或“DeptID”的 EC2 实例。
policies:
  - name: s3-cross-account
    description: |
      Checks S3 for buckets with cross-account access and
      removes the cross-account access.
    resource: aws.s3
    region: us-east-1
    filters:
      - type: cross-account
    actions:
      - type: remove-statements
        statement_ids: matched

  - name: ec2-require-non-public-and-encrypted-volumes
    resource: aws.ec2
    description: |
      Provision a lambda and cloud watch event target
      that looks at all new instances and terminates those with
      unencrypted volumes.
    mode:
      type: cloudtrail
      role: CloudCustodian-QuickStart
      events:
      - RunInstances
    filters:
      - type: ebs
        key: Encrypted
        value: false
    actions:
      - terminate

  - name: tag-compliance
    resource: aws.ec2
    description: |
      Schedule a resource that does not meet tag compliance policies to be stopped in four days. Note a separate policy using the`marked-for-op` filter is required to actually stop the instances after four days.
    filters:
      - State.Name: running
      - "tag:Environment": absent
      - "tag:AppId": absent
      - or:
        - "tag:OwnerContact": absent
        - "tag:DeptID": absent
    actions:
      - type: mark-for-op
        op: stop
        days: 4

您可以使用以下命令使用示例策略验证、测试和运行 Cloud Custodian

# Validate the configuration (note this happens by default on run)
$ custodian validate policy.yml

# Dryrun on the policies (no actions executed) to see what resources
# match each policy.
$ custodian run --dryrun -s out policy.yml

# Run the policy
$ custodian run -s out policy.yml

您也可以通过 Docker 运行 Cloud Custodian

# Download the image
$ docker pull cloudcustodian/c7n
$ mkdir output

# Run the policy
#
# This will run the policy using only the environment variables for authentication
$ docker run -it \
-v $(pwd)/output:/home/custodian/output \
-v $(pwd)/policy.yml:/home/custodian/policy.yml \
--env-file <(env | grep "^AWS\|^AZURE\|^GOOGLE") \
cloudcustodian/c7n run -v -s /home/custodian/output /home/custodian/policy.yml

# Run the policy (using AWS's generated credentials from STS)
#
# NOTE: We mount the ``.aws/credentials`` and ``.aws/config`` directories to
# the docker container to support authentication to AWS using the same credentials
# credentials that are available to the local user if authenticating with STS.

$ docker run -it \
-v $(pwd)/output:/home/custodian/output \
-v $(pwd)/policy.yml:/home/custodian/policy.yml \
-v $(cd ~ && pwd)/.aws/credentials:/home/custodian/.aws/credentials \
-v $(cd ~ && pwd)/.aws/config:/home/custodian/.aws/config \
--env-file <(env | grep "^AWS") \
cloudcustodian/c7n run -v -s /home/custodian/output /home/custodian/policy.yml

五、项目地址

  • Github 项目地址:https://github.com/hummerrisk/cloud-custodian/tree/hummerrisk
  • Cloud Custodian 官方文档:https://cloudcustodian.io/docs/index.html

HummerRisk 对 Cloud Custodian的操作进行可视化的处理,更加的便捷和简单,并且增强了多个方面的能力,如果想体验相关的能力,我们建议直接入手HummerRisk 。

关于HummerRisk

79fbec42b53cb665fb483154e17773fd.jpeg

HummerRisk 是开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题,核心能力包括混合云的安全治理和K8S容器云安全检测。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/110712.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【TypeScript】class类型讲解

目录 class类型 构造函数 class类的继承 可见修饰符 只读修饰符 class类型 TypeScript支持ES引入的class关键字&#xff0c;并为其添加了类型注解和其他语法(例如&#xff1a;可见性修饰符)。 class person {// 声明初始值&#xff0c;可省略类型注解(TS类型推论为strin…

艾美捷超氧化物歧化酶检测试剂盒,活性检测说明

细胞和细胞外环境中大量的超氧化物歧化酶&#xff08;SOD&#xff09;对于预防与氧化应激相关的疾病至关重要。SOD突变约占家族性肌萎缩侧索硬化症&#xff08;ALS&#xff09;病例的20%。SOD在预防其他神经退行性疾病&#xff08;如阿尔茨海默氏症、帕金森氏症和亨廷顿舞蹈症&…

美丽田园ipo上市,它的底气从何而来?

美丽田园医疗健康产业有限公司(简称美丽田园)&#xff0c;中国最大的传统美容服务提供商&#xff0c;成立近三十年来&#xff0c;一直致力于美与健康的发展&#xff0c;坚持系统化标准化管理和美与健康一站式服务&#xff0c;为顾客提供舒适的美与健康新体验。近日&#xff0c;…

Matter理论介绍-通用-1-04:桥接器-其他功能

【源码、文档、软件、硬件、技术交流、技术支持&#xff0c;入口见文末】 【所有相关IDE、SDK和例程源码均可从群文件免费获取&#xff0c;免安装&#xff0c;解压即用】 持续更新中&#xff0c;欢迎关注&#xff01; 一、桥接器的配置流程 我们已经知道&#xff0c;桥接器和…

【QT】PySide6安装与运用

一、什么是PyQt 简单来说&#xff0c;PyQt就是用Python重构的Qt&#xff0c;一个强大的&#xff0c;创建跨平台GUI(Graphical User Interface)的工具包。开发者为Phil Thompson。 二、PySide与PyQt PyQt和PySide都是基于Python语言对Qt的实现&#xff0c;PyQt的推出时间要比…

paddle nlp taskflow 全家桶 包括代码生成与AIGC图片生成 一起探索paddle nlp 开包即用的能力吧

paddle nlp作为自然语言处理领域的全家桶&#xff0c;具有很多的不错的开箱即用的nlp能力。今天我们来一起看看基于paddle nlp中taskflow开箱即用的能力有哪些。 第一步先升级aistudio中的paddlenlp 保持最新版本。 pip install -U paddlenlpLooking in indexes: https://pypi…

ERP外网访问,快解析助力企业远程办公

ERP系统是现代信息技术和先进管理经验的有效结合&#xff0c;实现对企业经营活动的自动、完整的记录&#xff0c;替代重复劳动&#xff0c;对企业人力资源、物流、资金流、票据流和信息流等的科学管理&#xff0c;实现业务管理数据和财务数据高度统一&#xff0c;实现对企业业务…

论文导读 | 正则路径查询

前言 正则路径查询&#xff08;Regular Path Query, RPQ&#xff09;为带标签的图数据上重要的查询类型之一&#xff0c;旨在找出由至少一条满足条件的路径相连接的结点对&#xff0c;其中需满足的条件以正则表达式表达。当前对 RPQ 的研究以提升查询效率为目的&#xff0c;主…

php项目管理系统 。集产品管理、项目管理、质量管理、文档管理、 组织管理和事务管理于一体,是一款专业的研发项目管理软件

介绍 一款国产的项目管理软件。它集产品管理、项目管理、质量管理、文档管理、 组织管理和事务管理于一体&#xff0c;是一款专业的研发项目管理软件&#xff0c;完整地覆盖了项目管理的核心流程。 管理思想注重实效&#xff0c;功能完备丰富&#xff0c;操作简洁高效&#x…

【Python】基础知识(列表,元组)

目录列表和元组列表创建列表访问下标切片操作遍历列表元素新增元素查找元素删除元素连接列表元组写在前面&#x1f34e;&#xff1a;码字不易&#xff0c;如果对你有帮助的话&#xff0c;给个三连或者关注一下吧&#x1f370;&#xff0c;感谢支持&#xff01;&#x1f4e3;列表…

操作手册(GB8567——88)基于协同的在线表格forture-sheet

操作手册&#xff08;GB8567——88&#xff09; 1引言 1.1编写目的 为了帮助用户更好的上手本系统&#xff0c;加快用户对forture-sheet在线表格的快速入门&#xff0c;本操作手册详细介绍使用forture-sheet的部分基础操作以及注意细节。 1.2前景 待开发系统的名称&#x…

Docker+Jenkins+Gitee+Maven构建后台jar包后通过命令备份、替换、重启docker-compose编排的java服务

场景 docker-compose入门以及部署SpringBootVueRedisMysql(前后端分离项目)以若依前后端分离版为例&#xff1a; docker-compose入门以及部署SpringBootVueRedisMysql(前后端分离项目)以若依前后端分离版为例_霸道流氓气质的博客-CSDN博客 在上面使用docker-compose编排的ja…

Keil uVision5软件的操作与编写基础(入门)

目录 &#x1f46c;一、如何新建一个空白文档 &#x1f46c;二、程序编写 &#x1f46c;三、编译程序 Keil uVision5是一款编写单片机程序的必备软件。其图标为&#xff1a; 一、如何新建一个空白文档 1.打开Keil uVision5&#xff0c;将会出现工作界面。如图所示&#xff1a;…

Android .obb 详解

1.简介 在Android APP Bundle(aab)之前&#xff0c;上架Google Play 项目都是打包成APK上传&#xff0c;但是Google 对 APK大小是有限制的&#xff0c;刚开始是50M,后来扩展到100M,但是有些APK资源比较多&#xff0c;可能会大于100M, 基于这种情况&#xff0c;Google 允许上传…

音频怎么转换成文字?推荐这几个转文字的方法给你

在平时的工作中大家通常会先利用录音工具将会议内容录制下来&#xff0c;结束以后再根据录音来整理会议纪要&#xff0c;但一边听音频一边整理的操作既麻烦又费时间&#xff0c;还有可能会因为讲述的人语速快&#xff0c;而漏掉一些内容&#xff0c;从而导致效率不高&#xff0…

上海、广州、北京德国签证申请中心即将重新启动

德国签证中心关闭2年后&#xff0c;近日传来了好消息&#xff0c;上海、广州、北京德国签证申请中心即将重新启动&#xff0c;知识人网小编根据德国驻华领馆公布的信息整理并解读相关签证情况。 目前中国公民办理赴德签证&#xff0c;可以通过两种方式进行申请&#xff1a; 1.…

算法学习指南:什么是算法?

解释算法的实现逻辑就像讲故事一样。算法会在普通的解决方案中引入新颖的思路或进行某种创新。在本文中&#xff0c;我们将讨论一个简单问题的几个解决方案&#xff0c;解释影响算法性能的一些因素。在这个过程中&#xff0c;我将介绍一些用于分析算法性能的技巧。这些技巧与算…

Spring data JPA--02

Spring data JPA spirng data jpa是spring提供的一套简化JPA开发的框架&#xff0c;按照约定好的规则进行**【方法命名】去写dao层接口&#xff0c;就可以在不写接口实现的情况下&#xff0c;实现对数据库的访问和操作。同时提供了很多除了CRUD之外的功能&#xff0c;如分页、…

Kubectl 使用详解——k8s陈述式资源管理

目录 一、kubectl 简介 二、kubectl 的使用 1.基础用法 &#xff08;1&#xff09;配置kubectl自动补全 &#xff08;2&#xff09;查看版本信息 &#xff08;3&#xff09;查看资源对象信息 &#xff08;4&#xff09;查看集群信息 &#xff08;5&#xff09;查看日…

刷爆力扣之 Z 字形变换

刷爆力扣之 Z 字形变换 HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&#xff0c…