CSPM云安全配置管理CSPM(云安全动态管理)

CSPM云安全配置管理CSPM(云安全动态管理)

CSPM能够对基础设施安全配置进行分析与管理。这些安全配置包括账号特权、网络和存储配置、以及安全配置(如加密设置)。如果发现配置不合规,CSPM会采取行动进行修正。如图6所示,应该将CSPM视为一个持续改进和适应云安全态势的过程,其目标是降低攻击成功的可能性,以及在攻击者获得访问权限的情况下降低发生的损害。

由于云基础架构始终处于变化之中,因此,CSPM策略应该是在云应用的整个生命周期中进行持续评估和改进的一个策略,从研发开始一直延伸到运维(图6中从左到右),并在需要时做出响应和改进。同样,由于不断提出新的云功能,不断颁发新法规,云使用安全的策略也在不断变化。图6的顶部显示,CSPM策略应不断发展并适应新的情况、不断发展的行业标准和外部威胁情报,并根据在开发和运维中观察到的风险进行改进。

CloudSploit by Aqua-云安全扫描

Quick Start

$gitclonegit@github.com:cloudsploit/scans.git$cdscans$ npm install$ ./index.js -h

Documentation

Background

部署选项Self-Hosted托管在Aqua Wave

Installation

配置Amazon Web Services Microsoft AzureGoogle Cloud PlatformOracle云基础设施CloudSploit配置文件凭据文件AWS Azure GCP Oracle OCI环境变量

Running

CLI Options

Compliance

HIPAA

PCI

CIS Benchmarks

输出格式控制台输出忽略传递结果CSV JSON JUnit XML集合输出

Suppressions

运行单个插件

Architecture

编写插件

Other Notes

Background

CloudSploit by Aqua是一个open-source项目,旨在检测云基础设施帐户中的安全风险,包括:Amazon Web Services(AWS)、Microsoft Azure、Google Cloud Platform(GCP)、Oracle云基础设施(OCI)和GitHub。这些脚本旨在返回一系列潜在的错误配置和安全风险。

Deployment Options

CloudSploit有两种部署选项:

Self-Hosted

按照下面的说明,只需几个简单的步骤就可以在您的机器上部署open-source版本的CloudSploit。

在Aqua Wave举办

在Aqua Wave上托管的CloudSploit的商业版本。今天试试水波吧!

Installation

确保已安装NodeJS。如果没有,从这里安装。

$ git clone git@github.com:cloudsploit/scans.git$ npm install

Configuration

CloudSploit需要read-only权限才能访问您的云帐户。按照以下指南设置此访问权限:

Amazon Web Services

Microsoft Azure

Google Cloud Platform

Oracle Cloud Infrastructure

对于AWS,您可以直接运行CloudSploit,它将使用默认的AWS凭证链检测凭证。

CloudSploit Config File

CloudSploit配置文件允许您通过以下方式传递云提供商凭据:

文件系统上的JSON文件

Environment variables

Hard-coding(不推荐)

首先复制示例配置文件:

$ cp config_example.jsconfig.js

通过取消注释正在测试的云提供程序的相关部分来编辑配置文件。每个云既有credential_file选项,也有内联选项。例如:

azure: {// OPTION 1: If using a credential JSON file, enter the path below// credential_file: '/path/to/file.json',// OPTION 2: If using hard-coded credentials, enter them below// application_id: process.env.AZURE_APPLICATION_ID || '',// key_value: process.env.AZURE_KEY_VALUE || '',// directory_id: process.env.AZURE_DIRECTORY_ID || '',// subscription_id: process.env.AZURE_SUBSCRIPTION_ID || ''}

Credential Files

如果使用credential_file选项,请指向文件系统中符合所使用云的正确格式的文件。

AWS

{"accessKeyId":"YOURACCESSKEY","secretAccessKey":"YOURSECRETKEY"}

Azure

{"ApplicationID":"YOURAZUREAPPLICATIONID","KeyValue":"YOURAZUREKEYVALUE","DirectoryID":"YOURAZUREDIRECTORYID","SubscriptionID":"YOURAZURESUBSCRIPTIONID"}

GCP

注意:对于GCP,您可以直接从GCP控制台生成一个JSON文件,您不应该编辑它。

{"type":"service_account","project":"GCPPROJECTNAME","client_email":"GCPCLIENTEMAIL","private_key":"GCPPRIVATEKEY"}

Oracle OCI

{"tenancyId":"YOURORACLETENANCYID","compartmentId":"YOURORACLECOMPARTMENTID","userId":"YOURORACLEUSERID","keyFingerprint":"YOURORACLEKEYFINGERPRINT","keyValue":"YOURORACLEKEYVALUE",}

Environment Variables

CloudSploit支持传递环境变量,但必须首先取消对config.js文件中与正在扫描的云提供程序相关的部分的注释。

然后可以传递每个部分中列出的变量。例如,对于AWS:

{access_key: process.env.AWS_ACCESS_KEY_ID ||'',  secret_access_key: process.env.AWS_SECRET_ACCESS_KEY ||'',  session_token: process.env.AWS_SESSION_TOKEN ||'',}

Running

要运行标准扫描,显示所有输出和结果,只需运行:

$ ./index.js

CLI Options

CloudSploit支持许多选项来定制运行时。一些流行的选项包括:

AWS GovCloud支持:--govcloud

AWS中国支持:--china

保存原始云提供程序响应数据:--collection=file.json

忽略传递(确定)结果:--ignore-ok

如果找到non-passing结果,则使用non-zero代码退出:--exit-code这对于CI/CD系统是一个不错的选择

将输出从表更改为原始文本:--console=text

有关更多输出选项,请参见下面的输出格式。

Click for a full list of options

Compliance

CloudSploit支持将其插件映射到特定的法规遵从性策略。要运行符合性扫描,请使用--compliance标志。例如:

$ ./index.js--compliance=hipaa$ ./index.js--compliance=pci

可以同时运行多种合规模式:

$ ./index.js--compliance=cis1 --compliance=cis2

CloudSploit目前支持以下合规映射:

HIPAA

$ ./index.js--compliance=hipaa

HIPAA扫描将CloudSploit插件映射到1996年的健康保险可移植性和责任法案。

PCI

$ ./index.js--compliance=pci

PCI扫描将CloudSploit插件映射到支付卡行业数据安全标准。

CIS Benchmarks

$ ./index.js--compliance=cis$ ./index.js--compliance=cis1$ ./index.js--compliance=cis2

一级和二级控制都支持CIS基准测试。传递--compliance=cis将同时运行级别1和级别2控件。

Output Formats

CloudSploit支持多种格式的输出,供其他工具使用。如果不另外指定,CloudSploit将输出作为表写入标准输出(控制台)。

注意:您可以传递多种输出格式并组合选项以进行进一步的自定义。例如:

# Print a table to the console and save a CSV file$ ./index.js --csv=file.csv --console=table# Print text to the console and save a JSON and JUnit file while ignoring passing results$ ./index.js --json=file.json --junit=file.xml --console=text --ignore-ok

Console Output

默认情况下,CloudSploit结果以表格格式(带颜色)打印到控制台。您可以通过运行以下命令覆盖此选项并改用纯文本:

$ ./index.js --console=text

或者,您可以通过运行以下命令来完全抑制控制台输出:

$ ./index.js --console=none

Ignoring Passing Results

通过传递--ignore-ok命令行参数,可以忽略返回OK状态的输出结果。

CSV

$ ./index.js--csv=file.csv

JSON

$ ./index.js--json=file.json

JUnit XML

$ ./index.js--junit=file.xml

Collection Output

CloudSploit以JSON格式保存从云提供者api查询的数据,这些数据可以与其他文件一起保存,以用于调试或历史目的。

$ ./index.js--collection=file.json

Suppressions

可以通过以下格式传递--suppress标志(支持多个选项)来抑制结果:

--suppresspluginId:region:resourceId

For example:

# Suppress all results for the acmValidation plugin$ ./index.js --suppressacmValidation:*:*# Suppress all us-east-1 region results$ ./index.js --suppress *:us-east-1:*# Suppress all results matching the regex "certificate/*" in all regions for all plugins$ ./index.js --suppress *:*:certificate/*

运行单个插件

如果只想运行一个插件,可以使用--plugin标志。

$ ./index.js--plugin acmValidation

Architecture

CloudSploit分两个阶段工作。首先,它查询云基础设施api以获取关于您帐户的各种元数据,即“收集”阶段。一旦收集到所有必要的数据,结果将被传递到“扫描”阶段。扫描使用收集的数据来搜索潜在的错误配置、风险和其他安全问题,这些都是最终的输出。

编写插件

请参阅我们的贡献指南和编写CloudSploit插件的完整指南。

Other Notes

有关Aqua Wave SaaS产品、AWS安全策略等的其他详细信息,请单击此处。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349