Catalog

Kubernetes

Kubernetes

Pack nameKubernetes
Version1.0.0
VendorCloud Native Computing Foundation (CNCF)
CapabilitiesParser · Streaming Rules · Correlation Rules · Dashboard
CategoriesCloud · Container · Kubernetes · Infrastructure

Overview

Pack cung cấp giám sát bảo mật toàn diện Kubernetes cluster trên SecOps platform, bao gồm:

  • Parser — chuẩn hóa 3 loại log K8s (pod container logs, cluster events, API audit logs) sang ECS
  • 7 streaming rules — phát hiện CrashLoop, API auth failure, container error/fatal, pod scheduling fail, resource deletion, container killed
  • 2 correlation rules — phát hiện container error spike và API auth burst
  • 1 dashboard — 12 chart giám sát SOC cluster health và security

Yêu cầu trước khi cài đặt

Yêu cầuChi tiết
Log shipperFluentd với kubernetes_metadata_filter hoặc Filebeat với add_kubernetes_metadata processor
Container logsStdout/stderr của pod — thu thập tự động qua node-level log driver
Cluster eventsKubelet event recording — mặc định enabled trong hầu hết distributions
API audit logsBật API server audit: --audit-log-path, --audit-policy-file

Định dạng log bắt buộc

{
  "message": "<log line from container or event message>",
  "timestamp": "2024-01-15T10:30:00.000Z",
  "kubernetes": {
    "pod_name": "webapp-deployment-abc12-xyz9",
    "namespace_name": "production",
    "container_name": "webapp",
    "container_id": "docker://a1b2c3d4e5f6abcd1234",
    "pod_id": "pod-uid-1234-abcd-5678-efgh",
    "host": "k8s-worker-node-01",
    "labels": { "app": "webapp" }
  }
}

Parser phân biệt loại log theo cấu trúc JSON và nội dung message. Kubernetes metadata được extract từ object kubernetes.*.

Ví dụ log hợp lệ

Container log — ERROR level:

{"@timestamp":"2024-01-15T10:30:00.000Z","message":"ERROR Failed to connect to database: connection refused after 30s","timestamp":"2024-01-15T10:30:00.000Z","kubernetes":{"pod_name":"webapp-deployment-abc12-xyz9","namespace_name":"production","container_name":"webapp","container_id":"docker://a1b2c3d4e5f6abcd1234","pod_id":"pod-uid-1234-abcd","host":"k8s-worker-node-01","labels":{"app":"webapp"}}}

Cluster event — CrashLoopBackOff:

{"@timestamp":"2024-01-15T10:35:00.000Z","message":"Back-off restarting failed container webapp in pod webapp-deployment-abc12-xyz9_production(pod-uid-1234)","timestamp":"2024-01-15T10:35:00.000Z","kubernetes":{"pod_name":"webapp-deployment-abc12-xyz9","namespace_name":"production","container_name":"webapp","container_id":"docker://a1b2c3d4e5f6abcd1234","pod_id":"pod-uid-1234","host":"k8s-worker-node-01"}}

API audit log — authorization failure:

{"@timestamp":"2024-01-15T10:40:00.000Z","message":"{\"kind\":\"Event\",\"apiVersion\":\"audit.k8s.io/v1\",\"verb\":\"delete\",\"user\":{\"username\":\"system:serviceaccount:default:bad-actor\"},\"responseStatus\":{\"code\":403,\"message\":\"Forbidden\"}}","timestamp":"2024-01-15T10:40:00.000Z","kubernetes":{"pod_name":"kube-apiserver-master","namespace_name":"kube-system","container_name":"kube-apiserver","host":"k8s-master-01"}}

Parser tự động phát hiện loại log qua nội dung message (BackOff, FATAL, ERROR prefix, JSON audit structure).


Cài đặt

  1. Vào Marketplace → tìm "Kubernetes Security"Install
  2. Kiểm tra Parserskubernetes-parser đang active
  3. Kiểm tra Detection Rules → filter tag Kubernetes → 9 rules đang enabled
  4. Mở DashboardsKubernetes Security Overview

Parser — Các trường ECS chính

ECS FieldNguồnMô tả
event.actionDerived từ messagecrash_loop, auth_failure, container_error, resource_delete...
event.outcomeDerivedsuccess / failure
log.levelMessage prefix hoặc API response codeerror, fatal, warning
container.namekubernetes.container_nameTên container
container.idkubernetes.container_idContainer ID
host.hostnamekubernetes.hostNode hostname
user.nameAPI audit user.usernameUser thực hiện API call
labels.namespacekubernetes.namespace_nameKubernetes namespace

Detection Rules

Streaming Rules (7 rules — real-time)

#RuleSeverityMô tả
1Kubernetes Container CrashLoopHighContainer liên tục crash và restart — service instability hoặc misconfiguration nghiêm trọng
2Kubernetes API Authorization FailureMediumAPI call bị từ chối vì không đủ quyền — unauthorized access hoặc misconfigured RBAC
3Kubernetes Container Error LogLowContainer log ở level ERROR — application error cần điều tra
4Kubernetes Pod Scheduling FailedMediumPod không thể schedule lên node — resource constraint hoặc taint/toleration issue
5Kubernetes Resource Deletion EventMediumTài nguyên K8s bị xóa qua API — giám sát xóa deployment, service, configmap bất thường
6Kubernetes Container Fatal LogHighContainer log ở level FATAL — lỗi nghiêm trọng dẫn đến service crash
7Kubernetes Container KilledMediumContainer bị kill bởi OOMKiller hoặc liveness probe failure

Correlation Rules (2 rules — pattern)

#RuleSeverityMô tảNgưỡngLookback
8Kubernetes Container Error SpikeHighĐột biến error log từ cùng container — service đang gặp sự cố nghiêm trọng> 20 error10 phút
9Kubernetes API Auth Failure BurstHighNhiều API auth failure từ cùng user — brute-force service account hoặc token abuse> 10 lần5 phút

Dashboard — Kubernetes Security Overview

#ChartLoạiMô tả
1Events TrendLINETrend security events theo thời gian
2Total EventsMETRICTổng số sự kiện K8s
3CrashLoop EventsMETRICTổng container crash events
4API Auth FailuresMETRICTổng API authorization failures
5Container Error/Fatal LogsMETRICTổng ERROR/FATAL container logs
6Event Action DistributionPIEPhân bố loại sự kiện
7Log Level DistributionPIEERROR vs FATAL vs WARNING
8Top Crashing ContainersBARContainer bị crash nhiều nhất
9Top API Failure UsersBARService account có nhiều auth failure nhất
10Top Namespaces by EventsBARNamespace có nhiều sự kiện nhất
11Recent Critical EventsTABLE20 sự kiện CrashLoop/Fatal gần nhất
12Recent API Auth FailuresTABLE20 API auth failure gần nhất

SOC Triage nhanh:

  1. Metric 3 → CrashLoop cao → service instability, kiểm tra deployment config
  2. Metric 4 → API failures cao → RBAC misconfiguration hoặc unauthorized access
  3. Chart 8 → một container crash liên tục → điều tra application và resource limits
  4. Table 12 → xác nhận service account bị lạm dụng

Troubleshooting

Triệu chứngNguyên nhânCách xử lý
Không có eventThiếu kubernetes metadataKiểm tra Fluentd/Filebeat có kubernetes_metadata_filter enabled
Chỉ có container logsAPI audit logs chưa bậtEnable API server audit: --audit-log-path--audit-policy-file
container.name trốngJSON thiếu kubernetes.container_nameKiểm tra cấu hình log shipper output JSON structure
CrashLoop không detectMessage format khácKiểm tra kubelet event message chứa "Back-off restarting failed container"
Parser không khớpParser bị tắtKiểm tra kubernetes-parser.yaml đang active trong Parsers

Checklist parser:

  • JSON có đủ message, timestamp, kubernetes object
  • kubernetes.pod_name, kubernetes.namespace_name, kubernetes.container_name có giá trị
  • API audit logs được forward nếu cần giám sát API security
  • kubernetes-parser.yaml đang active

Hỗ trợ

  • Lỗi platform: Mở ticket tại SecOps support portal
  • Góp ý pack: Dùng tính năng feedback trên trang Marketplace
  • Tuning rule: Slack #detection-engineering

Last updated: 2026-06-04 · Vendor: CNCF · Author: secops-team