当前位置: 首页 > article >正文

【亚马逊云】基于 AWS 使用CloudFormation快速部署 VMClarity 环境

文章目录

    • 一、VMClarity 介绍
    • 二、VMClarity组件
    • 三、部署 VMClarity 架构图
    • 四、实验先决条件
    • 五、操作步骤
      • 5.1 下载 VMClarity 部署模板
      • 5.2 部署 VMClarity 堆栈
      • 5.3 打开到 VMClarity 服务器的 SSH 隧道
      • 5.4 访问 VMClarity UI
      • 5.5 Assets资产自动发现
    • 六、案例:使用 VMClarity 检测云安全漏洞
      • 6.1 导航至扫描菜单栏
      • 6.2 创建扫描配置名称和范围
      • 6.3 勾选扫描类型
      • 6.4 配置扫描时间
      • 6.5 高级设置
      • 6.6 检查漏洞扫描结果
    • 七、清除资源
    • 八、参考链接

一、VMClarity 介绍

VMClarity是一个开源工具,用于无代理检测和管理虚拟机软件物料清单 (SBOM) 和云安全威胁,例如漏洞、漏洞利用、恶意软件、rootkit、错误配置和泄露的机密。

VMClarity具有针对主要云提供商(包括 AWS、Azure 和 GCP)的 VM 扫描功能。此外,VMClarity 还可用于扫描 Docker 资产。

由于 VMClarity 会拍摄虚拟机的快照并根据这些快照启动单独的虚拟机,因此无需在要扫描的资产虚拟机上安装软件。安全扫描器部署在新创建的虚拟机上,并将结果报告给 OpenClarity API。

如果您想开始扫描,可以通过 Web UI 或 VMClarity 进行CLI . 可以将扫描配置为仅运行一次,或者像 cron 作业一样重复运行。

image-20240731131956899

二、VMClarity组件

API Server:用于管理 VMClarity 系统中所有对象的 VMClarity API。这是系统中唯一与数据库对话的组件。

Orchestrator:协调和管理 VMClarity 扫描配置、扫描和资产扫描的生命周期。Orchestrator 中有一个可插入的“提供程序”,它将 Orchestrator 连接到要扫描的环境,并抽象资产发现、VM 快照以及扫描仪 VM 的创建。(注意:目前唯一受支持的提供程序是 AWS,其他超大规模提供商正在规划中)

UI Backend:一个单独的后端 API,它将一些处理从浏览器卸载到基础设施,以处理和过滤更靠近源的数据。

UI Webserver:提供UI静态文件的服务器。

DB:存储来自 API 的 VMClarity 对象。支持的选项是 SQLite 和 Postgres。

Scanner Helper services:这些服务为 VMClarity CLI 提供支持,以减轻每个扫描仪需要完成的工作,例如从各种数据库源下载最新的漏洞或恶意软件签名。今天包含的组件包括:

  • grype-server:围绕 grype 漏洞扫描器的 rest API 包装器
  • trivy-server:Trivy 漏洞扫描器服务器
  • exploitDB 服务器:包装 Exploit DB CVE 以利用映射逻辑的测试 API
  • freshclam-mirror:ClamAV 恶意软件签名的镜像

这些组件是容器化的,可以通过多种不同的方式部署。例如,我们的 cloudformation 安装程序使用专用 AWS 虚拟私有云 (VPC) 中的 docker 在 VM 上部署 VMClarity。

部署 VMClarity 服务器实例并创建扫描配置后,VMClarity 将在扫描配置定义的扫描范围内发现 VM 资源(例如按区域、实例标签和安全组)。创建资产列表后,将拍摄资产快照,并使用快照作为附加卷启动新的扫描仪 VM。在扫描仪 VM 中运行的 VMClarity CLI 将对已安装的快照执行配置的分析,并将结果报告给 VMClarity API。然后,VMClarity 后端将这些结果处理为发现结果。

在这里插入图片描述

三、部署 VMClarity 架构图

这个架构图展示了一个典型的AWS VPC设置,结合公有子网和私有子网来提高安全性和资源访问的灵活性。公有子网中的VmClarityServer可以直接与互联网通信,而私有子网中的资源需要通过NAT网关来访问外部网络,从而保护其不被外部直接访问。

在这里插入图片描述

四、实验先决条件

  • 已拥有AWS账号;

  • 已创建EC2密钥对;

五、操作步骤

5.1 下载 VMClarity 部署模板

模板下载链接:vmclarity/installation/aws/VmClarity.cfn at main · openclarity/vmclarity

5.2 部署 VMClarity 堆栈

依次点击选择现有模板——上传模板文件——选择文件(vmclarity.cfn)——下一步

image-20240729103332245

  1. 输入堆栈的名称。
  2. 选择InstanceType(默认t2.large为 VMClarity 服务器和扫描仪虚拟机)。
  3. 在KeyName字段中指定 EC2 实例的 SSH 密钥。将需要此密钥来连接到 VMClarity。
  4. 单击下一步,然后滚动到屏幕底部,并选中我确认…
  5. 单击**“提交”**。

image-20240729104339368

输入标签name:VMClarity

image-20240729104451447

查看并创建。

image-20240729104606616

等待部署完成。

image-20240729104628926

部署完成。

image-20240729111038024

image-20240729110642345

成功部署堆栈后,从 Outputs 选项卡复制 VMClarity SSH 地址。

image-20240729111004361

5.3 打开到 VMClarity 服务器的 SSH 隧道

ssh -N -L 8080:localhost:80 -i  "<Path to the SSH key specified during install>" ubuntu@<VmClarity SSH Address copied during install>

image-20240729110853501

5.4 访问 VMClarity UI

在浏览器中打开 VMClarity UI,输入 http://localhost:8080/。仪表板将打开。

image-20240730123323572

5.5 Assets资产自动发现

image-20240729142145541

image-20240729142253172

当在AWS其他区域中,新增一台EC2实例,我们可以看到资产同步到控制面板中。

image-20240730103943346

image-20240730104012201

image-20240730104220528

六、案例:使用 VMClarity 检测云安全漏洞

使用 VMClarity 检测云安全漏洞,识别虚拟机上的一些安全问题。

6.1 导航至扫描菜单栏

配置首次扫描任务。单击**“扫描”**图标。在“扫描”窗口中,您可以创建新的扫描配置。

image-20240729111815763

点击New scan configuration

image-20240729112915045

6.2 创建扫描配置名称和范围

  • Scan config name:demo

  • Scope:contains(assetInfo.tags,'{"key":"scanconfig","value":"test"}')


PS:为待检查的VM,添加了一个带有Keyscanconfig和Valuetest的标签。

image-20240730103347484

图 EC2实例标签设置如上所示

image-20240729140728063

6.3 勾选扫描类型

Scan types:

What would you like to scan for?

  • SBOM✅
  • Vulnerabilities✅
  • Malware
  • Rootkits
  • Secrets
  • Misconfigurations
  • Exploits
  • Info Finder

image-20240729142038321

6.4 配置扫描时间

Time configuration:now

image-20240729142046076

6.5 高级设置

Advanced settings

Maximal number of instances to be scanned in parallel:2(设置一次可以运行多少次扫描。默认值为两次。)

image-20240729142049775
image-20240730102606633
image-20240729193728000

6.6 检查漏洞扫描结果

image-20240729193715579

image-20240729193207755

image-20240729193807612

image-20240729193841219

image-20240729193910774

image-20240729194019364

image-20240729194114380

image-20240730101401579

image-20240730101453841

VMClarity 简化了在不同工作负载上运行多个扫描程序的过程,并使安全运营专家能够节省识别易受攻击资产的宝贵时间。

image-20240731174221556

七、清除资源

image-20240731175257435

image-20240731175229702

八、参考链接

1️⃣OpenClarity

2️⃣Deploy on AWS | OpenClarity

3️⃣Outshift | Detecting cloud security vulnerabilities with VMClarity


http://www.kler.cn/a/379163.html

相关文章:

  • 数学建模学习(135):使用Python基于WSM、WPM、WASPAS的多准则决策分析
  • scala的属性访问权限
  • YOLOv11改进策略【卷积层】| CGblock 内容引导网络 利用不同层次信息,提高多类别分类能力 (含二次创新)
  • <项目代码>YOLOv8 猫狗识别<目标检测>
  • [实战-11] FlinkSql 设置时区对TIMESTAMP和TIMESTAMP_LTZ的影响
  • 批量删除redis数据【亲测可用】
  • celery在django项目中实现并发任务和定时任务
  • SOLIDWORKS 2025用户体验新功能
  • NineData云原生智能数据管理平台新功能发布|2024年10月版
  • distrobox install in ubuntu 22.04 / 在 ubuntu 22.04 上安装 distrobox (***) OK
  • qt的c++环境配置和c++基础【正点原子】嵌入式Qt5 C++开发视频
  • Stable Diffusion Web UI 1.9.4常用插件扩展-WD14-tagger
  • Spring Boot技术:校园社团信息管理的创新解决方案
  • 123.WEB渗透测试-信息收集-ARL(14)
  • 初始计算机网络
  • sqlserver、达梦、mysql的差异
  • React 组件生命周期与 Hooks 简明指南
  • HTTP代理是什么?有什么用?
  • git pull遇到一个问题
  • 揭秘Scam-as-a-Service:警惕钓鱼攻击的产业化
  • centos7之LVS-DR模式传统部署
  • 21 Docker容器集群网络架构:四、Docker集群网络验证
  • 在k8s环境中如何在本地和pod之间同步文件?
  • 基于微信小程序的生签到系统设计与实现(lw+演示+源码+运行)
  • 一键式配置适合 Web 开发的Ubuntu系统
  • 采用SpeedL模式控制UR5e机器人