周一见 | K8s 最新安全漏洞、本周开源项目推荐、GitHub CI/CD 服务
技术
作者:bot
译者:bot
2019-08-12 18:10

Kubernetes 资讯 

1. 安全漏洞:CVE-2019-11247 

上周,社区宣布了一个新的 Kubernetes 安全漏洞 CVE-2019-11247,该漏洞允许用户在只具有命名空间资源 RBAC 权限读取的情况下,修改或删除集群级别的自定义资源。目前,该漏洞已被分配中等严重性的 CVSS 评分。

通常,K8s RBAC Role 只拥有自己命名空间中资源的权限。如果要对整个集群中所有命名空间的资源权限进行授权,我们会用到 ClusterRoleBinding 和 ClusterRole。

CVE-2019-11247 源于对 K8s API 调用的错误处理:如果 API 端点范围是命名空间,那么即使这些资源是全局的,它们也会在该命名空间的范围内评估权限。这导致的结果就是当一个服务账户的 Role 定义中带有通配符,且其任意命名空间带有 RoleBinding,那么在对 K8s API 服务器进行经过身份验证的调用时,该账户就能对集群级别的资源进行操作。

修复这个漏洞的最佳方法是将所有 Kubernetes 集群主服务器升级到 v1.13.9、v1.14.5 或 v1.15.2。如果不能立即升级,请检查集群中的所有 Role,确保它们没有任何对 resources 和 apiGroups 的“*”授权。

此外,一种情况不会受该漏洞影响:未使用自定义资源定义(CRD)。但随着 CRD 已成为越来越多 Kubernetes 原生项目(如 Istio)的重要组成部分,不使用 Kubernetes RBAC 会使你面临比这个漏洞更严重的风险。

2. Kubernetes 安全审计报告 

去年,CNCF 开始为其开源项目执行、开放第三方安全审计,以提高生态系统的整体安全性。为了对 Kubernetes 做出持续改进,日前,CNCF 公布了其最新审计结果。

据悉,这次由安全审计工作将重点放在八个核心 Kubernetes 组件上:Kube-apiserver、etcd、Kube-scheduler、Kube-controller-manager、cloud-controller-manager、Kubelet、Kube-proxy 和容器运行时。

根据统计,此次审计共发现 37 个漏洞。在发现的漏洞中,有 5 个高严重性,17 个中等严重性、7 个低严重性和 8 个仅供参考。详情请见简讯:Kubernetes 开源安全审计结果公布,或在公众号后台回复“201908”,下载报告全文!

3. 官方 Vault Helm Chart 发布 

Vault 是一种用于生产环境私密信息管理的工具,不少开发者喜欢用它来记录数据库凭证、登录密码、Token、证书、API Key 等私密信息。上周,HashiCorp 发布官方 Vault Helm Chart,大大简化在 Kubernetes 上运行开源版 Vault 的复杂性。

据了解,通过 Vault Helm Chart,你只需几分钟就能启动在 Kubernetes 上运行的 Vault 集群,且它能在更短的时间内为提供可重复的部署过程。官方现支持三种不同的模式安装和更新 Vault 开源版本:单服务器、高可用(HA)和开发模式。以下是在 Kubernetes 上运行 Vault 的一些常见用例:

  • 将 Vault 作为共享服务运行;
  • 访问和存储私密信息;
  • 运行高可用 Vault 服务;
  • 加密即服务;
  • 将 Vault 集群用于存储审核日志。

https://github.com/hashicorp/vault-helm

4. 本周 K8s 开源项目推荐 

以下是本周社区筛选的 Kubernetes 开源项目:

Kamus。Kamus 是一个用于 Kubernetes 应用的、开源的、GitOps 的、零信任的 secrets 加密和解密解决方案,允许用户无缝加密 secrets 值并将其提交给源代码控制。

https://github.com/Soluto/kamus/?utm_sq=g4yx5l8sv6

Wormhole。这是一个简单的 CNI 插件,旨在为 Kubernetes 集群创建加密的覆盖网络。目前该项目还在实验阶段,尚未经过任何外部安全审核。

https://github.com/gravitational/wormhole/?utm_sq=g4xvvtsmrh

Kube Forwarder。这是一个易于使用的 Kubernetes 端口转发管理器。它类似kubectl port-forward,但有一些很好的额外功能,比如好看的 UI、自动重新连接、支持多个集群。

https://github.com/pixel-point/kube-forwarder?utm_sq=g4x2nfwbj9

Kubernetes External Secrets。该工具允许开发者使用外部 secret 管理系统(例如AWS Secrets Manager)在 Kubernetes 中安全地添加 secrets。

https://github.com/godaddy/kubernetes-external-secrets?utm_sq=g4wga8nuh0

kubernetes-under-the-hood。该项目是一个教程,旨在向开发团队深入解释他们通常不熟悉的基础架构概念(如网络、安全性、高可用、灾难恢复等),帮助团队从头开始成功安装 Kubernetes 集群。它甚至还有一个 SlideShare。

https://github.com/mvallim/kubernetes-under-the-hood?utm_sq=g4wanysitf

5. kube-proxy:iptables or IPVS? 

kube-proxy 是 Kubernetes 部署的关键组件。它的作用是监听 API server 中 service 和 endpoint 的变化情况,并为服务配置负载均衡。它可以以三种模式运行:userspace、iptables 和 IPVS。

在这篇文章中,作者将对 iptables 和 IPVS 进行比较,衡量它们在真实微服务环境中的表现,并总结最佳选择策略。

https://www.projectcalico.org/comparing-kube-proxy-modes-iptables-or-ipvs/?utm_sq=g4rzfsszs8

AI 资讯 

1. PyTorch v1.2 发布 

上周,PyTorch 最新版本 v1.2.0 正式发布。和 1.1 版本相比,新版本主要新增、改动了以下功能:

  • 新的 TorchScript API;
  • 改进了 TorchScript Python 语言覆盖;
  • 扩展 ONNX 模型导出支持;
  • 正式支持 Tensorboard;
  • 提供一个标准的 nn.Transformer 模块。

此外,开发团队还同期发布了 torchvision v0.4、torchaudio v0.3 和 torchtext v0.4,进一步完善 PyTorch 生态以支持研究和生产使用。

https://github.com/pytorch/pytorch/releases

其他 

1. GitHub 推出 CI/CD 服务 

去年 10 月,GitHub 推出 Actions,这是一种自动化和自定义工作流程的新平台,允许用户连接并分享将运行软件开发工作流程的容器,轻松构建、打包、发布、升级和配置项目。

上周,GitHub 推出具有完全持续集成和交付(CI/CD)功能的测试版 Actions,并预计将在今年 11 月 13 日发布正式版。通过它,开发人员现在可以在任何平台上构建、测试和部署他们的代码,并在容器或虚拟机中运行他们的工作流

据介绍,测试版的 Actions 有一个名为“矩阵构建”的新功能,它允许开发人员并行地测试其应用程序的多个版本,例如,你可以同时在 Linux、Windows 和 MacOS 上测试三个不同版本的 Node.js。因为 GitHub 操作是在基本的 YAML 文件中定义的,所以进行这些更改只需要在文件中添加几行代码。

目前,Actions 支持的语言和框架包括 Node.js、Python、Java、PHP、Ruby、C/C++、.NET、Android 和 iOS。Actions 还与 GitHub Package Registry 集成在一起。

880 comCount 0