确保Docker安全的10款顶尖开源工具

确保Docker安全的10款顶尖开源工具

译文
作者:布加迪编译 2018-08-02 09:00:48

云计算

开源

数据安全 说到容器安全,你会发现好多开源工具有助于防止像特斯拉那样遭受的Kubernetes集群泄密灾难。但容器安全仍然很棘手,所以你需要知道往工具箱添加哪些实用程序。

【51CTO.com快译】说到容器安全,你会发现好多开源工具有助于防止像特斯拉那样遭受的Kubernetes集群泄密灾难。但容器安全仍然很棘手,所以你需要知道往工具箱添加哪些实用程序。

当然,市面上不乏商业容器安全产品,但开源项目给你带来的帮助很大。许多人专注于审计和跟踪CIS、国家漏洞数据库及其他机构建立的通用漏洞披露(CVE)数据库和基准。然后,工具扫描容器镜像,显示内容,将内容与已知漏洞的这些清单进行比较。

由于可以帮助团队在构建管道时早期发现问题,容器审计自动化以及使用其他容器安全流程对企业大有好处。

虽然市面上有好多开源容器安全工具,但下面是拥有***用户社区的应用好且成熟的几个工具。

[[238488]]

1. Docker Bench for Security

对照安全基准审计Docker容器的脚本

Docker Bench for Security面向使用Docker社区版管理容器的开发人员,它是Docker的开源脚本,用于对照常见的安全***实践审计容器。

Docker Bench的测试基于行业标准CIS基准,帮助手动测试漏洞的繁琐过程实现自动化。

Docker的安全负责人Diogo Mónica称它是“测试容器的容器”。你可以按如下方式启动容器:

  1. docker run -it --net host --pid host --userns host --cap-add audit_control \ -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \ -v /var/lib:/var/lib \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/lib/systemd:/usr/lib/systemd \ -v /etc:/etc --label docker_bench_security \ docker/docker-bench-security 

结果会为每个安全配置基准生成Info、Warning和Pass等日志。也可以从Docker主机运行该实用程序,通过Docker Compose克隆它,或直接从基本主机运行它。

一个缺点是输出结果缺乏机器可读性。许多社区软件包可增强Docker Bench,比如Docker Bench Test、drydock和Actuary。

2. Clair

API驱动的静态容器安全分析工具,拥有庞大的CVE数据库

Clair由CoreOS开发,对容器漏洞进行静态分析。它还用在Quay.io中,这是一种替代Docker Hub的公共容器注册中心。

Clair可获取许多漏洞数据源,比如Debian Security Bug Tracker、Ubuntu CVE Tracker和Red Hat Security Data。由于Clair使用如此多的CVE数据库,因此审计非常全面。

Clair先索引容器镜像里面的一系列功能。然后,使用Clair API,开发人员可以查询数据库,查找与特定镜像有关的漏洞。

想开始使用Clair,请参阅Running Clair指南。很容易将它部署到Kubernetes集群:

  1. git clone https://github.com/coreos/clair cd clair/contrib/helm cp clair/values.yaml ~/my_custom_values.yaml vi ~/my_custom_values.yaml helm dependency update clair helm install clair -f ~/my_custom_values.yaml 

Clair的功能很灵活。它允许你添加自己的驱动程序用于其他行为。此外,执行另外的API调用以便审计特定容器镜像是一种流畅的、机器驱动的方法,不必搜索庞大的报告日志。

3. Cilium

内核层可感知API的网络和安全工具

Cilium的使命就是保护网络连接。Cilium与Docker和Kubernetes等Linux容器平台兼容,增加了安全可见性和控制逻辑。

它基于BPF(以前名为Berkeley数据***滤器),这是一种Linux内核技术。低级实现的一个有意思的方面是,无需更改应用程序代码或容器配置,就可以应用和更新Cilium安全策略。

鉴于现代微服务开发变化不定的生命周期和快速的容器部署,CoreOS开发了Cilium。 将它与Kubernetes集成起来简单直观;下面显示了如何部署Cilium:

  1. $ kubectl create -f ./cilium.yaml clusterrole "cilium" created serviceaccount "cilium" created clusterrolebinding "cilium" created configmap "cilium-config" created secret "cilium-etcd-secrets" created daemonset "cilium" created $ kubectl get ds --namespace kube-system NAME DESIRED CURRENT READY NODE-SELECTOR AGE cilium 1 1 1 2m 

Cilium的支持和社区很棒。你会找到大量的指南和文档、专门的Slack频道,甚至每周可以与项目维护人员联络。

4. Anchore

使用CVE数据和用户定义的策略检查容器安全的工具

Anchore Engine是一种用于分析容器镜像的工具。除了基于CVE的安全漏洞报告外,Anchore Engine还可以使用自定义策略评估Docker镜像。

策略会导致Pass或Fail的结果。策略基于白名单或黑名单、登录信息、文件内容、配置类型或用户生成的其他线索。

Anchore打包成了Docker容器镜像,可以独立运行,也可以在Kubernetes等编排平台上运行。它还有与Jenkins和GitLab集成的功能,实现持续集成/持续交付(CI/CD)。

Anchore命令行界面(CLI)是操作Anchore Engine的简易方法。比如说,该CLI命令返回有关镜像内容的详细信息:

  1. anchore-cli image content INPUT_IMAGE CONTENT_TYPE 

而该示例命令将对镜像执行漏洞扫描:

  1. anchore-cli image vuln docker.io/library/debian:latest os 

Anchore输出了漏洞详细信息、威胁级别、CVE标识符及其他相关信息。由于用户定义的规则是使用Anchore Cloud Service图形用户界面(GUI)创建的,它运行起来类似SaaS。

5. OpenSCAP Workbench

用于为各种平台创建和维护安全策略的环境

OpenSCAP是面向IT管理员和安全审计员的生态系统,包括许多开放式安全基准指南、配置基准和开源工具。

在Fedora、Red Hat Enterprise Linux、CentOS或Scientific Linux上运行的人可以将OpenSCAP Workbench作为GUI来安装,以便在虚拟机、容器和镜像上运行扫描。可使用该命令安装OpenSCAP Workbench:

  1. #yum install scap-workbench 

想对照SCAP策略指南和CVE验证容器,请使用OpenSCAP附带的oscap-docker实用程序。

OpenSCAP以NIST认证的安全内容自动化协议(SCAP)为中心,提供许多机器可读的安全策略。OpenSCAP安全指南指出,该项目的目标是“允许多家组织通过避免冗余,高效地开发安全内容。”

由于OpenSCAP的应用比本文中的其他工具更广泛,对于希望为整个平台创建安全策略的团队而言,它是不错的选择。

6. Dagda

用于在Docker容器中扫描漏洞\特洛伊木马、病毒和恶意软件的工具

Dagda是另一种用于容器安全静态分析的工具。其CVE源包括OWASP依赖项检查、Red Hat Oval和Offensive Security漏洞数据库。

想使用Dagda扫描Docker容器,先要往Mongo数据库填充漏洞数据。执行该命令即可分析单个Docker镜像:

  1. python3 dagda.py check --docker_image jboss/wildfly 

可以远程运行它,也可以不断调用它来监视活动的Docker容器。输出显示了漏洞数量、严重性级别及其他详细信息,有助于修复。

Dagda的一个好处是涵盖广泛的漏洞数据。这意味着可直接访问大量更新后的、全面的漏洞数据库。它也很灵活,可以通过CLI和REST API来控制它。

7. Notary

使用服务器加强容器安全的框架,用于以加密方式委派责任

Notary是事实上的Docker镜像签名框架,现已开源。Docker开发了它,然后在2017年捐给了云原生计算基金会。

Notary的任务就是确保责任分离;使用Notary,开发人员可以在容器之间委派角色、定义职责。该软件包提供了服务器和客户端,提供一种加密安全的方法来发布和验证内容。

想在本地部署Notary,可通过克隆repo来开始入手。然后,使用Docker Compose部署本地配置:

  1. $ docker-compose build $ docker-compose up -d $ mkdir -p ~/.notary && cp cmd/notary/config.json cmd/notary/root-ca.crt ~/.notary 

依赖更新框架和Go语言作为依赖项,Notary可以验证容器应用程序镜像的加密完整性。

8. Grafaes

帮助管理内部安全策略的元数据API

Grafaes可以帮助你创建自己的容器安全扫描项目。该容器安全工具于2017年底发布,由IBM和谷歌开发。

开发人员可以使用Grafaes(被称为“组件元数据API”)来定义虚拟机和容器的元数据。 IBM的Vulnerability Advisor也集成到项目中。

想了解实际的案例,不妨看看Shopify如何使用Grafaes管理50万个容器镜像的元数据(https://cloudplatform.googleblog.com/2018/04/exploring-container-security-digging-into-Grafeas-container-image-metadata.html?m=1)。团队借助Kritis,在使用Grafeas元数据的Kubernetes集群上执行安全策略。

能够快速获取容器元数据有助于加快修复工作,从而缩短从漏洞利用到解决漏洞的时间。虽然Grafaes是开源的,但它由大型软件提供商维护,这有助于长期支持。

9. Sysdig Falco

提供了行为活动监控,可深入了解容器

Falco是一种可识别Kubernetes的安全审计工具,由Sysdig开发,注重对容器、主机和网络活动实施行为监控。使用Falco,开发人员可以设置持续检查基础设施的机制、检测异常情况,并为任何类型的Linux系统调用设置警报。

Falco文档建议用户将Falco作为Docker容器来运行,可以使用这些命令安装它。部署后,标准输出Falco警报如下所示:

  1. stdout_output: enabled: true 10:20:05.408091526: Warning Sensitive file opened for reading by non-trusted program 

可以使用Falco监控shell何时在容器中运行、容器挂载到哪里、敏感文件的意外读取、出站网络尝试或其他可疑调用。Sysdig在此(https://github.com/draios/sysdig)提供了更多的容器故障排除资料。

10. Banyanops Collector

静态分析Docker容器镜像的框架

Collector得到Banyanops的支持,这个开源实用程序可用于“窥视”Docker容器镜像文件的内部。使用Collector,开发人员可以收集容器数据、执行安全策略等。

首先,Banyanops可以在私有注册中心上运行,也可以作为Docker Hub上的容器来运行。Banyanops还提供可更深入数据分析的SaaS产品,所以如果遇到有限的功能,注意商家的向上销售。

原文标题:10+ top open-source tools for Docker security,作者:Bill Doerrfeld

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/237498.html<

(0)
运维的头像运维
上一篇2025-04-22 12:22
下一篇 2025-04-22 12:24

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注