All Products
Search
Document Center

Container Service for Kubernetes:Audit Log

Last Updated:Mar 17, 2026

Container Service for Kubernetes mengumpulkan dan menganalisis log serta event audit dari berbagai komponen Kubernetes, seperti API server, Ingress, komponen lapisan kontrol, dan event Kubernetes kritis. Kemampuan ini mendukung analisis akar penyebab dan keterlacakan ketika terjadi insiden keamanan atau masalah pada kluster.

Gunakan Fitur Audit Kluster

Pada kluster Kubernetes, log audit API server membantu administrator kluster mencatat dan melacak operasi harian yang dilakukan oleh pengguna berbeda. Kemampuan ini penting untuk operasi dan pemeliharaan keamanan kluster. Untuk informasi tentang pengumpulan dan analisis log audit dengan Simple Log Service, konfigurasi aturan peringatan kustom untuk log audit, serta cara menonaktifkan fitur audit kluster, lihat Gunakan Fitur Audit API Server Kluster.

Kebijakan audit untuk Container Service for Kubernetes (ACK) adalah sebagai berikut:

Catatan

Untuk informasi lebih lanjut tentang deskripsi bidang log audit, lihat audit-k8s-io-v1-Event.

apiVersion: audit.k8s.io/v1beta1 # Ini wajib.
kind: Policy
# Jangan hasilkan event audit untuk semua permintaan pada tahap RequestReceived.
omitStages:
- "RequestReceived"
rules:
# Permintaan berikut diidentifikasi secara manual sebagai ber-volume tinggi dan berisiko rendah. Oleh karena itu, batalkan permintaan ini.
- level: None
  users: ["system:kube-proxy"]
  verbs: ["watch"]
  resources:
    - group: "" # core
      resources: ["endpoints", "services"]
- level: None
  users: ["system:unsecured"]
  namespaces: ["kube-system"]
  verbs: ["get"]
  resources:
    - group: "" # core
      resources: ["configmaps"]
- level: None
  users: ["kubelet"] # identitas kubelet lawas
  verbs: ["get"]
  resources:
    - group: "" # core
      resources: ["nodes"]
- level: None
  userGroups: ["system:nodes"]
  verbs: ["get"]
  resources:
    - group: "" # core
      resources: ["nodes"]
- level: None
  users:
    - system:kube-controller-manager
    - system:kube-scheduler
    - system:serviceaccount:kube-system:endpoint-controller
  verbs: ["get", "update"]
  namespaces: ["kube-system"]
  resources:
    - group: "" # core
      resources: ["endpoints"]
- level: None
  users: ["system:apiserver"]
  verbs: ["get"]
  resources:
    - group: "" # core
      resources: ["namespaces"]
# Jangan catat URL read-only berikut.
- level: None
  nonResourceURLs:
    - /healthz*
    - /version
    - /swagger*
# Jangan catat permintaan event.
- level: None
  resources:
    - group: "" # core
      resources: ["events"]
# Secrets, ConfigMaps, dan TokenReviews dapat berisi data sensitif dan biner,
# sehingga hanya catat pada tingkat metadata.
- level: Metadata
  resources:
    - group: "" # core
      resources: ["secrets", "configmaps"]
    - group: authentication.k8s.io
      resources: ["tokenreviews"]

- level: Request
  verbs: ["get", "list", "watch"]
  resources:
    - group: "" # core
    - group: "admissionregistration.k8s.io"
    - group: "apps"
    - group: "authentication.k8s.io"
    - group: "authorization.k8s.io"
    - group: "autoscaling"
    - group: "batch"
    - group: "certificates.k8s.io"
    - group: "extensions"
    - group: "networking.k8s.io"
    - group: "policy"
    - group: "rbac.authorization.k8s.io"
    - group: "settings.k8s.io"
    - group: "storage.k8s.io"
# Tingkat default untuk API yang dikenal.
- level: RequestResponse
  resources:
    - group: "" # core
    - group: "admissionregistration.k8s.io"
    - group: "apps"
    - group: "authentication.k8s.io"
    - group: "authorization.k8s.io"
    - group: "autoscaling"
    - group: "batch"
    - group: "certificates.k8s.io"
    - group: "extensions"
    - group: "networking.k8s.io"
    - group: "policy"
    - group: "rbac.authorization.k8s.io"
    - group: "settings.k8s.io"
    - group: "storage.k8s.io"
    - group: "autoscaling.alibabacloud.com"
# Tingkat default untuk semua permintaan lainnya.
- level: Metadata

Sesuaikan Aturan Log Audit Kluster

ACK memungkinkan Anda memperluas kemampuan log audit kluster dengan menambahkan aturan kustom. Konfigurasikan aturan ini di auditPolicyRules pada halaman konfigurasi kube-apiserver. Contoh berikut menunjukkan caranya.

image

# Aturan harus didefinisikan dalam format daftar YAML
- level: RequestResponse
  resources:
  - group: "policy.alibabacloud.com"   
    resources: ["policies"]
- level: None
  userGroups: ["system:nodes"]
  verbs: ["update", "patch"]
  resources:
    - group: ""
      resources: ["nodes/status", "pods/status"]

Aturan sebelumnya memiliki dua tujuan:

  • Tingkatkan auditing: Catat semua operasi pada Template Kebijakan Container Service (policies.policy.alibabacloud.com) pada tingkat RequestResponse.

  • Kurangi auditing: Lewati pencatatan pembaruan status node dan Pod—seperti heartbeat—dari komponen kubelet dalam kelompok system:nodes. Hal ini meminimalkan volume log yang tidak perlu.

Untuk detail tentang pendefinisian aturan log audit, lihat Auditing.

Saat mengonfigurasi aturan kustom, perhatikan hal berikut:

  • Cakupan aturan: Kotak input menerima daftar aturan audit (rules), bukan objek kebijakan audit lengkap (Policy).

  • Prioritas aturan: Untuk menjaga garis dasar keamanan audit kluster, Anda tidak dapat mengubah tingkat log untuk permintaan yang telah didefinisikan dalam aturan audit default Container Service.

  • Validitas aturan: Container Service memvalidasi aturan yang ditambahkan terhadap definisi bidang rules dalam policies.audit.k8s.io. Tambahkan hanya aturan audit yang valid, sebagaimana dijelaskan dalam dokumentasi resmi komunitas Kubernetes Audit. Penting: Format log yang salah dapat mengakibatkan apiserver tidak berfungsi dengan baik.

Aktifkan Auditing Aktivitas Internal exec Kontainer

Penyerang sering menggunakan perintah exec untuk masuk ke kontainer dan melancarkan serangan lateral. Secara default, log audit API server kluster tidak menangkap perintah yang dieksekusi setelah penyerang mendapatkan akses ke kontainer. Dengan fitur audit operasi internal kontainer, insinyur operasi dan pemeliharaan keamanan dapat mengambil catatan audit perintah yang dipicu penyerang di dalam instans kontainer. Hal ini mendukung keterlacakan dan remediasi segera untuk insiden keamanan.

Menggunakan Metadata Audit

Log audit Kubernetes mencakup dua anotasi yang menunjukkan apakah suatu permintaan diotorisasiauthorization.k8s.io/decision dan alasan keputusan tersebutauthorization.k8s.io/reason. Gunakan bidang-bidang ini untuk menentukan mengapa panggilan API tertentu diizinkan.

Pantau Event Kluster Mencurigakan Menggunakan NPD dengan Pusat Insiden Kubernetes SLS

NPD (Node Problem Detector) adalah tool diagnostik node Kubernetes yang dikelola oleh Alibaba Cloud Container Service for Kubernetes (ACK). Tool ini mendeteksi anomali node—seperti hang Docker Engine, hang kernel Linux, kegagalan egress jaringan, dan kehabisan deskriptor file—lalu mengonversinya menjadi event node. Saat digunakan bersama kube-eventer, tool ini memungkinkan peringatan event node end-to-end. Selain masalah node real-time yang dideteksi oleh NPD, kluster Kubernetes juga menghasilkan event akibat perubahan status—misalnya, eviction Pod dan kegagalan pull image. Selain itu, Pusat Insiden Kubernetes di Simple Log Service (SLS) mengagregasi semua event Kubernetes secara real time, termasuk operasi mencurigakan seperti pengguna biasa yang mengakses kontainer tertentu menggunakan exec. Layanan ini menyediakan kemampuan penyimpanan, kueri, analisis, visualisasi, dan peringatan untuk membantu personel operasi dan pemeliharaan keamanan mengidentifikasi risiko terhadap stabilitas kluster secara cepat. Untuk informasi lebih lanjut, lihat Pemantauan Event.

Aktifkan Pemantauan Dasbor Ingress

Komponen Ingress Alibaba Cloud mencatat semua permintaan HTTP ke output standar. Alibaba Cloud mengintegrasikan layanan log akses ini dengan Simple Log Service (SLS), memungkinkan Anda membangun dasbor analisis dan pemantauan log dengan cepat. Dasbor visualisasi Ingress menampilkan metrik utama—termasuk PV, UV, traffic, latensi respons, dan statistik Top URL—sehingga Anda dapat memantau dinamika lalu lintas layanan secara real time dan segera mendeteksi akses berbahaya atau serangan denial-of-service (DoS). Untuk informasi lebih lanjut, lihat Pemantauan Dasbor Ingress.

Aktifkan Log CoreDNS

Alibaba Cloud Container Service for Kubernetes (ACK) men-deploy CoreDNS sebagai server DNS kluster. Tinjau log CoreDNS untuk memecahkan masalah seperti resolusi DNS lambat atau akses ke nama domain berisiko tinggi. Dasbor Simple Log Service menyediakan laporan analisis log untuk CoreDNS, membantu Anda segera mengidentifikasi permintaan nama domain mencurigakan. Untuk informasi lebih lanjut, lihat Analisis dan Pemantauan Log CoreDNS.