前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用ThreatMapper识别容器、镜像主机和代码库中的安全漏洞

使用ThreatMapper识别容器、镜像主机和代码库中的安全漏洞

作者头像
FB客服
发布2021-05-20 16:09:33
1.4K0
发布2021-05-20 16:09:33
举报
文章被收录于专栏:FreeBufFreeBuf

关于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集成。

平台运行演示

视频地址:点击文末阅读原文

平台架构

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

工具概述

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

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

Deepfence管理控制台安装

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

2、执行下列命令:

代码语言:javascript
复制
docker-compose -f docker-compose.yml up -d

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

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

代码语言:javascript
复制
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:

代码语言:javascript
复制
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):

代码语言:javascript
复制
# 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代理:

代码语言:javascript
复制
# 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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于ThreatMapper
  • 平台运行演示
  • 平台架构
  • 工具概述
  • Deepfence管理控制台安装
  • Deepfence代理安装
    • 在单一虚拟机或主机上安装
      • Kubernetes安装
      • 如何使用ThreatMapper
        • 注册一个用户
          • Deepfence API密钥设置
            • 使用样例-可视化
              • 使用样例-运行时漏洞管理
              • 项目地址
              相关产品与服务
              容器服务
              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档