全部产品
Search
文档中心

Container Service for Kubernetes:Log Audit

更新时间:Jul 02, 2025

Container Service for Kubernetes (ACK) memungkinkan pengumpulan dan analisis log audit komponen Kubernetes, termasuk log audit server API, Ingress, komponen kontrol plane, serta peristiwa penting Kubernetes. Hal ini membantu Anda mengidentifikasi penyebab masalah keamanan atau gangguan klaster dalam data log.

Menggunakan audit klaster

Log audit server API klaster Kubernetes membantu administrator melacak operasi yang dilakukan oleh berbagai pengguna. Audit memainkan peran penting dalam keamanan klaster serta operasi dan pemeliharaannya. Untuk informasi lebih lanjut tentang cara mengumpulkan dan menganalisis log audit menggunakan Simple Log Service, menetapkan aturan peringatan kustom, dan menonaktifkan audit klaster, lihat Bekerja dengan Audit Klaster.

ACK menyediakan kebijakan audit berikut:

Catatan

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

apiVersion: audit.k8s.io/v1beta1 # Ini diperlukan.
kind: Policy
#Jangan buat peristiwa audit untuk permintaan pada tahap RequestReceived. 
omitStages:
- "RequestReceived"
rules:
#Abaikan permintaan berikut karena permintaan tersebut diidentifikasi secara manual sebagai volume tinggi dan risiko rendah. 
- 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 lama
  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 audit permintaan yang dikirim ke URL baca-saja berikut. 
- level: None
  nonResourceURLs:
    - /healthz*
    - /version
    - /swagger*
#Jangan audit permintaan yang dihasilkan dari peristiwa audit. 
- level: None
  resources:
    - group: "" # core
      resources: ["events"]
#Secrets, ConfigMaps, dan token reviews dapat berisi data sensitif dan biner. 
#Oleh karena itu, Anda hanya dapat mengaudit metadata dari sumber daya ini. 
- 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 audit default untuk permintaan dan respons API yang diketahui. 
- 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 audit default untuk permintaan lainnya. 
- level: Metadata

Aktifkan audit aktivitas internal untuk container exec

Penyerang sering menjalankan perintah exec untuk masuk ke container dan memulai serangan lateral di klaster Kubernetes. Setelah berhasil masuk, log audit server API default tidak dapat mencatat perintah yang diinisiasi oleh penyerang. Dalam skenario ini, menggunakan audit aktivitas internal container membantu insinyur O&M mendapatkan log audit perintah yang diinisiasi oleh penyerang setelah mereka masuk ke container. Ini membantu mengidentifikasi penyebab peristiwa keamanan dan mencegah kerugian bisnis.

Gunakan metadata log audit

Log audit Kubernetes mencakup dua anotasi: authorization.k8s.io/decision dan authorization.k8s.io/reason. Anotasi authorization.k8s.io/decision menunjukkan apakah permintaan diotorisasi, sedangkan anotasi digunakan untuk menentukan alasan operasi API tertentu dapat dipanggil.

Gunakan node-problem-detector dengan pusat acara Kubernetes dari Simple Log Service untuk mengidentifikasi peristiwa klaster abnormal

Node-problem-detector adalah alat yang dikelola oleh ACK untuk mendiagnosis node Kubernetes. Alat ini mendeteksi pengecualian node, menghasilkan peristiwa node, dan bekerja sama dengan kube-eventer untuk menghasilkan peringatan atas peristiwa tersebut, memungkinkan manajemen peringatan loop tertutup. Node-problem-detector menghasilkan peristiwa node ketika mendeteksi pengecualian seperti mesin Docker macet, kernel Linux macet, pengecualian lalu lintas arah keluar, dan pengecualian deskriptor file. Selain masalah dan pengecualian node yang dideteksi oleh node-problem-detector, klaster Kubernetes juga menghasilkan peristiwa ketika status klaster berubah, misalnya saat pod dievakuasi atau klaster gagal menarik gambar. Pusat Acara Kubernetes dari Simple Log Service mengumpulkan semua peristiwa yang dihasilkan di klaster Kubernetes dan menyediakan kemampuan penyimpanan, kueri, analitik, visualisasi, serta peringatan. Pusat acara ini membantu insinyur O&M mengidentifikasi masalah yang dapat mempengaruhi stabilitas klaster dan peristiwa abnormal, seperti pengguna reguler menjalankan perintah exec untuk masuk ke container tertentu. Untuk informasi lebih lanjut, lihat Pemantauan Peristiwa.

Aktifkan dasbor Ingress

Kontroler Ingress ACK memungkinkan pengaliran semua data log permintaan HTTP ke output standar. ACK juga terintegrasi dengan Simple Log Service, memungkinkan Anda membuat dasbor untuk memantau dan menganalisis data log. Dasbor Ingress menampilkan informasi berikut tentang status Ingress di klaster: jumlah tampilan halaman (PV), jumlah pengunjung unik (UV), lalu lintas arah masuk dan arah keluar, latensi rata-rata, serta URL teratas. Ini membantu Anda mendapatkan wawasan tentang lalu lintas layanan, serta mendeteksi lalu lintas jahat dan serangan DDoS sejak dini. Untuk informasi lebih lanjut, lihat Dasbor Ingress.

Aktifkan logging untuk CoreDNS

CoreDNS diterapkan di klaster ACK dan berfungsi sebagai server DNS. Anda dapat memeriksa log CoreDNS untuk mengidentifikasi penyebab resolusi DNS lambat atau menganalisis kueri DNS untuk nama domain berisiko tinggi. Laporan analitis log CoreDNS dapat dilihat di dasbor Simple Log Service, membantu Anda mengidentifikasi kueri DNS untuk nama domain berisiko tinggi. Untuk informasi lebih lanjut, lihat Kumpulkan dan Analisis Log CoreDNS.