背景
随着容器、微服务、持续交付等云原生技术普及,大量应用基于K8s容器编排构建。相比传统网络模式,在云原生场景下,存在大量微服务模块间网络调用,集群内东西向通信流量激增,网络边界变得更加模糊。
容器环境中,容器IP和端口变换频繁,应用混合部署带来的通信关系复杂,传统基于静态IP和端口的边界安全规则已无法适用容器环境下细粒度的访问控制要求。默认情况下,K8s集群中不对Pod进行任何请求限制,任意Pod之间可以自由通信。正因此,在面对网络攻击时,没有安全规则的容器网络将给攻击者更多的自由和渗透空间。
如何实施容器间网络访问控制,打造安全的容器网络通信边界和通信架构,成为云原生时代关键的网络安全问题。为助力企业破局,腾讯云容器安全服务容器网络隔离功能于9月重磅发布,提供基于 K8s 原生Networkpolicy 的集群容器间网络策略下发和管理能力,帮助企业快速构建安全可信的容器网络。
K8s Networkpolicy介绍
针对上述问题,Kubernetes社区提供了官方解决方案,自v1.3版本起,新增了Networkpolicy资源,用于定义Pod之间的网络访问控制规则,并在v1.7版本中成为GA功能,API版本为networking.k8s.io/v1。
Networkpolicy实现了细粒度的容器访问控制策略,使用“Label标签”选定Pod范围,支持基于Pod应用粒度对指定Pod进行出入站访问控制,可配置IP段、命名空间以及应用(Pod)端口级规则。
默认情况下,一个应用(Pod)的网络会接受任何来源的通信请求,根据最佳安全实践,应用(Pod)应该只放行其业务范围内的正常通信请求。这对攻击者在初始访问阶段进行的入侵探测和漏洞利用,以及网络失陷后进行的横向扫描和渗透具有很大的防御效果。
以下是一个Networkpolicy策略示例,要求db应用只能够和web服务之间通信,拒绝其它通信连接请求:
通过Networpolicy实施容器网络访问控制具有以下优势:
不过,K8s Networkpolicy通过编写yaml定义访问控制规则,存在一定的学习和使用门槛,同时在策略的管理上也存在不便。
腾讯云容器网络隔离功能介绍
腾讯云容器安全服务于2021年7月正式上线,提供镜像扫描、漏洞防御、集群安全管理、基线管理、运行时入侵防御的全流程容器安全解决方案。
容器网络隔离功能于9月发布,该特性提供基于 K8s 原生 Networkpolicy 的集群容器间网络策略下发和管理能力,通过对集群内的防护对象进行定义,设置防护对象的出站和入站规则实现容器间网络访问控制。
通过容器网络隔离功能,可以实现:
同时我们提供策略可视化编辑功能,不用编写复杂的yaml规则,通过图形化配置来快捷的创建和配置容器网络策略规则,大大降低学习和配置成本,直观展现出网络策略的实施效果,哪些请求能允许访问,哪些请求不被允许非常清楚:
这里提供了9个实施容器网络访问控制的常见场景,您可基于容器网络隔离功能快速构建安全可信的容器网络。(查看地址:https://cloud.tencent.com/document/product/1285/80415)
如何快速体验?
登录腾讯云容器安全服务控制台可免费开启体验
(https://cloud.tencent.com/document/product/1285/80414)
END
更多精彩内容点击下方扫码关注哦~
云鼎实验室视频号
一分钟走进趣味科技
-扫码关注我们-
关注云鼎实验室,获取更多安全情报