首页/安全/漏洞与攻击面速查/Kubernetes 对外暴露入口核查
暴露面收敛45 条

Kubernetes 对外暴露入口核查

集群对外入口来自 LoadBalancer 类型 Service、Ingress、NodePort 与网关:定期导出清单并与业务确权,关闭闲置入口;管理面 API 与 Dashboard 不应公网可达。

漏洞与攻击面速查安全更新于 2026-10-13

Kubernetes 对外入口核查是什么

集群对外的入口来自 LoadBalancer 类型的 Service、Ingress、NodePort 与网关组件。这些入口随业务迭代快速增加,很容易留下测试入口与闲置服务。核查做法是定期导出清单并逐条确权(业务名、域名、归属团队、必要性),同时确认管理面组件——API Server、Dashboard、监控面板等——不对公网开放。

基本信息

入口类型LoadBalancer Service、Ingress、NodePort、网关
管理面kube-apiserver、Dashboard、监控面板仅内网或白名单可达
默认后端未匹配请求的默认响应可能泄露集群信息,需配置自定义默认页
收敛手段闲置入口删除;NodePort 尽量替换为受控入口

清单导出命令

清单导出命令
kubectl get svc -A --field-selector spec.type=LoadBalancer
kubectl get svc -A --field-selector spec.type=NodePort
kubectl get ingress -A
kubectl get gateway -A 2>/dev/null   # 使用 Gateway API 的集群
# 输出逐条确权:业务名、域名、归属团队、必要性、可否下线

典型使用场景

  • 季度暴露面复核:导出入口清单与业务台账比对确权
  • 成本与安全双收益:云上 LoadBalancer 按量计费,闲置入口既花钱又占面
  • 上线管控:新入口通过统一网关接入,避免各团队自建
  • 管理面检查:确认 Dashboard 与 API Server 不对公网开
  • 应急排查:攻击事件中确认是否存在未知入口

入口类型与风险

入口暴露方式风险点
LoadBalancer云上分配公网 IP闲置后仍占用公网地址
Ingress按域名暴露默认后端泄露集群信息
NodePort节点 IP 全段开放任意节点 IP 加端口即可访问
管理面组件通常同集群部署一旦暴露即高价值目标
云上 LoadBalancer 会产生费用:账单维度反过来是发现闲置入口的好工具,把账单清单与入口清单一起看效率最高。
NodePort 的风险容易被低估:它对所有节点 IP 开放,节点数量越多暴露点越多,应尽量替换为统一网关入口。

入口收敛动作

入口收敛动作验证方式
LoadBalancer闲置的直接释放,保留的加白名单从外部复测公网地址不可达
Ingress配置自定义默认后端未匹配域名不再返回集群信息
NodePort替换为统一网关入口节点 IP 加端口不再可达
管理面限制为内网或跳板机访问外部复测 Dashboard 不可达

易错点

  • 测试用的 NodePort 服务长期保留:整个节点 IP 段上都是开放端口
  • Ingress 使用默认后端,未匹配请求返回集群信息与版本
  • Dashboard 或监控面板直接暴露公网且沿用弱口令
  • 入口清单从不与业务确权,无主入口一直挂着
  • 多集群多网关各自为政,漏掉某个集群的对外入口

数据来源与参考

  • Kubernetes 文档(Service 与 Ingress)
  • Kubernetes 安全公告(入口相关)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌