Kubernetes图像扫描Anchore主页:https://anchore.com/许可证:免费(Apache)和商业服务Anchore引擎分析容器图像并应用用户定义的策略来实施自定义安全检查。除了针对CVE数据库上已知漏洞的常规容器映像扫描之外,还有许多其他条件可以配置为使用Anchore作为扫描策略的一部分:Dockerfile检查、凭证泄漏、特定语言包(npm、maven等).),软件许可证等等。Clair主页:https://coreos.com/clair许可证:免费(Apache)Clair是最早的开源图像扫描项目之一,也被广泛称为Docker图像注册表的安全扫描引擎。Clair能够从大量漏洞源中提取CVE信息,包括由Debian、RedHat或Ubuntu安全团队编制的特定于发行版的漏洞列表。与Anchore不同,Clair主要专注于漏洞扫描和CVE匹配部分,尽管它通过可插拔驱动程序的实现为用户提供了一些扩展性。Dagda主页:https://github.com/eliasgranderubio/dagda许可证:免费(Apache)Dagda对容器镜像中的已知漏洞、木马、病毒、恶意软件和其他恶意威胁进行静态分析。Dagda与同类Kubernetes安全工具有两个显着的不同之处:它与ClamAV集成,不仅可以作为容器镜像扫描器,还可以作为防病毒软件。Dagda还提供运行时保护,从Docker守护进程收集实时事件,并与CNCF的Falco集成以收集运行时容器安全事件。KubeXray主页:https://github.com/jfrog/kubexray许可证:免费(Apache),但需要从JFrogXray(商业产品)检索数据使用当前策略可以在Kubernetes上运行。KubeXray不仅审计新的或升级的容器部署(类似于Kubernetes准入控制器),而且还根据配置的新安全策略动态检查运行时容器,删除指向易受攻击图像的资源。Snyk主页:https://snyk.io/许可证:免费(Apache)和商业服务Snyk是一种特殊的漏洞扫描器,因为它特别专注于开发工作流程,并将自己宣传为开发人员优先的解决方案。Snyk将直接连接到您的代码存储库,解析项目声明并分析导入的代码,以及它们的直接和间接库依赖项。Snyk支持许多流行的编程语言,还可以发现隐藏的许可风险。Trivy主页:https://github.com/knqyf263/trivy许可证:免费(AGPL)Trivy是一个简单而全面的容器漏洞扫描器,易于与您的CI/CD集成。一个显着的特点是安装和操作简单,只使用一个二进制文件,不需要安装数据库或其他库。Trivy简单的缺点是您需要弄清楚如何解析和转发JSON输出,以便其他Kubernetes安全工具可以利用它。Kubernetes运行时安全Falco主页:https://falco.org/许可证:免费(Apache)Falco是一个云原生运行时安全工具集,是CNCF家族的骄傲成员。使用Sysdig的Linux内核检测和系统调用分析,Falco深入了解了系统行为。其运行时规则引擎可检测应用程序、容器、底层主机和Kubernetes编排器中的异常活动。使用Falco,您可以获得完整的运行时可见性和威胁检测,并为每个Kubernetes节点部署一个代理,而无需修改注入第三方代码的容器或堆积边车容器。Linux运行时安全框架这些原生Linux框架本身并不是Kubernetes安全工具,但在这里值得一提,因为它们是运行时安全上下文的一部分,可以包含在KubernetesPod安全策略(PSP)中。AppArmor将安全配置文件附加到在容器中运行的进程,定义文件系统权限、网络访问规则、库链接等。它是一个强制访问控制(或MAC)系统,这意味着它将防止被禁止的行为发生。Security-EnhancedLinux(SELinux)是一个Linux内核安全模块,它在某些方面与AppArmor相似,经常被拿来与AppArmor进行比较。SELinux比AppArmor更强大、更细粒度、更灵活,但代价是更陡峭的学习曲线和更高的复杂性。Seccomp和seccomp-bpf允许过滤系统调用,防止执行可能对底层主机操作系统造成危险的系统调用,而这些调用对于用户态二进制文件的正常操作来说是不需要的。它与Falco有一些微妙的相似之处,尽管seccomp不知道该容器的存在。Sysdig主页:https://sysdig.com/opensource/许可证:免费(Apache)Sysdig是用于Linux系统的全系统探索、故障排除和调试工具(也可用于Windows和MacOSX,但功能有限),可在以下网址获得用于托管操作系统及其上运行的任何容器的精细可见性、检查和取证。Sysdig还支持容器运行时和Kubernetes元数据,将这些额外的维度和标签添加到收集到的任何系统活动中。有多种方法可以使用Sysdig探索Kubernetes集群:您可以使用kubectlcapture创建时间点捕获,或使用kubectldig插件生成交互式ncurses界面。Kubernetes网络安全Aporeto主页:https://www.aporeto.com/许可证:商业Aporeto提供“与网络和基础设施分离的安全性”。这意味着您的Kubernetes服务不仅会获得本地身份(即Kubernetes服务帐户),还会获得通用身份/指纹,可用于以安全和相互验证的方式与任何其他服务进行通信,例如在OpenShift集群。Aporeto不仅可以为Kubernetes/容器生成唯一的身份指纹,还可以为主机、云功能和用户生成唯一的身份指纹。基于这些身份和运营商配置的一组网络安全规则,将允许或阻止通信。Calico主页:https://www.projectcalico.org/许可证:免费(Apache)Calico通常在容器编排器安装期间部署,以实现连接容器的虚拟网络。在此基本网络功能之上,Calico项目实现了Kubernetes网络策略规范和它自己的网络安全配置文件集,这些配置文件实现了端点ACL和用于入口和出口流量的基于注释的网络安全规则。Cilium主页:https://www.cilium.io/许可证:免费(Apache)Cilium提供容器防火墙和网络安全功能,原生适用于Kubernetes和微服务工作负载。Cilium利用一种称为BPF(BerkeleyPacketFilter,伯克利数据包过滤器)的新Linux内核技术来执行核心数据路径过滤、篡改、监控和重定向。Cilium可以使用Docker或Kubernetes标签和元数据部署基于容器身份的网络访问策略。Cilium还可以理解和过滤多个第7层协议,例如HTTP或gRPC,允许您定义一组REST调用,这些调用将在两个给定的Kubernetes部署之间被允许。Istio主页:https://istio.io/许可证:免费(Apache)Istio以实施服务网格范式、部署平台无关控制平面和通过动态配置的Envoy代理路由所有托管服务流量而闻名。Istio将利用所有微服务和容器的这种有利视图来启用多种网络安全策略。Istio网络安全特性包括:透明的TLS加密、自动将微服务通信升级到HTTPS,以及它自己的RBAC身份和授权框架来接受或拒绝不同工作负载之间的通信。Tigera主页:https://www.tigera.io/许可证:商业TigeraKubernetes防火墙技术强调对Kubernetes网络安全的零信任方法。与其他Kubernetes原生网络解决方案类似,Tigera利用Kubernetes元数据来识别集群中的不同服务和实体,提供运行时检测、持续合规性检查以及跨多云或混合单容器基础设施的网络可见性。Trireme主页:https://www.aporeto.com/opensource/许可证:免费(Apache)Trireme-Kubernetes是Kubernetes网络策略规范的简单、直接的实现。它最显着的特点之一是,与类似的Kubernetes网络安全解决方案不同,它不需要中央控制平面来编排网格,这使得该解决方案的可扩展性非常低。Trireme通过在每个节点上安装一个直接接入主机的TCP/IP堆栈的代理来实现这一点。图像分发和密钥管理Grafeas主页:https://grafeas.io/许可证:免费(Apache)Grafeas是一个开源API,用于审计和管理您的软件供应链。在基本层面上,Grafeas是一种元数据和审计日志收集工具,您可以使用它来跟踪整个组织对安全最佳实践的遵守情况。这种集中的事实来源可以帮助您回答与安全相关的问题,例如:谁构建并签署了特定容器?它是否通过了所有安全扫描和政策检查?什么时候?这个工具的输出是什么?谁在生产中部署了它?用于部署的具体参数是什么?Portieris主页:https://github.com/IBM/portieris许可证:免费(Apache)Portieris是一个用于执行内容信任的Kubernetes准入控制器。它依赖公证服务器作为可信和签名工件(即批准的容器图像)的真实来源。每当创建或修改Kubernetes工作负载时,Portieris都会为请求的容器镜像提取签名信息和内容信任策略,并在必要时动态修改APIJSON对象以运行这些镜像的签名版本。Vault主页:https://www.vaultproject.io/许可证:免费(MPL)Vault是一个高安全性的秘密存储解决方案,例如密码、oauth令牌、PKI证书、访问凭证、Kubernetes秘密等。它支持许多高级临时安全令牌租约或精心安排的密钥滚动更新等功能。您可以将Vault本身部署为Kubernetes集群中的新部署,使用Helmchart和Consul作为其后端存储。它支持Kubernetes原生资源,例如serviceaccount令牌,甚至可以配置为默认的Kubernetes密钥库。Kubernetes安全审计Kube-bench主页:https://github.com/aquasecurity/kube-bench许可证:免费(Apache)kube-bench是一个Go应用程序,它通过运行CISKubernetes基准中记录的检查来检查Kubernetes是否安全部署。Kube-bench会在你的Kubernetes集群组件(etcd、API、controllermanager等)上寻找不安全的配置参数、敏感文件权限、不安全的账户或暴露的端口、资源配额、防止DoS攻击的配置API速率限制等.Kube-hunter主页:https://github.com/aquasecurity/kube-hunter许可证:免费(Apache)Kube-hunter在您的Kubernetes集群中寻找安全漏洞(例如远程代码执行或信息泄露)。您可以将kube-hunter作为远程扫描器运行,这将提供外部攻击者的视角,或者作为Kubernetes集群中的Pod。kube-hunter提供的一个独特功能是它可以与主动狩猎一起运行,这意味着不仅报告,而且实际利用在目标Kubernetes中发现的可能对集群运行有害的漏洞。小心轻放:)。Kubeaudit主页:https://github.com/Shopify/kubeaudit许可证:免费(MIT)Kubeaudit是一个免费的命令行工具,最初是在Shopify上创建的,用于审核Kubernetes配置以解决各种安全问题。您可以运行无限制的容器映像、以root身份运行、使用特权功能或默认服务帐户等。Kubeaudit还有其他几个值得注意的功能,例如,它可以处理本地YAML文件以检测可能导致该工具涵盖的任何安全问题的配置缺陷,并自动为您修复它们。Kubesec主页:https://kubesec.io/许可证:免费(Apache)Kubesec是一个非常特殊的Kubernetes安全工具,因为它会直接扫描声明Kubernetes资源的YAML文件是否存在弱安全参数。例如,它可以检测授予pod的过多功能和权限,使用root作为默认容器用户,连接到主机网络命名空间,或危险的挂载,如host/proc或dockersockets。Kubesec的另一个不错的功能是他们的在线演示链接,您可以在其中发布YAML并立即开始试用。OpenPolicyAgent主页:https://www.openpolicyagent.org/许可证:免费(Apache)OPA(OpenPolicyAgent)的愿景是将您的安全策略和安全最佳实践与特定的运行时平台分离:Docker、Kubernetes、Mesosphere、OpenShift或它们的任意组合。例如,您可以将OPA作为后端部署到Kubernetes准入控制器,委托安全决策,以便OPA代理可以动态验证、拒绝甚至修改请求以强制执行自定义安全约束。OPA安全策略是使用其领域特定语言Rego编写的。端到端Kubernetes安全商业产品我们决定为商业Kubernetes安全平台创建一个单独的类别,因为它们通常涵盖多个安全领域。下表可查看概述:AquaSec主页:https://www.aquasec.com/许可证:商业AquaSec是一种用于容器和云工作负载的商业安全工具,包括:图像扫描,与您的容器注册表或CI/CD集成;运行时保护以检测容器修改或可疑活动;容器原生应用防火墙;云服务的无服务器安全;合规性和审计报告,与事件记录集成。Capsule8主页:https://capsule8.com/许可证:商业Capsule8与基础设施集成,用于在本地或云Kubernetes集群上部署传感器。传感器将收集主机和网络遥测数据,以将此活动与不同的攻击模式相匹配。Capsule8团队负责在零日攻击设法通过您的系统之前检测并阻止它们。他们的安全运营团队可以将有针对性的规则推送到您的传感器,以响应最近发现的软件漏洞威胁。Cavirin主页:https://www.cavirin.com/许可证:商业Cavirin解决方案专注于为不同的安全标准化机构提供企业对应物。除了图像扫描功能,它还可以与您的CI/CD集成,以在不合规的图像被推送到您的私有存储库之前阻止它们。Cavirin安全套件使用机器学习为您的网络安全状况提供类似信用的评分,提供补救提示以改善您的安全状况或遵守安全标准。GoogleCloudSecurityCommandCenter主页:https://cloud.google.com/security-command-center/许可证:商业CloudSecurityCommandCenter可帮助安全团队收集数据、识别威胁并在威胁导致业务中断或损失之前做出响应它采取行动。顾名思义,GoogleCloudSCC是一个统一的控制面板,您可以在其中集成不同的安全报告、资产清单和第三方安全引擎,所有这些都来自一个集中的仪表板。GoogleCloudSCC提供的可互操作API有助于集成来自不同来源的Kubernetes安全事件,例如:SysdigSecure(云原生应用程序的容器安全)或Falco(开源运行时安全引擎)。Qualys主页:https://layeredinsight.com/许可证:CommercialLayeredInsights(现在是qualys的一部分)是围绕嵌入式安全的概念设计的。使用静态分析技术对原始图像进行漏洞扫描并通过CVE检查后,LayeredInsights会将其替换为注入了二进制代理的检测图像。该二进制文件包括docker网络流量、输入/输出流和应用程序活动的运行时安全探测,以及基础设施运营商或开发团队提供的任何自定义安全检查。Neuvector主页:https://neuvector.com/许可证:商业NeuVector通过分析网络活动和应用程序行为为每个图像创建自定义安全配置文件来执行容器安全基线和运行时保护。它还可以通过修改本地网络防火墙来隔离可疑活动来主动阻止威胁。NeuVectorNetworkingIntegration,标记为SecurityMesh,能够执行深度数据包检查并过滤服务网格中所有网络连接的第7层。StackRox主页:https://www.stackrox.com/许可证:商业StackRox容器安全平台旨在覆盖集群中Kubernetes应用程序的整个生命周期。与此列表中的其他商业容器安全平台一样,它会根据观察到的容器行为生成运行时配置文件,并会自动对任何异常情况发出警报。StackRox平台还将使用CISKubernetes基准和其他容器合规性基准评估Kubernetes配置。Sysdig主页:https://sysdig.com/products/secure/许可证:商业SysdigSecure在整个容器生命周期中保护您的云原生应用程序。它集成了容器镜像扫描、运行时保护和取证,以识别漏洞、阻止威胁、强制合规性和跨微服务的审计活动。它的一些相关功能包括:扫描注册表中的图像或作为CI/CD管道的一部分以发现易受攻击的库、包和配置;运行时检测,通过行为签名保护生产中的容器;攻击前和攻击后活动的级别粒度系统调用日志记录;250多项开箱即用的合规性检查可确保您的配置安全。TenableContainerSecurity主页:https://www.tenable.com/products/tenable-io/container-security许可证:商业Tenable早于容器作为Nessus的幕后,Nessus是一家流行的漏洞扫描和安全监听工具公司,在安防行业广为人知。可维护的容器安全利用他们在计算机安全方面的经验,将您的CI/CD管道与漏洞数据库、专门的恶意软件检测引擎和安全威胁补救建议相集成。Twistlock(PaloAltoNetworks)主页:https://www.twistlock.com/授权:商业Twistlock号称是云优先、容器优先的平台,提供云提供商(AWS、Azure、GCP)、容器的特定集成编排器(Kubernetes、Mesospehere、OpenShift、Docker)、无服务器运行时、网格框架和CI/CD工具。除了CI/CD集成或图像扫描等常见的容器安全企业功能外,Twistlock还使用机器学习技术来生成行为模式和容器感知网络规则。Twistlock被PaloAltoNetworks收购,PaloAltoNetworks还拥有该公司、io和RedlockSecuritySolutions。目前还不清楚这三个平台将如何整合到帕洛阿尔托的PRISMA中。
