freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何使用ThreatMapper识别容器、镜像主机和代码库中的安全漏洞
2021-04-08 21:05:10

关于ThreatMapper

ThreatMapper是Deepfence本地云工作负载保护平台的子集,ThreatMapper作为社区版发布,并且能够给广大研究人员提供下列功能:

可视化:以近乎实时的方式可视化监控kubernetes集群、虚拟机、容器、镜像、正在运行的进程和网络连接。

运行时漏洞管理:对正在运行的容器和主机以及容器镜像执行漏洞扫描。

容器注册表扫描:检查存储在AWS ECR、Azure容器注册表、Google容器注册表、Docker Hub、Docker自托管私有注册表、Quay、Harbor、Gitlab和JFrog注册表上的镜像漏洞。

CI/CD扫描:将镜像以CircleCI、Jenkins和GitLab等现有CI/CD管道的部分进行扫描。

与SIEM、通知信道和凭证的集成:与Slack、PagerDuty、HTTP endpoint、Jira、Splunk、ELK、Sumo Logic和Amazon S3集成。

平台运行演示

视频地址:https://deepfence.io/community-demo-form/

平台架构

下图显示的是ThreatMapper平台的系统架构:

工具概述

Deepfence管理控制台首先需要安装在单独的系统上,然后将Deepfence代理安装到部署应用程序工作负载的裸机服务器、虚拟机或Kubernetes集群上,以便可以扫描主机系统或应用程序工作负载中的漏洞。

Deepfence安全平台的架构图示如下:

Deepfence管理控制台安装

1、将docker-compose.yml文件下载到目标系统中。

2、执行下列命令:

docker-compose -f docker-compose.yml up -d

3、在浏览器中打开管理控制台IP地址/域名(https://x.x.x.x),然后注册一个新的账号。

4、获取Deepfence API密钥:点击设置->用户管理,然后复制API密钥。在下列Docker中运行命令,使用你自己的API密钥替换掉C8TtyEtNB0gBo1wGhpeAZICNSAaGWw71BSdS2kLELY0:

docker run -dit --cpus=".2" --name=deepfence-agent --restart on-failure --pid=host --net=host --privileged=true -v /sys/kernel/debug:/sys/kernel/debug:rw -v /var/log/fenced -v /var/run/docker.sock:/var/run/docker.sock -v /:/fenced/mnt/host/:ro -e USER_DEFINED_TAGS="" -e DF_BACKEND_IP="127.0.0.1" -e DEEPFENCE_KEY="C8TtyEtNB0gBo1wGhpeAZICNSAaGWw71BSdS2kLELY0" deepfenceio/deepfence_agent_ce:latest

这是快速开始扫描各种容器映像所需的最小化安装。接下来,我们可以将镜像下载到这个管理控制台并执行漏洞扫描任务了。

Deepfence代理安装

为了检查主机是否存在漏洞,或者如果必须检查漏洞的Docker映像或容器保存在不同的主机上,则需要在这些主机上安装Deepfence代理。

Deepfence代理的安装步骤取决于所使用的系统环境。

在单一虚拟机或主机上安装

1、获取Deepfence API密钥:点击设置->用户管理,然后复制API密钥。

2、在Docer中运行虾类命令,使用管理控制台的IP地址替换其中的x.x.x.x,使用你自己的API密钥替换掉C8TtyEtNB0gBo1wGhpeAZICNSAaGWw71BSdS2kLELY0:

docker run -dit --cpus=".2" --name=deepfence-agent --restart on-failure --pid=host --net=host --privileged=true -v /sys/kernel/debug:/sys/kernel/debug:rw -v /var/log/fenced -v /var/run/docker.sock:/var/run/docker.sock -v /:/fenced/mnt/host/:ro -e USER_DEFINED_TAGS="" -e DF_BACKEND_IP="x.x.x.x" -e DEEPFENCE_KEY="C8TtyEtNB0gBo1wGhpeAZICNSAaGWw71BSdS2kLELY0" deepfenceio/deepfence_agent_ce:latest

3、可以使用USER_DEFINED_TAGS=""对上述命令中的代理节点进行标记,标签使用逗号分隔,比如说"dev,front-end"。

Kubernetes安装

1、开启Deepfence代理(使用管理控制台的IP地址替换其中的x.x.x.x,使用你自己的API密钥替换掉C8TtyEtNB0gBo1wGhpeAZICNSAaGWw71BSdS2kLELY0):

# helm v2

helm install --repo https://deepfence.github.io/ThreatMapper/files/helm-chart deepfence-agent \

    --name=deepfence-agent \

    --set managementConsoleIp=x.x.x.x \

    --set deepfenceKey=C8TtyEtNB0gBo1wGhpeAZICNSAaGWw71BSdS2kLELY0

# helm v3

helm install deepfence-agent --repo https://deepfence.github.io/ThreatMapper/files/helm-chart deepfence-agent \

    --set managementConsoleIp=x.x.x.x \

--set deepfenceKey=C8TtyEtNB0gBo1wGhpeAZICNSAaGWw71BSdS2kLELY0

2、删除Deepfence代理:

# helm v2

helm delete --purge deepfence-agent

# helm v3

helm delete deepfence-agent

如何使用ThreatMapper

注册一个用户

首先,我们需要在管理控制台中注册一个用户,在浏览器中访问平台IP地址x.x.x.x:

Deepfence API密钥设置

使用API或跟代理连接都需要用到API密钥:

使用样例-可视化

你可以在topology标签页下以可视化的形式监控正在运行的虚拟机、主机、容器的整个拓扑。您可以单击各个节点来启动各种任务,如漏洞扫描:

使用样例-运行时漏洞管理

从拓扑视图中,可以使用控制台仪表板或使用API启动针对容器和主机的运行时漏洞扫描:

导航到“漏洞”菜单,可以查看每个节点的漏洞和安全建议:

单击上图中的某个项目可提供详细视图:

“最易受攻击的漏洞”选项卡提供了目标系统中要按优先级修复的漏洞排序列表。排名是使用各种参数计算的,比如镜像是否正在运行、CVE分数和漏洞的严重性:

项目地址

ThreatMapper:https://github.com/deepfence/ThreatMapper

本文作者:, 转载请注明来自FreeBuf.COM

# 漏洞管理 # 容器安全 # 镜像安全
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
评论 按热度排序

登录/注册后在FreeBuf发布内容哦

相关推荐
  • 0 文章数
  • 0 评论数
  • 0 关注者
文章目录
登录 / 注册后在FreeBuf发布内容哦
收入专辑