Rancher

新近爆出的runc容器逃逸漏洞,用户如何面对?

老子叫甜甜 提交于 2019-11-29 04:50:48
runc是一个根据OCI(Open Container Initiative)标准创建并运行容器的CLI工具,目前Docker引擎内部也是基于runc构建的。 2019年2月11日,研究人员通过oss-security邮件列表( https://www.openwall.com/lists/oss-security/2019/02/11/2 )披露了runc容器逃逸漏洞的详情,根据OpenWall的规定EXP会在7天后也就是2019年2月18日公开。 此漏洞允许以root身份运行的容器以特权用户身份在主机上执行任意代码。实际上,这意味着容器可能会破坏Docker主机(覆盖Runc CLI),而所需要的只是能够使用root来运行容器。攻击者可以使用受感染的Docker镜像或对未受感染的正在运行的容器运行exec命令。针对此问题的已知缓解措施包括: 使用只读主机文件系统运行 运行用户命名空间 不在容器中运行root 正确配置的AppArmor / SELinux策略(当前的默认策略不够) Rancher团队第一时间响应 收到披露邮件后,RancherOS团队立刻尝试编写了攻击脚本,在一个普通容器中运行一个非常简单的脚本就完成了对主机的攻击,将主机上的runc替换成了其他程序。 漏洞披露后,Docker在第一时间发布了18.09.2,用户可升级到此版本以修复该漏洞。Rancher

runc容器逃逸漏洞最强后续:应对之策汇总与热点疑问解答

这一生的挚爱 提交于 2019-11-29 04:50:35
美国时间2019年2月11日晚,runc通过oss-security邮件列表披露了runc容器逃逸漏洞CVE-2019-5736的详情。runc是Docker、CRI-O、Containerd、Kubernetes等底层的容器运行时,此次安全漏洞无可避免地会影响大多数Docker与Kubernetes用户,也因此为整个业界高度关注。 漏洞披露后,Docker在第一时间发布了两个版本18.06.2和18.09.2,这两个版本都可以修复runc漏洞。Rancher Labs极速响应,Rancher Kubernetes管理平台和RancherOS操作系统均在不到一天时间内紧急更新,是业界第一个紧急发布新版本支持Docker补丁版本的平台,并持严谨态度在oss-security邮件列表披露漏洞后的五小时内连夜邮件通知所有Rancher用户此次漏洞的详情及应对之策。 更值得一提的是,尽管Docker发布了修复版本,但因为不是所有用户都能轻易将生产环境中的Docker版本升至最新,Rancher帮忙将修复程序反向移植到所有版本的Docker并提供给用户。且目前Docker官方提供的修复版本并不支持3.x内核(只兼容4.x内核),而runc的开发者特意向Rancher提交了支持3.x内核的PR,目前PR已合并,Rancher提供的方案现已可以支持3.x内核。 runc安全漏洞事件背景

重要提醒 | 手动轮换Rancher Kubernetes集群的证书

谁说胖子不能爱 提交于 2019-11-29 04:45:21
在Rancher 2.0和2.1中,Rancher配置集群的自动生成证书的有效期为1年,本文将为您详细介绍如何轮换证书,即使您的证书已经过期也可从文章中获得具体的操作指南。 Kubernetes集群通常使用ssl证书来加密通信,Rancher会自动为集群生成证书。在Rancher v2.0.14、v2.1.9之前的版本,Rancher配置集群的自动生成证书的有效期为1年,这意味着如果您在大约1年前使用这些版本创建了Rancher配置集群,那么您需要尽快开始轮换证书,否则证书过期后集群将进入错误状态。轮换证书是一次性操作,新生成的证书有效期为10年。 本文将为您详细介绍如何进行轮换证书的操作。即使您的证书现在已经过期,您也可以依照以下步骤进行证书的轮换。但请注意先不要升级rancher server,根据本文最后一节【证书已过期导致无法连接k8s】进行处理。 注意 在重新启动组件时,轮换Kubernetes证书可能会导致您的群集暂时不可用。此外,对于生产环境,建议在维护窗口期间执行此操作。 通过UI轮换证书(业务集群) 注:可用版本 Rancher v2.2.0 + 在Rancher v2.2.0以及更高版本,可通过UI的证书轮换功能对集群证书进行更新,此功能适用于【自定义安装的集群】。 证书轮换之后,Kubernetes组件将自动重新启动,重启不影响应用Pod

Rancher 2.2.5发布,CVE修复,支持K8S 1.15

余生颓废 提交于 2019-11-28 21:37:47
2019年7月16日,Rancher Labs发布了Rancher全新版本2.2.5,该版本修复了近期发现的安全漏洞CVE-2019-13209,正式支持Kubernetes 1.14,对最新的Kubernetes 1.15也提供了实验性支持,除此之外还带来了一系列功能与优化。 目前,Rancher的Latest和Stable版本信息如下: CVE修复:CVE-2019-13209 Rancher 2.2.5修复了新近被发现的安全漏洞CVE-2019-13209。该问题最初是由Workiva的Matt Belisle和Alex Stevenson发现并报告,受影响的Rancher版本包括v2.0.0-v2.0.15、v2.1.0-v2.1.10、v2.2.0-v2.2.4。Rancher v1.6不受影响。 该漏洞称为“跨站点Websocket劫持攻击”。攻击者可以通过被攻击者的角色/权限来访问由Rancher管理的集群。它要求被攻击者登录到Rancher服务器,然后访问由开发者托管的第三方站点。一旦完成,开发人员就能够利用被攻击者的权限和身份对Kubernetes API执行命令。更多详情介绍可查看: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-13209 在Rancher 2.2.5发布同期,Rancher

Kubernetes首个严重安全漏洞发现者,谈发现过程及原理机制

妖精的绣舞 提交于 2019-11-28 21:37:23
北美时间11月26日,Kubernetes爆出严重安全漏洞,该漏洞由Rancher Labs联合创始人及首席架构师Darren Shepherd发现。该漏洞CVE-2018-1002105(又名Kubernetes特权升级漏洞, https://github.com/kubernetes/kubernetes/issues/71411 )被确认为严重性9.8分(满分10分),恶意用户可以使用Kubernetes API服务器连接到后端服务器以发送任意请求,并通过API服务器的TLS凭证进行身份验证。这一安全漏洞的严重性更在于它可以远程执行,攻击并不复杂,不需要用户交互或特殊权限。 漏洞被发现并验证后,Kubernetes快速响应并已经发布了修补版本v1.10.11、v1.11.5、v1.12.3和v1.13.0-rc.1。仍在使用Kubernetes v1.0.x至Kubernetes v1.9.x版本的用户,被建议即刻停止并升级到修补版本。 本文由该漏洞的发现者、Rancher Labs联合创始人及首席架构师Darren Shepherd所写。他描述了自己发现这一漏洞的完整经过,剖析了问题的机制与原理,并分享了相应的解决方案以及他本人对Kubernetes、对开源社区的看法。 Rancher Labs联合创始人及首席架构师 Darren Shepherd

详细教程丨如何在Kubernetes上部署Redis集群

痴心易碎 提交于 2019-11-28 19:47:33
介 绍 Redis(REmote DIctionary Server的意思)是一个开源的内存数据存储,通常用作数据库、缓存以及消息代理。它可以存储和操作高级的数据结构类型,比如lists、maps、sets以及排序sets。Redis接受多种格式的键,因此可以在服务器上执行操作,减少客户端的工作负载。它将数据库完全地保存在内存中,只使用磁盘进行持久化存储。Redis是一种流行的数据存储解决方案,受到了Github、Pinterest、Snapchat、Twitter、StackOverflow、Flickr等科技巨头的青睐。 为什么要用Redis? 它非常快,它由ANSI C编写,可以在Linux、Mac OS X和Solaris等POSIX系统上运行。 Reis经常被评为最流行的键值数据库以及在容器上使用最流行的NoSQL数据库。 它的缓存解决方案减少了对云数据库后端的调用。 应用程序可以通过客户端API库访问它。 所有流行的编程语言都支持Redis。 它开源且非常稳定的。 Redis的应用案例 Facebook的一些在线游戏中,游戏分数更新频率非常高。当使用Redis排序set时,即使每分钟有数百万用户和数百万个新分数,执行这些操作都非常简单。 Twitter在Redis集群中存储了所有用户的时间线。 Pinterest将用户关注者图存储在Redis集群中

Rancher部署Spring Cloud微服务(初探)

混江龙づ霸主 提交于 2019-11-28 18:09:07
一 、 安装Docker 安装rancher依赖docker环境,k8s节点也依赖docker环境 (略) 二、安装单节点rancher 2.1 下载镜像包 官方2.x文档 DockerHub docker pull rancher/rancher:stable 2.2 环境准备 需要预留的端口号:80、443 2.3 运行镜像 docker run -d --restart=unless-stopped \ -p 80:80 -p 443:443 \ -v <主机路径>:/var/lib/rancher/ \ -v /root/var/log/auditlog:/var/log/auditlog \ -e AUDIT_LEVEL=3 \ rancher/rancher:stable 2.4 查看页面 初始页面要设置密码 ##三、部署单节点k8s 3.1 添加集群 在node节点运行 sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.2.5 --server https://192.168.25.142 --token

在Kubernetes集群上部署和管理JFrog Artifactory

↘锁芯ラ 提交于 2019-11-28 13:54:32
JFrog Artifactory是一个artifacts仓库管理平台,它支持所有的主流打包格式、构建工具和持续集成(CI)服务器。它将所有二进制内容保存在一个单一位置并提供一个接口,这使得用户在整个应用程序开发和交付过程中,能更易于上传、查找和使用二进制文件。 在本文中我们将介绍如何使用Rancher在Kubernetes集群上部署和管理JFrog Artifactory。在看完本文后,你将会系统地了解JFrog Artifactory OSS的安装设置,并且能够按照同样的步骤在任何Kubernetes集群中安装Artifactory OSS或者它的商业版本。当然,我们还将向你展示如何在Artifactory中创建通用仓库并且向其中上传工件。 除了文章中所展示的之外,Artifactory还有更多特性,在以后的文章中我们会更详细地介绍它们。 好了,那么我们开始吧! 使用的软件 本文使用了下列的软件工具: Rancher v2.0.8 运行在Google Kubernetes Engine version 1.10.7-gke.2上的Kubernetes集群 Artifactory helm chart version 7.4.2 Artifactory OSS version 6.3.2 如果以后本文更新了,请使用到时候的最新版本。 和Kubernetes中的其他工具一样

在Kubernetes上部署和伸缩Jenkins

折月煮酒 提交于 2019-11-28 13:54:27
在本教程中,我们将使用Rancher在Kubernetes上部署和伸缩Jenkins。按照本文的步骤一步步来,你将会使用到我们用来测试实际构建作业的master-agent体系结构,创建出功能齐全的Jenkins。 介 绍 Jenkins是一个开源的持续集成和持续交付工具,它可以用来自动构建、测试和部署软件。在全世界有超过一百万的用户在使用Jenkins,它是目前最流行的自动化服务器。Jenkins的优势包括: 是一个拥有庞大社区支持的开源软件 基于Java的代码库,使其可以移植到所有主要平台 有超过1000个插件的丰富生态系统 Jenkins能够与主流的源代码管理系统(Git、SVN、Mercurial以及CVS)、主流的构建工具(Ant、Maven、Grunt)、shell脚本和Windows批处理命令、测试框架、报表生成器的都良好地协同工作。Jenkins的插件还提供了对Docker和Kubernetes的支持,Docker和Kubernetes能够创建、部署基于云的微服务环境,并且把它们投入到测试和生产部署中。 Jenkins支持master-agent体系结构(许多build agents/构建代理根据master服务器调度来完成任务),使其具有高度的可伸缩性。Master的工作是安排构建作业,将作业分发给代理实际执行,监视这些代理并获得构建的结果。除此之外

Docker 容器管理:rancher

六眼飞鱼酱① 提交于 2019-11-28 11:06:08
Rancher:https://www.cnrancher.com/ 是一个开源的企业级全栈化容器部署及管理平台。 定位上和 K8s 比较接近,都是通过 web 界面赋予完全的 docker 服务编排功能。是一个可以让你通过 web 界面管理 docker 容器的平台。 rancher 的特色 平台部署方便。管理 docker 的平台本身也基于 docker 部署。只要你有 docker ,一句命令就完成平台的部署了。 平台扩展方便。通过 agent 机制,一句 docker 命令完成 agent 部署,快速增加你的物理机。同时也支持 AWS 等云主机, 2.0 版本甚至还支持 K8s 。 服务部署方便。通过应用商店,2步完成应用部署,而且还是像 docker-compose 那样各个中间件独立编排,可以随时扩容的哦。 自带账户权限。相比 K8s 没有账号管理,rancher 自带账号权限体系。账号可以独立创建,也可以很方便地接入 ldap 等账号体系。对于公司使用是一大利器。 rancher 安装 部署 master   master 对系统基本没有要求,部署在centos 、ubantu、 mac 或者 windows 上都行。     # 下载容器   docker pull rancher/server    # 数据库数据内置。缺点是如果容器损坏了,数据就不可恢复