背景与价值云原生环境需严格出口治理。Egress策略结合DNS白名单可控制出站流量并减少风险。统一规范Egress白名单:仅允许受控CIDR与端口。DNS白名单:解析目标域仅限批准列表。审计:记录策略命中与拒绝事件。核心实现CIDR与端口策略占位type Rule = { cidr: string; ports: number[] } const rules: Rule[] = [{ cidr: '203.0.113.0/24', ports: [443, 53] }] function ipv4ToInt(ip: string): number { const m = ip.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/); if (!m) return -1; const n = m.slice(1).map(Number); for (const x of n) if (x<0||x>255) return -1; return ((n[0]<<24)>>>0)+(n[1]<<16)+(n[2]<<8)+n[3] } function inCidr(ip: string, cidr: string): boolean { const [b,p] = cidr.split('/'); const base = ipv4ToInt(b); const mask = (~0 << (32-Number(p)))>>>0; const v = ipv4ToInt(ip); if (base<0||v<0) return false; return (v & mask) === (base & mask) } function allowed(ip: string, port: number): boolean { return rules.some(r => inCidr(ip, r.cidr) && r.ports.includes(port)) } DNS白名单const allowDomains = new Set(['api.example.com','metrics.example.com']) function domainAllowed(d: string): boolean { return allowDomains.has(d) } 落地建议为命名空间与应用制定Egress白名单策略并限制端口与CIDR。使用DNS白名单控制解析结果与访问通道,统一审计拒绝请求。验证清单出站目标是否命中CIDR与端口白名单;域名是否在DNS白名单中。

发表评论 取消回复