尽管Kubernetes的采用率持续飙升,但它已成为网络攻击的主要目标。不幸的是,Kubernetes集群很复杂,难以保护。确保您的Kubernetes环境安全需要对威胁基础设施的常见攻击链有深入的理解。
所有服务器均采用centos7.6版本,最小安装模式,每个服务器均有一个空余磁盘用于部署ceph
访问控制是云原生中的一个重要组成部分,也是一个 Kubernetes 集群在多租户环境下必须要采取的一个基本的安全架构手段。
在Kubernetes中,授权有ABAC(基于属性的访问控制)、RBAC(基于角色的访问控制)、Webhook、Node、AlwaysDeny(一直拒绝)和AlwaysAllow(一直允许)这6种模式。从1.6版本起,Kubernetes 默认启用RBAC访问控制策略。从1.8开始,RBAC已作为稳定的功能。通过设置–authorization-mode=RBAC,启用RABC。在RABC API中,通过如下的步骤进行授权:1)定义角色:在定义角色时会指定此角色对于资源的访问控制的规则;2)绑定角色:将主体与角色进行绑定,对用户进行访问授权。
2022 年,Kubernetes继续巩固自己作为关键基础设施领域的地位。从小型到大型组织,它已成为广受欢迎的选择。出于显而易见的原因,这种转变使 Kubernetes 更容易受到攻击。但这还没有结束,开发人员通常将Kubernetes 部署与其他云原生组件一起使用来构建一个完善的工作系统。不幸的是,这种组合会导致具有更多组件的更复杂的基础架构。这最终会增加易受攻击的表面积和范围。
随着软件供应链攻击的增加,保护我们的软件供应链变得更加重要。此外,在过去几年中,容器的采用也有所增加。有鉴于此,对容器镜像进行签名以帮助防止供应链攻击的需求日益增长。此外,我们今天使用的大多数容器,即使我们在生产环境中使用它们,也容易受到供应链攻击。在传统的 CI/CD 工作流中,我们构建镜像并将其推入注册中心。供应链安全的一个重要部分是我们构建的镜像的完整性,这意味着我们必须确保我们构建的镜像没有被篡改,这意味着保证我们从注册中心中提取的镜像与我们将要部署到生产系统中的镜像相同。证明镜像没有被篡改的最简单和最好的方法之一(多亏了 Sigstore)是在构建之后立即签名,并在允许它们部署到生产系统之前验证它。这就是 Cosign 和 Kyverno 发挥作用的地方。
服务账户是我们用于身份验证自动化操作的帐户,例如CI/CD流水线。它们不应该与用户绑定,因为如果我们禁用该用户或限制其权限,我们不希望我们的流水线开始失败。服务账户应具有严格的访问控制,并且不应允许执行比管道所需更多的操作,而实际用户可能需要访问更多的资源。 在Argo CD中创建服务账户有两种方法:一种是使用本地用户(只使用apiKey并删除登录部分),另一种是使用项目角色并为这些角色分配令牌。
Kubernetes中的Role-Based Access Control(RBAC)允许您控制对Kubernetes API的访问。它通过定义角色(Role)和角色绑定(RoleBinding)来完成此操作。在Kubernetes中,有两种类型的角色:ClusterRole和Role。在本文中,我们将重点介绍ClusterRole。
将单体应用程序分解为一个个服务,为大型软件系统的开发和维护带来了诸多好处,比如更好的灵活性、可伸缩性和可复用性。但这也带来了一些安全问题:
客座文章作者:Onkar Bhat,工程经理和 Deepika Dixit,软件工程师,Kasten by Veeam
所有的 kubernetes 集群中账户分为两类,Kubernetes 管理的 serviceaccount(服务账户) 和 useraccount(用户账户)。基于角色的访问控制(“RBAC”)使用“rbac.authorization.k8s.io”API 组来实现授权控制,允许管理员通过Kubernetes API动态配置策略。
最佳实践: 用户可以指定一个retryStrategy来指示如何在工作流中重试失败或错误的步骤。提供一个空的retryStrategy(即retryStrategy: {})将导致容器重试直到完成并最终导致 OOM 问题。
Hello folks,我是 Luga,接着上一篇博文,我们继续来解析 Kubectl 安全插件相关内容...
Kubernetes 是一种流行的容器编排系统,用于自动化计算机应用程序的部署、扩展和管理。 Flink 的原生 Kubernetes 集成允许您直接在运行的 Kubernetes 集群上部署 Flink。 此外,Flink 能够根据所需资源动态分配和取消分配 TaskManager,因为它可以直接与 Kubernetes 对话。
对于在共享基础架构上运行的容器化应用程序,安全性至关重要。随着越来越多的组织将其容器流量负载转移到 Kubernetes,K8s 已成为容器编排的首选平台。随着这一趋势的出现,越来越多的威胁和新的攻击方式层出不穷。
Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署、规划、更新、维护的一种机制。
嘉宾博客文章最初发表在Infracloud上,作者是Infracloud软件开发人员Vivek Singh
在安全领域,识别系统被破坏、滥用或错误配置的最成熟方法之一,是收集系统用户和自动化服务执行的所有活动的日志,并分析这些日志。
现代 IT 环境日益动态化。例如,Kubernetes 正在突破许多 IT 组织的可能性。
有部分读者可能听说过 ssl-exporter[2] 这个项目,它能提供多种针对 SSL 的检测手段,包括:HTTPS 证书、文件证书、Kubernetes Secret、Kubeconfig 文件。从功能上来看,它基本可以满足上述需求,但它的指标还不够丰富,本文将介绍一个更为强大的 Prometheus Exporter:x509-certificate-exporter[3]。
上个月,Kubernetes(世界上最受欢迎的容器编排器)生态系统因发现Kubernetes的第一个主要安全漏洞而动摇。该漏洞(CVE-2018-1002105)使攻击者能够通过Kubernetes API服务器破坏集群,允许他们运行代码来安装恶意软件等恶意活动。
为了降低虚拟机造成的物理主机资源浪费,提高物理主机的资源利用率,并能够提供像虚拟机一样良好的应用程序隔离运行环境,便诞生了容器技术。容器管理类似于虚拟机管理,主要用于容器的创建、启动、关闭、删除等容器生命周期的管理。常见的容器管理工具有:
Argo CD的主要目标之一,是为管理Kubernetes集群所需的日常任务提供自动化的良好体验。GitOps功能、方便的web和命令行界面使其成为向Kubernetes部署应用程序的开发人员的完美工具。除了开发人员,还有操作员:为整个组织运行Kubernetes集群和Argo CD等工具的平台团队成员。他们的情况怎么?
MySQL8.0新加了很多功能,其中在用户管理中增加了角色的管理,默认的密码加密方式也做了调整,由之前的sha1改为了sha2,同时加上5.7的禁用用户和用户过期的设置,这样方面用户的管理和权限的管理,也增加了用户的安全性。
Kubernetes已经成为市场上事实上领先的编配工具,不仅对技术公司如此,对所有公司都是如此,因为它允许您快速且可预测地部署应用程序、动态地伸缩应用程序、无缝地推出新特性,同时有效地利用硬件资源。
虽然 Docker 已经很强大了,但是在实际使用上还是有诸多不便,比如集群管理、资源调度、文件管理等等。那么在这样一个百花齐放的容器时代涌现出了很多解决方案,比如 Mesos、Swarm、Kubernetes 等等,其中谷歌开源的 Kubernetes 是作为老大哥的存在。
https://devopscube.com/kubernetes-logging-tutorial/
9月18日,Kubernetes v1.16重磅发布!这是2019年以来发布的第三个版本! Kubernetes 1.16包含31个增强功能:8个增强趋于稳定,8个进入beta版,15个在alpha版。
使用这些命令时,请记住将<namespace>, <pod-name>, <service-name>, <deployment-name>, <statefulset-name>, <configmap-name>, <secret-name>, <namespace-name>, <pv-name>, <pvc-name>, <node-name>, <network-policy-name>, <resource-quota-name>, <custom-resource-name>, 和替换为你的特定值。
1 对Kubernetes 的 AWS IAM Authenticator的身份验证利用 在这篇博文将介绍在 AWS IAM Authenticator 中检测到的三个漏洞,所有这些漏洞都是由同一代码行引起的 https://mp.weixin.qq.com/s/PJ5YqSxHttgjKZXVkxqIcQ 2 详细案例教会你如何在AWS中链接漏洞getshell和访问数据 本文为旧金山湾区的OWASP会上演讲,关于在AWS EC2实例中使用错误配置、公开允许的IAM策略和应用程序安全漏洞getshell
Kubernetes已经成为了最受欢迎的容器编排开源平台。调研表明现今的IT 团队将 Kubernetes 视为承担新职责的新平台,除了改进部署、资源管理和成本节约之外,Kubernetes 的使用方式非常之多,有时我们很难跟上新趋势。
Docker提供了一个名为Docker Desktop的桌面应用程序,简化了安装和设置过程。还有另一个选项可以使用Docker引擎进行安装。
将机器学习(ML)模型部署到生产环境中的一个常见模式是将这些模型作为 RESTful API 微服务公开,这些微服务从 Docker 容器中托管,例如使用 SciKit Learn 或 Keras 包训练的 ML 模型,这些模型可以提供对新数据的预测。然后,可以将它们部署到云环境中,以处理维护连续可用性所需的所有事情,例如容错、自动缩放、负载平衡和滚动服务更新。
在Conjur中,机器是秘密的非人类消费者,如服务器、虚拟机、容器、应用程序、微服务、Kubernetes服务帐户、Ansible节点和其他自动化进程。识别和授权机器很重要,因为我们在自动化工作流中将权限委托给它们。
Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统。Kubernetes的目标旨在消除编排物理/虚拟计算,网络和存储基础设施的负担,并使应用程序运营商和开发人员完全将重点放在以容器为中心的原语上进行自助运营。Kubernetes 也提供稳定、兼容的基础(平台),用于构建定制化的workflows 和更高级的自动化任务。 Kubernetes 具备完善的集群管理能力,包括多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和服务发现机制、内建负载均衡器、故障发现和自我修复能力、服务滚动升级和在线扩容、可扩展的资源自动调度机制、多粒度的资源配额管理能力。 Kubernetes 还提供完善的管理工具,涵盖开发、部署测试、运维监控等各个环节。
配置中心在微服务的服务治理场景基本上是属于标配,常见可以用来做配置中心有nacos、apollo、zookeeper、springcloud config、consul、etcd、redis、disconf、dimond、xxl-conf等。这些组件的特点都是需要安装,如果大家的部署环境中有用到k8s,且不需要用到太多配置中心的特殊功能,比如灰度发布、权限管理、发布审核、操作审计啥的,仅仅只是用来统一配置,以及实现配置的热更新,那今天讲主角configMap会是一个挺不错的选择
混合云允许组织将敏感数据保存在私有云中,同时仍能利用公共云的成本节约和可扩展性,从而提高了安全性。
目前 Kubernetes 在容器编排市场中占据了主导地位,与此同时,众多组织在使用 Kubernetes 时或多或少遇到了安全问题。本文深入探讨使用 Kubernetes 时可能遇到的风险和挑战,并给出了对应的安全实践。
Chaos Mesh 是一个开源的云原生混沌工程平台,提供丰富的故障模拟类型,具有强大的故障场景编排能力,方便用户在开发测试中以及生产环境中模拟现实世界中可能出现的各类异常,帮助用户发现系统潜在的问题。
此次发行版源自数百名技术与非技术贡献者的共同努力,随着 Kubernetes 社区的不断发展,我们的发布过程也代表着开源软件开发协作领域的又一惊人成功。
在过去的几年中,我们已经看到 Kubernetes 被广泛用作容器编排平台。随之而来的还有不同的方式来操作 Kubernetes 集群。一些企业更喜欢一个集群一租户(硬多租户),而另一些企业更喜欢一个集群 n 租户(软多租户)模型。我们已经看到许多企业都采用后一种模型,因为它可以帮助他们减少很多运营工作。对于软多租户模型,明智地提供成本分配租户的可见性非常重要,以便可以相应地向组织收费。
在我们多年使用kubernetes的经验中,我们有幸看到了很多集群(在GCP,AWS和Azure上都是托管的和非托管的),并且我们看到一些错误在不断重复。
MySQL角色是指定的权限集合. 像用户帐户一样,角色可以拥有授予和撤消的权限:
最近在本机macOS安装了开发用的k8s集群之后,花了些时间研究k8s,在这个过程中有一些零零星星的实操技巧,在这里记录一下,这些实际操作技巧均是在之前搭建的单机环境验证过的,可以作为其它环境的参考。
https://docs.bitnami.com/tutorials/simplify-kubernetes-resource-access-rbac-impersonation/
领取专属 10元无门槛券
手把手带您无忧上云