Kubernetes 使用 NodePort 类型暴露的服务
编辑Kubernetes 使用 NodePort 类型暴露的服务
编辑此规则检测尝试创建或修改类型为 NodePort 的服务。NodePort 服务允许用户将一组标记的 Pod 外部暴露到 Internet。这会在集群中每个包含该服务 Pod 的工作节点上创建一个开放端口。当在该开放端口上接收到外部流量时,它会将流量定向到表示它的特定 Pod。恶意用户可以将服务配置为 NodePort 类型,以便拦截来自其他 Pod 或节点的流量,从而绕过为集群内负载均衡器配置的防火墙和其他网络安全措施。这会在集群和外部世界之间创建直接通信方法,该方法可用于更多恶意行为,并且肯定会扩大集群的攻击面。
规则类型: 查询
规则索引:
- logs-kubernetes.*
严重性: 中
风险评分: 47
运行频率: 5 分钟
搜索索引时间范围: 无 ( 日期数学格式,另请参阅 额外回溯时间
)
每次执行的最大警报数: 100
参考资料:
- https://kubernetes.ac.cn/zh-cn/docs/concepts/services-networking/service/#publishing-services-service-types
- https://kubernetes.ac.cn/zh-cn/docs/concepts/services-networking/service/#type-nodeport
- https://www.tigera.io/blog/new-vulnerability-exposes-kubernetes-to-man-in-the-middle-attacks-heres-how-to-mitigate/
标签:
- 数据源: 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
-
战术
- 名称: 持久化
- ID: TA0003
- 参考 URL: https://attack.mitre.org/tactics/TA0003/
-
技术
- 名称: 外部远程服务
- ID: T1133
- 参考 URL: https://attack.mitre.org/techniques/T1133/