Kubernetes 使用 NodePort 类型创建暴露的服务

编辑

Kubernetes 使用 NodePort 类型创建暴露的服务

编辑

此规则检测尝试将服务创建或修改为 NodePort 类型。NodePort 服务允许用户将一组标记的 Pod 暴露到互联网。这会在集群中具有该服务 Pod 的每个工作节点上创建一个开放端口。当在该开放端口上接收外部流量时,它会通过表示它的服务将其定向到特定 Pod。恶意用户可以将服务配置为 NodePort 类型,以便拦截来自其他 Pod 或节点的流量,绕过为集群内的负载均衡器配置的防火墙和其他网络安全措施。这创建了集群与外部世界之间直接通信的方法,这可用于更恶意的行为,并且肯定会扩大集群的攻击面。

规则类型: 查询

规则索引:

  • logs-kubernetes.*

严重性: 中等

风险评分: 47

每隔: 5 分钟运行

搜索索引自: 无 (日期数学格式,另请参见 附加回溯时间)

每次执行的最大告警数: 100

参考:

标签:

  • 数据源: Kubernetes
  • 策略: 执行
  • 策略: 持久性

版本: 203

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

设置

编辑

需要启用审核日志的 Kubernetes Fleet 集成或结构类似的数据才能与该规则兼容。

规则查询

编辑
event.dataset : "kubernetes.audit_logs"
  and kubernetes.audit.annotations.authorization_k8s_io/decision:"allow"
  and kubernetes.audit.objectRef.resource:"services"
  and kubernetes.audit.verb:("create" or "update" or "patch")
  and kubernetes.audit.requestObject.spec.type:"NodePort"

框架: MITRE ATT&CKTM