网络策略通过以下核心手段实现流量精细化控制,核心逻辑可概括为“五维管控+默认安全”:
一、基础管控维度
- 标签选择器(Label Selector)
- 通过Pod/命名空间标签精准定位目标,实现服务级隔离(如
app=web
的Pod仅允许特定流量)。
- 通过Pod/命名空间标签精准定位目标,实现服务级隔离(如
- 协议与端口控制(Ports)
- 明确允许的协议(TCP/UDP)和端口号(如仅开放80/443),关闭冗余端口降低攻击面。
- IP地址段过滤(IP Block)
- 使用CIDR限制访问来源(如仅允许内网
10.0.0.0/8
),或排除恶意IP(如except: 192.168.1.0/24
)。
- 使用CIDR限制访问来源(如仅允许内网
二、流量方向管控
- 入站规则(Ingress)
- 控制外部流量进入Pod的规则,结合
from
(来源)和ports
(端口)实现访问控制(如仅允许负载均衡器访问)。
- 控制外部流量进入Pod的规则,结合
- 出站规则(Egress)
- 限制Pod向外发送流量的目标,结合
to
(目标)和ports
防止数据泄露(如禁止访问恶意IP)。
- 限制Pod向外发送流量的目标,结合
三、高级隔离手段
- 命名空间隔离(Namespace Selector)
- 通过命名空间标签实现环境隔离(如开发/生产命名空间互不通信)。
- 默认拒绝策略(Default Deny)
- 采用“白名单模式”,未显式允许的流量均被拒绝(如空
podSelector
策略默认阻断所有流量)。
- 采用“白名单模式”,未显式允许的流量均被拒绝(如空
四、策略优化原则
- 最小权限原则:仅开放必要端口和来源,避免过度授权。
- 策略合并逻辑:多个策略匹配时,取交集执行(逻辑AND)。
- 云原生集成:与云安全组(如AWS SG)联动,构建多层次防护。
总结:网络策略通过标签、IP、端口、方向四要素定位流量,结合默认拒绝实现“最小开放”,最终形成可扩展、高安全的流量控制体系。
- 身份维度(标签选择器)
- 作用:基于Pod/命名空间的标签(如
app=web
、env=prod
)定位目标,实现服务级或环境级隔离。 - 场景:微服务架构中,仅允许
frontend
服务访问backend
服务,或禁止开发环境访问生产数据库。
- 作用:基于Pod/命名空间的标签(如
- 地址维度(IP段过滤)
- 作用:通过CIDR(如
10.0.0.0/8
)限制访问来源或目标,防止外部恶意IP接入。 - 场景:仅允许内网IP访问内部API,或阻断已知恶意IP段的扫描行为。
- 作用:通过CIDR(如
- 协议与端口维度
- 作用:控制允许的协议(TCP/UDP)和端口号(如80/443),关闭非必要端口。
- 场景:Web服务仅开放HTTPS端口,禁止SSH(22端口)外联,减少攻击入口。
- 流量方向维度(入站/出站)
- 入站(Ingress):控制外部流量进入Pod的规则,结合
from
(来源)和ports
(端口)实现访问控制。- 场景:仅允许负载均衡器访问Web服务,拒绝直接外部访问。
- 出站(Egress):限制Pod向外发送流量的目标,结合
to
(目标)和ports
防止数据泄露。- 场景:禁止应用访问非授权的外部API,或限制数据库Pod仅能连接特定IP的备份服务。
- 入站(Ingress):控制外部流量进入Pod的规则,结合
- 环境维度(命名空间隔离)
- 作用:通过命名空间标签(如
team=a
、tier=frontend
)实现跨团队或跨环境隔离。 - 场景:不同团队的Pod无法互相访问,或开发/测试/生产环境流量完全隔离。
- 作用:通过命名空间标签(如