热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

多云管理平台Rancher与安全最佳实践

 bt0sea 嘶吼专业版 0x00、前言4月中旬发表的多云管理与安全架构迁移,获得了安全圈小伙伴超出预期的阅读量,那么打算具体细化相关多云战略以及安全最佳实践。在开源圈中,目

 bt0sea 嘶吼专业版 

图片

图片

0x00、前言

4月中旬发表的"多云管理与安全架构迁移",获得了安全圈小伙伴超出预期的阅读量,那么打算具体细化相关多云战略以及安全最佳实践。

在开源圈中,目前与多云战略最贴近的开源项目是:Rancher,14.2k的star,是当之无愧No.1。谈安全需要先了解其寄生的数字平台。

2020年4月份中旬,Rancher 2.4版本发布,其新特性中包含边缘计算部署场景的支持、零宕机升级集群、安全性增强。其中安全性增强中包含了通过CIS基准扫描增强安全性,集群安全性对于成功的Kubernetes策略至关重要。然而,AimPoint的最新研究显示,44%的公司正是由于对Kubernetes容器安全的顾虑,用户可以根据互联网安全中心发布的100多个CIS安全基准,结合Kubernetes集群安全的实际定义,对RKE集群进行点对点(ac-hoc)安全扫描。用户可以创建自定义测试配置,设置扫描完成/扫描失败的通知告警,并根据这些信息采取纠正措施,以确保这些集群满足所有的安全要求。

图片

0x01、rancher基础架构

要聊架构安全问题,首先需要了解Rancher基础架构组成,架构本身帮助我们解决了哪些安全问题,在这基础上,我们还能做什么安全防御的事情。

1)Rancher基础架构解析image.png

1、资源管理

· 2.4.0 支持管理 2000 个集群和 10 万个节点

· 满足多“分支机构”,“数据中心”和“边缘集群”部署场景

· 以减少 Rancher 管理面中管理每个集群所需的内存和CPU资源

· Rancher Server 暴露更多性能相关的指标例如 websocket连接数等

2、K8S和K3S版本管理

集群版本升级是整个多云管理版本维护的刚性需求,rancher已经做到了零宕机升级整个k8s集群。减少了运维成本,提升运营效率。

@1、零宕机升级

· 先升级etcd,然后control plane节点,最后升级 Worker节点

· 升级 K8s 集群过程中,保证Etcd、kubernetes API可用、工作负载可用

· 可手工调整Etcd、control、worker升级次序,保证整个集群在升级过程当中,应用可用性。

image.png

@2、升级状态可监控image.png

@3、支持集群回滚

• 支持仅恢复etcd (已有功能) • 支持恢复etcd和k8s • 支持恢复etcd,k8s和cluster配置image.png

3、身份认证与RBAC策略

· 支持 Shibboleth 认证支持

· Shibboleth 认证支持配置 OpenLDAP 进行用户和组搜索

  · Shibboleth 负责身份验证,OpenLDAP 负责搜索用户和组。

  · Rancher 用户可以通过 LDAP 搜索用户和组,而且还可以搜索到非当前用户所在的组。

· 支持创建自定义全局角色

· 支持将组关联到 Rancher 全局角色

image.png

4、CIS benchmark扫描

· 定时执行集群安全扫描

· 设置告警,扫描完成发送通知 • 设置告警,扫描失败发送通知image.png

5、Istio

Istio,以及整个Service Mesh技术,是近一两年来Kubernetes生态系统中最亮眼的明星之一。Istio增加了容错、金丝雀部署、A/B测试、监控、跟踪和可观察性、身份认证和授权,开发人员无需再测试或编写特定代码,即可实现上述功能。如此一来,开发人员可以只专注于他们的业务逻辑,将剩下的工作交给Kubernetes和Istio。image.png

6、Pod&network配置强制

OPA Gatekeeper 支持

· Open Policy Agent Gatekeeper operator

  · OPA 使用了K8s的Admission Controllers功能

  · Gatekeeper 封装了一层 OPA,允许通过CRD的形式使用OPA

· 使用 OPA Gatekeeper 可以做什么?

  · 校验资源是不是有特定的label

  · 校验容器的镜像是否来自合规的镜像仓库

  · 强制Pod必须设置预留值和限制值

  · 强制Deployment配置nodeSelector

  · 强制Istio Policy使用双向TLS

2)架构安全

Rancher已经帮助企业解决了身份认证、k8s安全基线检查、pod和network方面的强制性策略方案的工作。但是这些就完全满足我们的要求么?image.png

中大型企业入口流量部署架构如图

Ingress 规则定义了对七层网关的要求,包括URL分发规则,基于不同域名的虚拟主机,SSL证书等。Kubernetes使用Ingress Controller 来监控Ingress规则,并通过一个七层网关来实现这些要求,一般可以使用Nginx,HAProxy,Envoy等。虽然Ingress Controller通过七层网关为后端的多个Service提供了统一的入口,但由于其部署在集群中,因此并不能直接对外提供服务。实际上Ingress需要配合NodePort和LoadBalancer才能提供对外的流量入口,采用Ingress配合NodePort和Load Balancer为集群提供外部流量入口,从该拓扑图中可以看到该架构的伸缩性非常好,在NodePort,Ingress,Pod等不同的接入层面都可以对系统进行水平扩展,以应对不同的外部流量要求。

在此基础上,我们需要集成纵深防御体系,包括恶意流量清洗(Ant-DDoS服务)、恶意流量监控(NIDS服务)、Web***防护(WAF服务)、主机安全与容器安全防御系统(HIDS/EDR服务)。image.png

1、Anti-DDOS服务,检测引擎需要发现4层DDOS和7层CC***,清洗引擎需要尽量清洗掉恶意流量,最后提供LB熔断规则联动,流量超过系统负载,需要阻断其对多云系统内部的进一步伤害。

2、WAF建议控制细粒度到服务级别,可以提升部分SLA。

3、NIDS建议部署到流量入口与LB服务结合,内部横向流量建议使用主机安全获取。

4、主机安全部分,需要部署HIDS引擎和EDR引擎,保证基础架构的物理/云主机的安全。

5、容器安全部分,需要通过主机层面获取对Pod安全防护能力。

image.png0x02、总结

基于多云时代的安全架构迁移,应该是2020年安全产品工作重点,期待更好的多云安全产品出现。image.png



推荐阅读
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ... [详细]
  • Java高并发与多线程(二):线程的实现方式详解
    本文将深入探讨Java中线程的三种主要实现方式,包括继承Thread类、实现Runnable接口和实现Callable接口,并分析它们之间的异同及其应用场景。 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 本文详细探讨了几种常用的Java后端开发框架组合及其具体应用场景。通过对比分析Spring Boot、MyBatis、Hibernate等框架的特点和优势,结合实际项目需求,为开发者提供了选择合适框架组合的参考依据。同时,文章还介绍了这些框架在微服务架构中的应用,帮助读者更好地理解和运用这些技术。 ... [详细]
  • OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战
    OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 线程能否先以安全方式获取对象,再进行非安全发布? ... [详细]
  • 利用ZFS和Gluster实现分布式存储系统的高效迁移与应用
    本文探讨了在Ubuntu 18.04系统中利用ZFS和Gluster文件系统实现分布式存储系统的高效迁移与应用。通过详细的技术分析和实践案例,展示了这两种文件系统在数据迁移、高可用性和性能优化方面的优势,为分布式存储系统的部署和管理提供了宝贵的参考。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 本文介绍了Java中的com.sun.codemodel.JBlock._continue()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
  • PHP 各版本对比:标准版与最新顶级版的详细分析 ... [详细]
  • 深入解析 Synchronized 锁的升级机制及其在并发编程中的应用
    深入解析 Synchronized 锁的升级机制及其在并发编程中的应用 ... [详细]
author-avatar
手机用户2702934510
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有