使用类型 NodePort 创建的 Kubernetes 公开服务

编辑

使用类型 NodePort 创建的 Kubernetes 公开服务编辑

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

规则类型: 查询

规则索引:

  • logs-kubernetes.*

严重程度: 中

风险评分: 47

运行频率: 5 分钟

搜索索引范围: 无(日期数学格式,另请参阅额外回溯时间

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

参考:

标签:

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

版本: 203

规则作者:

  • Elastic

规则许可证: Elastic 许可证 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