全部产品
Search
文档中心

Security Center:Tambahkan kluster Kubernetes yang dikelola sendiri ke Pusat Keamanan

更新时间:Jan 23, 2026

Pusat Keamanan memungkinkan Anda menambahkan kluster Kubernetes yang dikelola sendiri untuk manajemen terpusat dan deteksi risiko. Topik ini menjelaskan cara menambahkan kluster tersebut ke Pusat Keamanan.

Persyaratan edisi

  • Layanan berlangganan: Ultimate (Jika versi Anda saat ini tidak didukung, Anda harus tingkatkan).

    Catatan

    Tingkat perlindungan server harus diatur ke Ultimate. Untuk informasi lebih lanjut, lihat Lampirkan tingkat perlindungan ke server.

  • Layanan bayar sesuai penggunaan: Layanan bayar sesuai penggunaan diaktifkan untuk Host and Container Security. Jika tidak, lihat Pembelian.

    Catatan

    Anda harus mengatur tingkat perlindungan server ke Host and Container Protection. Untuk informasi lebih lanjut, lihat Lampirkan tingkat perlindungan server.

Batasan

Kluster Kubernetes yang dikelola sendiri harus berada di wilayah yang didukung.

  • Jika kluster Kubernetes yang dikelola sendiri diterapkan dalam virtual private cloud (VPC), kluster tersebut harus berada di wilayah China (Hangzhou), China (Beijing), China (Shanghai), China (Shenzhen), atau China (Hong Kong).

  • Jika kluster Kubernetes yang dikelola sendiri diterapkan di Internet, tidak ada batasan wilayah.

Prasyarat

  • Kluster Kubernetes telah dibuat di server Anda.

  • Docker telah diinstal.

  • Untuk menggunakan fitur analisis eksposur kluster, konfigurasikan jaringan berikut berdasarkan metode penerapan kluster dan kebijakan kontrol akses Anda. Untuk informasi lebih lanjut, lihat Analisis eksposur kluster.

    • Jika kluster Kubernetes yang dikelola sendiri diterapkan di cloud hibrida dan tidak dapat diakses melalui Internet, aturan pengalihan lalu lintas dikonfigurasi dan koneksi jaringan normal.

      Konfigurasikan aturan pengalihan lalu lintas

      Tentukan instance Elastic Compute Service (ECS) dan konfigurasikan aturan pengalihan lalu lintas untuk meneruskan lalu lintas yang ditujukan untuk instance ECS ke server lokal tempat API server untuk kluster Kubernetes yang dikelola sendiri diinstal.

      Dalam contoh perintah berikut, lalu lintas pada Port A dari instance ECS yang menggunakan alamat IP 10.0.XX.XX diteruskan ke Port B dari server lokal yang menggunakan alamat IP 192.168.XX.XX.

      • Contoh perintah untuk CentOS 7

        • Gunakan firewall-cmd

          firewall-cmd --permanent --add-forward-port=port=<Port A>:proto=tcp:toaddr=<192.168.XX.XX>:toport=<Port B>
        • Gunakan iptables

        • # Aktifkan penerusan port.
          echo "1" 	> /proc/sys/net/ipv4/ip_forward
          
          # Konfigurasikan penerusan port.
          iptables -t nat -A PREROUTING -p tcp --dport <Port A> -j DNAT --to-destination <192.168.XX.XX>:<Port B>
      • Contoh perintah untuk Windows

        netsh interface portproxy add v4tov4 listenport=<Port A> listenaddress=* connectaddress=<192.168.XX.XX> connectport=<Port B> protocol=tcp
  • Jika kebijakan kontrol akses dikonfigurasikan untuk kluster Anda, pastikan alamat IP yang sesuai dengan wilayah kontainer Anda ditambahkan ke daftar putih.

    Wilayah dan Alamat IP

    Wilayah

    Alamat IP Publik

    Alamat IP Privat

    China (Hangzhou)

    47.96.166.214

    100.104.12.64/26

    China (Shanghai)

    139.224.15.48, 101.132.180.26, 47.100.18.171, 47.100.0.176, 139.224.8.64, 101.132.70.106, 101.132.156.228, 106.15.36.12, 139.196.168.125, 47.101.178.223, dan 47.101.220.176

    100.104.43.0/26

    China (Qingdao)

    47.104.111.68

    100.104.87.192/26

    China (Beijing)

    47.95.202.245

    100.104.114.192/26

    China (Zhangjiakou)

    39.99.229.195

    100.104.187.64/26

    China (Hohhot)

    39.104.147.68

    100.104.36.0/26

    China (Shenzhen)

    120.78.64.225

    100.104.250.64/26

    China (Guangzhou)

    8.134.118.184

    100.104.111.0/26

    China (Hong Kong)

    8.218.59.176

    100.104.130.128/26

    Jepang (Tokyo)

    47.74.24.20

    100.104.69.0/26

    Singapura

    8.219.240.137

    100.104.67.64/26

    AS (Silicon Valley)

    47.254.39.224

    100.104.145.64/26

    AS (Virginia)

    47.252.4.238

    100.104.36.0/26

    Jerman (Frankfurt)

    47.254.158.71

    172.16.0.0/20

    Inggris (London)

    8.208.14.12

    172.16.0.0/20

    Indonesia (Jakarta)

    149.129.238.99

    100.104.193.128/26

Tambahkan kluster Kubernetes yang dikelola sendiri ke Pusat Keamanan

  1. Masuk ke konsol Pusat Keamanan. Di bilah navigasi atas, pilih wilayah aset yang ingin Anda kelola. Anda dapat memilih China atau Outside China.

  2. Di panel navigasi sisi kiri, pilih Assets > Container.

  3. Di tab Cluster, klik Self-built cluster access.

  4. Di panel Self-built cluster management, klik Self-built cluster access. Di panel yang muncul, konfigurasikan kluster yang ingin Anda tambahkan ke Pusat Keamanan dan klik Generate Command.

    Parameter

    Deskripsi

    Cluster name

    Masukkan nama kluster Kubernetes yang dikelola sendiri. Contoh: text-001.

    Expiration Time

    Pilih waktu kadaluarsa perintah yang digunakan untuk menambahkan kluster Kubernetes yang dikelola sendiri.

    Group

    Pilih kelompok ke mana Anda ingin menambahkan kluster. Atur parameter ini ke kelompok server tempat kluster dibuat.

    Service Provider

    Pilih penyedia layanan server tempat kluster dibuat.

  5. Opsional. Di bagian Enable Log Collection, tentukan apakah akan mengaktifkan deteksi ancaman berbasis log untuk kluster Kubernetes.

    Setelah Anda mengaktifkan deteksi ancaman berbasis log, Pusat Keamanan mengumpulkan lebih banyak log audit untuk deteksi risiko lebih lanjut. Sebelum Anda mengaktifkan deteksi ancaman berbasis log, Anda harus menginstal komponen Logtail di kluster Kubernetes dan mengonfigurasi pengaturan terkait audit. Untuk informasi lebih lanjut, lihat Aktifkan deteksi ancaman berbasis log.

  6. Masuk ke server tempat kluster dibuat, buat file YAML bernama text-001 di server, salin perintah yang dihasilkan ke file tersebut, dan jalankan perintah kubectl apply -f text-001.yaml di server. Kemudian, kluster ditambahkan ke Pusat Keamanan.

    Perintah yang dihasilkan di Langkah 4 tidak menambahkan Node Master dan taint secara default. Jika Anda perlu menambahkan Node Master dan taint, Anda dapat memodifikasi konfigurasi file YAML berdasarkan instruksi berikut.

    Instruksi

    Jika Anda perlu menambahkan node master atau node yang ditandai sebagai bagian dari kluster Anda ke Pusat Keamanan, Anda harus mengonfigurasi toleransi di templat pod DaemonSet untuk memungkinkan pod dijadwalkan pada node-node tersebut.

    • Untuk node master, konfigurasikan Toleration berikut di bawah spec>template>spec dalam file YAML untuk mengizinkan pod DaemonSet dijadwalkan pada node master dengan tanda node-role.kubernetes.io/master:NoSchedule. Ini menambahkan node master ke Pusat Keamanan sebagai bagian dari kluster.

      spec:
        template:
          spec:
            tolerations:
            - key: node-role.kubernetes.io/master
              operator: Exists
              effect: NoSchedule
    • Untuk node dengan tanda, lihat konfigurasi Toleration untuk node master di atas untuk menjadwalkan pod DaemonSet pada node yang ditandai. Ini menambahkan node yang ditandai ke Pusat Keamanan sebagai bagian dari kluster.

    Catatan

    Pada langkah ini, text-001 di kedua text-001.yaml dan kubectl apply -f text-001.yaml adalah nilai contoh dari parameter Cluster name. Dalam operasi sebenarnya, Anda harus mengganti text-001 dengan nilai yang Anda tentukan untuk parameter Cluster name.

    Setelah kluster Kubernetes yang dikelola sendiri ditambahkan ke Pusat Keamanan, Anda dapat melihat informasi kluster di daftar kluster pada tab Cluster.

Aktifkan deteksi ancaman berbasis log

Jika versi Kubernetes kluster adalah 1.16 atau lebih baru, Anda dapat mengaktifkan deteksi ancaman berbasis log untuk deteksi risiko yang lebih komprehensif pada kluster. Risiko seperti operasi berisiko tinggi dan perilaku serangan dapat dideteksi.

Langkah 1. Instal komponen Logtail

Untuk instruksi spesifik, lihat Install Logtail di Instal komponen Logtail di kluster Kubernetes yang dikelola sendiri.

Langkah 2. Aktifkan fitur audit kluster

Prosedur berikut hanya untuk referensi. Untuk informasi lebih lanjut, lihat Aktifkan audit kluster untuk kluster.

  1. Buat kluster terdaftar dan tambahkan kluster Kubernetes yang dikelola sendiri ke kluster terdaftar. Untuk informasi lebih lanjut, lihat Buat kluster terdaftar ACK One.

  2. Konfigurasikan file audit-policy.yaml untuk node master.

    Masuk ke node master dan modifikasi file /etc/kubernetes/audit-policy.yaml berdasarkan template berikut. Anda juga harus melakukan langkah ini pada node master lainnya.

    Catatan

    Jika versi Kubernetes kluster lebih awal dari 1.24, atur apiVersion ke audit.k8s.io/v1beta1. Jika tidak, atur apiVersion ke audit.k8s.io/v1. Untuk informasi lebih lanjut, lihat (Tidak digunakan lagi) Kubernetes 1.24.

    apiVersion: audit.k8s.io/v1beta1
    kind: Policy
    # Jangan hasilkan peristiwa audit untuk semua permintaan di tahap RequestReceived.
    omitStages:
      - "RequestReceived"
    rules:
      # Permintaan berikut secara manual diidentifikasi sebagai volume tinggi dan risiko rendah,
      # jadi abaikan.
      - 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 catat URL baca-saja berikut.
      - level: None
        nonResourceURLs:
          - /healthz*
          - /version
          - /swagger*
      # Jangan catat permintaan peristiwa.
      - level: None
        resources:
          - group: "" # core
            resources: ["events"]
      # Rahasia, ConfigMaps, dan TokenReviews dapat berisi data sensitif & biner,
      # jadi hanya catat pada tingkat Metadata.
      - level: Metadata
        resources:
          - group: "" # core
            resources: ["secrets", "configmaps"]
          - group: authentication.k8s.io
            resources: ["tokenreviews"]
      # Tanggapan Get bisa besar; lewati mereka.
      - 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 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"
      # Tingkat default untuk semua permintaan lainnya.
      - level: Metadata
  3. Konfigurasikan file kube-apiserver.yaml untuk node master.

    Masuk ke node master dan modifikasi file /etc/kubernetes/manifests/kube-apiserver.yaml berdasarkan deskripsi berikut. Anda juga harus melakukan langkah ini pada node master lainnya.

    • Tambahkan parameter --audit-log-* ke bagian command:

      ...
      spec:
        containers:
        - command:
          - kube-apiserver
          - --audit-log-maxbackup=10
          - --audit-log-maxsize=100
          - --audit-log-path=/var/log/kubernetes/kubernetes.audit
          - --audit-log-maxage=30
          - --audit-policy-file=/etc/kubernetes/audit-policy.yaml
          ...
    • Tambahkan parameter aliyun_logs_audit-* ke bagian env.

      Anda harus mengganti {cluster_id} dengan ID kluster Anda. Untuk mendapatkan ID kluster Anda, lakukan operasi berikut: Masuk ke konsol Pusat Keamanan dan buka tab Cluster di halaman Kontainer. Gambar berikut menunjukkan cara mendapatkan ID kluster Anda.获取集群Cluster-ID

      ...
      spec:
        containers:
        - command:
          - kube-apiserver
          - --audit-log-maxbackup=10
          - --audit-log-maxsize=100
          - --audit-log-path=/var/log/kubernetes/kubernetes.audit
          - --audit-log-maxage=30
          - --audit-policy-file=/etc/kubernetes/audit-policy.yaml
          ...
          ...
          env:
          - name: aliyun_logs_audit-${cluster_id}
            value: /var/log/kubernetes/kubernetes.audit
          - name: aliyun_logs_audit-${cluster_id}_tags
            value: audit=apiserver
          - name: aliyun_logs_audit-${cluster_id}_product
            value: k8s-audit
          - name: aliyun_logs_audit-${cluster_id}_jsonfile
            value: "true"
          image: registry-vpc.cn-shenzhen.aliyuncs.com/acs/kube-apiserver:v1.20.4-aliyun.1
    • Gunakan template berikut untuk memasang /etc/kubernetes/audit-policy.yaml ke pod kube-apiserver:

      ...
      spec:
        containers:
        - command:
          - kube-apiserver
          - --audit-log-maxbackup=10
          - --audit-log-maxsize=100
          - --audit-log-path=/var/log/kubernetes/kubernetes.audit
          - --audit-log-maxage=30
          - --audit-policy-file=/etc/kubernetes/audit-policy.yaml
          ...
          ...
          env:
          - name: aliyun_logs_audit-${cluster_id}
            value: /var/log/kubernetes/kubernetes.audit
          - name: aliyun_logs_audit-${cluster_id}_tags
            value: audit=apiserver
          - name: aliyun_logs_audit-${cluster_id}_product
            value: k8s-audit
          - name: aliyun_logs_audit-${cluster_id}_jsonfile
            value: "true"
          image: registry-vpc.cn-shenzhen.aliyuncs.com/acs/kube-apiserver:v1.20.4-aliyun.1
          ...
          ...
          volumeMounts:
          - mountPath: /var/log/kubernetes
            name: k8s-audit
          - mountPath: /etc/kubernetes/audit-policy.yaml
            name: audit-policy
            readOnly: true
          ...
          ...
        volumes:
        - hostPath:
            path: /var/log/kubernetes
            type: DirectoryOrCreate
          name: k8s-audit
        - hostPath:
            path: /etc/kubernetes/audit-policy.yaml
            type: FileOrCreate
          name: audit-policy
        ...

Langkah 3. Periksa apakah log dikumpulkan

  1. Masuk ke Konsol Simple Log Service.

  2. Klik nama proyek yang diperlukan.

  3. Periksa apakah log terkait telah dikumpulkan ke Logstore yang ditentukan dalam proyek.

Langkah 4. Aktifkan deteksi ancaman

  1. Masuk ke konsol Pusat Keamanan. Di bilah navigasi atas, pilih wilayah aset yang ingin Anda kelola. Anda dapat memilih China atau Outside China.

  2. Di panel navigasi sisi kiri, pilih Assets > Container.

  3. Di tab Cluster, klik Self-built cluster access.

  4. Temukan kluster Kubernetes yang dikelola sendiri yang diperlukan dan klik Edit di kolom Actions.

  5. Di tab Enable Log Collection, pilih Enable Kubernetes Log Reporting to Detect Threats, konfigurasikan parameter berikut, lalu klik Save.

    • Region of Log Audit Service: Pilih wilayah tempat Anda ingin menyimpan log.

    • Project of Log Audit Service: Masukkan nama proyek yang Anda buat di Langkah 1. Instal komponen Logtail. Contoh: k8s-log-custom-sd89ehdq.

    • Logstore of Log Audit Service: Masukkan nama Logstore yang dibuat secara otomatis di Langkah 1. Instal komponen Logtail. Contoh: audit-027b007a7dd11967a9f7e2449d8dc497.