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

文章目录

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

一、VMClarity 介绍

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

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

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

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

二、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)------下一步

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

输入标签name:VMClarity

查看并创建。

等待部署完成。

部署完成。

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

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

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

5.4 访问 VMClarity UI

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

5.5 Assets资产自动发现

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

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

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

6.1 导航至扫描菜单栏

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

点击New scan configuration

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

  • Scan config name:demo

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


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


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

6.3 勾选扫描类型

Scan types:

What would you like to scan for?

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

6.4 配置扫描时间

Time configuration:now

6.5 高级设置

Advanced settings

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



6.6 检查漏洞扫描结果

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

七、清除资源

八、参考链接

1️⃣OpenClarity

2️⃣Deploy on AWS | OpenClarity

3️⃣Outshift | Detecting cloud security vulnerabilities with VMClarity

相关推荐
G皮T9 小时前
【弹性计算】IaaS 和 PaaS 类计算产品
阿里云·云计算·paas·iaas·云服务器·弹性服务器·弹性计算
alden_ygq11 小时前
在阿里云Linux主机上运行大模型deepseek r1
linux·阿里云·云计算
零炻大礼包16 小时前
【DeepSeek-R1】 API申请(腾讯云)
云计算·腾讯云·deepseek-r1
因_果_律17 小时前
如何最优雅地部署 AWS Lambda?Lambda Version 与 Alias 的最佳实践
serverless·云计算·aws
信徒_17 小时前
AWS 概念
云计算·aws
李匠202418 小时前
云计算架构学习之Ansible-playbook实战、Ansible-流程控制、Ansible-字典循环-roles角色
学习·云计算·ansible
ww1800019 小时前
多目标蜻蜓算法-MODA-可用于(云计算资源分配/交通信号控制/网络路由优化)
算法·分类·云计算
我们的五年20 小时前
Linux 在云计算中的应用有哪些?
linux·运维·云计算
池央1 天前
AI性能极致体验:通过阿里云平台高效调用满血版DeepSeek-R1模型
人工智能·阿里云·云计算