Cloud Native应用交付

  • 首页
  • 关于本站
  • 个人介绍
  • Downloads
  • Repo
    • Github
    • Container
  • F5
    • F5 Python SDK
    • F5-container
    • F5-LBaaS
  • 社交
    • 联系我
    • 微信/微博
    • 公众号
    • 打赏赞助
行至水穷处 坐看云起时
Cloud Native Application Services: cnadn.net
  1. 首页
  2. Automation
  3. 正文

F5 CES 用融合的思想保护k8s出向流量安全

2022年07月14日 5981点热度 1人点赞 0条评论

在上一篇文章中,我们分析了为什么需要对k8s出向流量进行安全管控。并分析了6大类解决方案的特点。可以清晰的看出,将外部安全设施与k8s融合是有效实现出向流量精细化管控的方案。无论是安全管控的技术实现,还是让多团队协作来落地纵深防御的思想,方案都具备了良好的支持和覆盖。

在本篇文章中,我们将具体阐述F5 Container Egress Traffic(CES)方案的一些细节与使用场景。

CES可以理解为一种解决方案,它包含一个运行在k8s内的控制器,以及运行于k8s外部的F5 AFM(虚拟或硬件F5):

  • CES控制:运行于k8s内的容器。该组件为控制面组件,负责将k8s内部署的出向策略转化为外部数据面组件上的配置。

  • F5 BIG-IP AFM: 运行于k8s外部的数据面组件。接受CES控制器下发的配置,并执行具体的访问控制规则,如访问控制列表、限流、流量编程等。

  • CNI: CNI属于用户环境本身的选择,并不包含在CES方案内。但不同的CNI会对CES方案的功能有不同的影响。使用kube-ovn CNI能够获得CES完整功能。

整体架构

在k8s的每个集群内可以运行一个或多个CES控制器,在集群外部可以为各个集群部署共用或独立的F5 AFM实例(虚拟或硬件F5)。用户通过在k8s集群内下发CRD资源实现对策略的部署,控制器自动化的发现策略的变化并将其部署到F5 AFM实例上。在网络上,pods主动出向流量以无SNAT的方式发往F5,技术上可通过CNI的能力,策略路由,overlay隧道等方法来打通和实现流量的控制。CES控制器程序开源在F5 Devcentral github上。

策略设计:

在上一篇文章中,我们多次分析了安全团队与开发团队以及平台团队的协作是实现可靠出向安全策略的重要前提。因此在F5 CES解决方案中,专门设计了三种不同的k8s资源(CRD)。这三个资源面向不同的团队角色,以下是具体的CRD描述与角色对应:

CRD名 Scope 描述 适配角色
ClusterEgressRule Cluster global 该维度策略为集群的整体级别策略,用于控制集群通用的、整体性的访问控制。例如集群对企业NTP,DNS等基础公共服务的访问控制。该scope的策略应用到集群所有服务的出向访问控制。 集群管理员
基础安全团队
NamespaceEgressRule namespace 该维度策略对单个namespace或project生效。用于控制某些具体的NS或project内的所有服务对集群外服务访问。不同namespace或project内的策略彼此互不影响。*该功能需要CNI配合支持。 项目团队
应用运维团队
ServiceEgressRule k8s service 该维度策略控制某个具体k8s service所关联的相关endpoint容器对集群外部服务的访问。仅对具体的服务生效 。 项目团队
应用运维
微服务owner

在实际工作中,负责企业整体安全的team可为各个集群设置基本的通用出向安全策略,比如统一容许所有pods访问企业内部特定服务,如NTP服务等。各个不同项目团队负责自身项目namespaces中需要的统一出向策略,例如在某个项目中涉及的应用均需访问的一个外部服务。在各应用项目中,负责某些具体微服务的小组则负责设定具体微服务单元需要的外部访问。通过这样层级化的设定,可以精细的设定从整体集群,到应用,到具体微服务单元的各维度策略。企业的安全团队在发现项目组或微服务小组开放了错误的出向策略时,可在全局维度下发禁止性策略来覆盖,这样可实现在审计或发现安全事件时进行临时性管控。

由于所有的策略均通过CRD实现,因此在运维中,可轻松的将安全规则的设定流程嵌入到DevSecOps的pipeline中,落地安全左移思想。

价值与能力

解决的挑战

  • 容器IP动态性导致的出向管控策略的高频变化

  • 不同角色人群对策略的scope设定需求不同,策略需在多维度上与角色匹配

  • 出向流量的动态性带宽限制需求

  • 协议深度安全性检查需求

  • 基于访问管控事件的流量可编程高级需求

  • 出向流量可视化需求

  • 可与支持不同namespace设置相同CIDR的CNI配合实现强租户流量隔离

提供的能力

  • Cluster/Pod/NS粒度的动态IP ACL控制

  • Cluster/Pod/NS粒度FQDN ACL控制

  • 基于时间的访问控制

  • 精细化出向SNAT策略设定

  • 匹配流量事件触发与可编程

  • 匹配流量重定向

  • 协议安全性、合规性检测

  • IP地址情报库

  • 流量匹配日志

  • 流量匹配可视化报表

  • 协议检测可视化报表

  • TCP/IP Errors报表

  • NAT控制与日志

  • 数据流可视化跟踪

  • 访问规则可视化模拟

  • 透明检测模式

  • 高速log外发

如需了解更多使用场景及配置案例,请参考Wiki

相关文章

  • 是时候思考k8s出向流量安全了
  • Container Egress Services 容器出向流量策略管控
  • 项目:k8s Gateway API 的BIG-IP实现
  • How to build Nginx Plus as k8s Ingress controller and run with F5 CIS together
  • F5-k8s解决方案(2)-基于Calico BGP网络的F5 k8s容器平台方案实践
本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可
标签: egress k8s 容器 容器出向安全
最后更新:2022年07月14日

纳米

linjing.io

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。

页面AI聊天助手
文章目录
  • 整体架构
  • 策略设计:
  • 价值与能力

纳米

linjing.io

☁️迈向Cloud Native ADC ☁️

认证获得:
TOGAF: ID 152743
Kubernetes: CKA #664
Microsoft: MCSE MCDBA
Cisco: CCNP
Juniper: JNCIS
F5:
F5 Certified Solution Expert, Security
F5 Certified Technology Specialist, LTM/GTM/APM/ASM
F5 Certified BIG-IP Administrator
  • 点击查看本博技术要素列表
  • 归档
    分类
    • AI
    • Automation
    • Avi Networks
    • Cisco ACI
    • CISCO资源
    • F5 with ELK
    • F5-Tech tips
    • F5技术
    • Juniper
    • Linux
    • NGINX
    • SDN
    • ServiceMesh
    • WEB编程
    • WINDOWS相关
    • 业界文章
    • 交换机技术
    • 化云为雨/Openstack
    • 协议原理
    • 容器/k8s
    • 我的工作
    • 我的生活
    • 网站技术
    • 路由器技术
    • 项目案例
    标签聚合
    api k8s irule bigip flannel istio docker F5 envoy gtm openstack nginx DNS network neutron
    最近评论
    汤姆 发布于 8 个月前(09月10日) 嗨,楼主,里面的json怎么下载啊,怎么收费啊?
    汤姆 发布于 8 个月前(09月09日) 大佬,kib的页面可以分享下吗?谢谢
    zhangsha 发布于 1 年前(05月12日) 资料发给我下,谢谢纳米同志!!!!lyx895@qq.com
    李成才 发布于 1 年前(01月02日) 麻烦了,谢谢大佬
    纳米 发布于 1 年前(01月02日) 你好。是的,因为以前下载系统插件在一次升级后将所有的下载生成信息全弄丢了。所以不少文件无法下载。DN...
    浏览次数
    • Downloads - 183,754 views
    • 联系我 - 118,966 views
    • 迄今为止最全最深入的BIGIP-DNS/GTM原理及培训资料 - 116,431 views
    • Github - 103,633 views
    • F5常见log日志解释 - 79,766 views
    • 从传统ADC迈向CLOUD NATIVE ADC - 下载 - 74,617 views
    • Sniffer Pro 4 70 530抓包软件 中文版+视频教程 - 74,320 views
    • 迄今为止最全最深入的BIGIP-DNS/GTM原理及培训资料 - 67,770 views
    • 关于本站 - 60,882 views
    • 这篇文档您是否感兴趣 - 55,491 views
    链接表
    • F5SE创新
    • Jimmy Song‘s Blog
    • SDNlab
    • Service Mesh社区
    • 三斗室
    • 个人profile
    • 云原生社区

    COPYRIGHT © 2023 Cloud Native 应用交付. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang

    京ICP备14048088号-1

    京公网安备 11010502041506号