Harbor 成为 CNCF 毕业级项目

近日,Harbor 成为 CNCF 第 11 个毕业的项目,也是首个原创于中国的 CNCF 毕业级的开源项目。之前毕业的 10 个项目分别为 Kubernetes、Prometheus、Envoy、CoreDNS、containerd、TUF、Jaeger、Fluentd、Vitess、Helm。

Harbor 是个开源制品仓库,可通过策略和基于角色的访问控制来保护制品(如容器镜像、Helm Chart 等),扫描镜像并避免受安全漏洞的危害。Harbor 扩展了开源项目 Docker Distribution,添加了用户所需的功能(例如安全性、身份、漏洞扫描和管理)。在环境中部署 Harbor 可以提高镜像传输效率,便于就近构建和运行容器应用。Harbor 支持在制品仓库之间复制镜像、Chart 等制品,并提供高级安全功能,例如用户管理、访问控制和操作审计等。上个月 Harbor 2.0 正式发布,增加了对 OCI 制品的支持,能够存储大量云原生制品,例如容器镜像、Helm Chart、CNAB、OPA 和 Singularity 等等。开发人员可依照 OCI 规范,通过 OCI 索引和 OCI 制品功能开拓更广泛的应用场景,包括策略、远程复制和基于角色的访问控制等。

目前,Harbor 拥有 83 个参与贡献的组织,包括 Anchore、Aqua Security、才云科技和 VMware 等。

项目地址:goharbor.io

SPIFFE 和 SPIRE 成为孵化级项目

近日,SPIFFE 和 SPIRE 通过 CNCF 技术监督委员会(Technical Oversight Committee,TOC)投票,成为孵化级托管项目。SPIFFE 规范定义了一种标准,通过使用平台无感的加密标识,在云原生环境中对软件服务进行身份验证。SPIRE 是在各种平台上实现 SPIFFE 规范的代码,并对发布身份实施多因素认证。

随着越来越多组织拥抱混合云、多云、容器及边缘运算,零信任的价值愈趋明显。在云端分散式微服务架构中,组件之间的通信需要一个机制来验证各种信息的真实性,而 SPIFFE 与 SPIRE 正是为云端及基于容器的微服务打造服务身份认证能力的两个项目。

SPIFFE 和 SPIRE 还被多种云原生技术使用并与之集成,包括 Istio、CNCF 项目 Envoy、gRPC 和 Open Policy Agent(OPA),其还为托管在 Kubernetes 与其他平台上工作负载之间的交叉身份验证提供了基础。

项目地址:spiffe.io

黑客利用 Docker 恶意镜像挖矿

现在使用 Docker 打包、部署应用程序正变得越来越流行。但也有黑客发现这一现象,针对暴露在互联网上的 API 端点,开发包含恶意软件的镜像,进而实施分布式拒绝服务(DDoS)攻击并挖掘加密货币。

近日,Palo Alto Networks 公司 Unit 42 威胁情报团队发布了一份安全报告,指出有黑客正通过上述 Docker 镜像在 Docker 容器部署加密货币采矿程序,并使用 Docker Hub 存储库大肆传播以牟取利益。此次被发现的 Docker Hub 账户名为“azurenql”,其中包含 8 个存储库,托管了 6 种用于挖掘门罗币(一种加密货币)的恶意镜像。恶意软件的作者使用 Python 脚本触发加密货币劫持操作,并使用 ProxyChains 与 Tor 等网络匿名工具逃避网络检测。随后,镜像中的加密货币采矿代码就会使用受感染系统的计算资源进行货币挖掘。自 2019 年 10 月以来,这些镜像下载次数超 200 万次,其中一个与黑客有关的加密钱包里有大约 525 枚门罗币,价值约 3.6 万美元。

有关研究人员建议运行 Docker 实例的用户及组织应立即检查其中是否存在向互联网开放的 API 端点。如果存在,请立即关闭端口并检查当前部署是否安全。

6 个容器平台策略技巧

近日,Gartner 发布《在生产中运行容器和 Kubernetes 的最佳实践》报告,指出 2022 年将有 75% 的组织在生产中使用容器化应用程序。如今,Kubernetes 是容器编排的流行工具,通过借鉴 Kubernetes 最佳实践,我们可以更好的进行容器部署。下面分享了报告中总结的 6 个容器平台策略的实用技巧:

规划并应用 DevSecOps

报告指出:“安全思维需要嵌入到整个 DevOps 流程中”。我们可以通过在 CI/CD 管道中应用图像扫描来部分完成 DevSecOps,同时利用众多开源工具(例如 Anchore)来审核 Docker 容器,以实现自动化安全审核。另外,安全主管还应遵循 CIS 基准,确保访问控制合适并使用第三方加密服务保护敏感信息和凭证。

细粒度监控

Gartner 认为以主机为中心的传统监控(例如 CPU 利用率、延迟和网络带宽等)根本不够,DevOps 必须对容器本身功能进行更精细的监控。

重新评估数据持久性

如果应用程序经过重新设计,这可能会影响数据存储过程。报告认为,对于面向微服务状态的应用程序,基础架构和业务主管都需要一个能够提高该工作负载的可用性、敏捷性和性能的存储平台。

针对 K8s 优化网络

开发人员需要测试从开发环境到生产的可移植性。现在的开发范例通常会跨越本地和公共云,并且容器必须跨越多层网络。Gartner 报告称:“网络解决方案需要与 Kubernetes 原语和策略引擎紧密集成。”报告建议公司审核其 CaaS 与软件定义网络(SDN)工具,检查它们是否支持 Kubernetes 网络和集群中主机之间的负载平衡。

管理容器生命周期

为了加快应用程序交付流程,自动化工具是最好的办法。Gartner 建议公司将基础架构即代码(IaC)产品用于应用程序发布自动化以及容器生命周期管理,这有助于设置容器基础镜像标准与应用程序工作流程自动化。

正确的编排工具

尽管 Kubernetes 已经是非常好的容器编排工具,但是不同工具间仍然存在差别。在比较编排工具时,Gartner 建议公司要考虑可伸缩性、支持的操作系统、运行时的稳定性、是否开源以及对混合云、多云支持与否等因素。

使用 Kubernetes 的 5 个理由

Kubernetes 是毫无疑问的企业级开源容器编排工具,它提供了应用程序部署、扩展、容器管理和很多其他功能,帮助企业轻松、快速、安全地解决常见的开发和运营问题。以下是 Kubernetes 帮助开发人员和运营人员解决常见问题的五种能力:

与提供商无关

许多公共云提供商不仅提供托管 Kubernetes 服务,而且还提供大量基于这些服务构建的云产品,用于本地应用程序容器编排。由于 Kubernetes 不受云提供商约束,运营商可以轻松、安全地设计、构建和管理多云和混合云平台。

服务发现

要开发微服务应用程序,开发人员必须控制服务的可用性,并确保服务能够响应客户端的请求,保持正常运行。Kubernetes 的服务发现功能可以让开发人员不用自己管理这些事情。

应用部署

要如何在数千个虚拟机上部署多语言的云原生应用程序?理想情况下,开发人员和运维人员会在 Bug 修复、功能增强、新功能或安全更新时进行部署,而 Kubernetes 的部署功能可自动化完成这些日常工作。更重要的是,它还支持高级部署策略,例如蓝绿部署和金丝雀部署。

可伸缩性

自动扩展是处理云环境中大量工作负载所需的关键功能。通过构建容器平台,可以提高最终用户的系统可靠性,Kubernetes Horizontal Pod Autoscaler(HPA)允许集群增加或减少应用程序或 Pod 的数量以处理高峰流量或性能峰值,从而减少了系统意外中断的可能性。

容错性

在现代应用程序体系结构中,应考虑使用故障处理代码来控制意外错误并快速从中恢复,但是开发人员模拟偶然的错误需要花费大量的时间和精力。Kubernetes 的 ReplicaSet 可以通过指定数量的 Pod 持续保持活动来帮助开发人员解决此问题。

2020 年开源风险趋势

国新思科技公司近日发布了《2020 年开源安全和风险分析》报告(OSSRA),该报告基于 500 多个受访者的数据、Snyk 年度调查、Snyk 漏洞数据库、众多项目数据以及三个存储库中(GitHub、GitLab 和 BitBucket)开源软件包的数据,重点介绍了在商业应用程序中开源应用的趋势和模式,并且提供见解和建议,以帮助企业从安全性、许可证合规性和操作角度更好地管理开源风险。

下面总结了报告中最值得注意的开源风险趋势:

开源采用率持续增长。99% 的代码库包含至少一些开源组件,每个代码库中平均有 445 个开源组件,比 2018 年的 298 个有显著增加。被审计的代码中有 70% 是开源代码,这一数字比 2018 年的 60% 大了许多,相比 2015 年的 36% 更是几乎翻了一番。

过期和“废弃”的开源组件非常普遍。91% 的代码库包含已经过期四年以上或者近两年没有开发活动的组件。除了存在安全漏洞的风险之外,使用过期开源组件更大的风险在于更新时带来的不必要功能和兼容性问题。

易受攻击的开源组件使用率再次呈上升趋势。2019 年,包含易受攻击的开源组件的代码库的比例从 2017 年的 78% 下降至 2018 年的 60% 之后又增至 75%。同样的,包含高风险漏洞的代码库比例由 2018 年的 40% 增至 49%。幸运的是,2019 年审计的代码库中都没有受到臭名昭著的 Heartbleed 漏洞与 2017 年困扰 Equifax 的 Apache Struts 漏洞的影响。

开源许可证冲突使知识产权持续面临风险。尽管开源软件拥有“免费”的优势,但它与其它软件一样都要受到许可证的约束。67% 的代码库包含某种形式的开源代码许可证冲突,33% 的代码库包含没有可识别许可证的开源组件。许可证冲突的发生率因行业而异,最高为互联网和移动应用行业的 93%,最低为虚拟现实、游戏、娱乐和媒体行业的 59%。

https://www.synopsys.com/zh-cn/software-integrity/resources/reports/2020-open-source-security-risk-analysis.html?cmp=sig-pr

本周 K8s 开源项目推荐

kubetap

  • 这是一个 kubectl 插件,可以为 Kubernetes Services 部署拦截代理。
  • github.com/soluble-ai/kubetap

statusbay

  • 这是一个可视化 k8s 部署过程的项目,它从 k8s 收集所有相关事件并展示部署过程,以帮助 k8s 故障排除。
  • github.com/similarweb/statusbay

oneinfra

  • 它用于跨不同公有云、私有云和裸金属服务器管理和运行多个 Kubernetes 集群。
  • github.com/oneinfra/oneinfra

KubeCarrier

  • 该项目用于跨多个 Kubernetes 集群管理应用程序和服务。
  • github.com/kubermatic/kubecarrier

secrets-store-csi-driver

  • 它可以让 Kubernetes 将在外部存储中的密钥、证书等作为卷放到 Pod 上。
  • github.com/kubernetes-sigs/secrets-store-csi-driver

kubectl-debug

  • 这是一个 kubectl 插件, 能够帮助便捷地进行 Kubernetes 上的 Pod 故障诊断。
  • github.com/aylei/kubectl-debug

原文请点击:https://mp.weixin.qq.com/s/fUvpfKLVBauch6VXpKlJIg