Arsitektur Defender untuk Kontainer

Defender untuk Kontainer dirancang secara berbeda untuk setiap lingkungan Kubernetes terlepas di mana dijalankannya:

  • Azure Kubernetes Service (AKS) - layanan terkelola Microsoft untuk mengembangkan, menyebarkan, dan mengelola aplikasi dalam kontainer.

  • Amazon Elastic Kubernetes Service (EKS) di akun AWS yang terhubung - Layanan terkelola Amazon untuk menjalankan Kubernetes di AWS tanpa perlu memasang, mengoperasikan, dan memelihara sarana kontrol atau simpul Kubernetes Anda sendiri.

  • Google Kubernetes Engine (GKE) dalam proyek Google Cloud Platform (GCP) yang terhubung - Lingkungan terkelola Google untuk menyebarkan, mengelola, dan menskalakan aplikasi menggunakan infrastruktur GCP.

  • Distribusi Kubernetes yang tidak dikelola (menggunakan Kubernetes berkemampuan Azure Arc) - Kluster Kubernetes bersertifikat Cloud Native Computing Foundation (CNCF) yang dihosting di jaringan lokal atau di infrastruktur sebagai layanan.

Catatan

Dukungan Defender untuk Kontainer untuk cluster Kubernetes yang mengaktifkan Arc (AWS EKS dan GCP GKE) adalah fitur pratinjau.

Untuk melindungi kontainer Kubernetes Anda, Defender untuk Kontainer menerima dan menganalisis:

  • Log audit dan peristiwa keamanan dari server API
  • Informasi konfigurasi kluster dari sarana kontrol
  • Konfigurasi beban kerja dari Azure Policy
  • Sinyal dan peristiwa keamanan dari tingkat node

Untuk mempelajari selengkapnya tentang detail implementasi seperti sistem operasi yang didukung, ketersediaan fitur, proksi keluar, lihat Ketersediaan fitur Defender for Containers.

Arsitektur untuk setiap lingkungan Kubernetes

Diagram arsitektur kluster Defender untuk Cloud dan AKS

Ketika Defender untuk Cloud melindungi kluster yang dihosting di Azure Kubernetes Service, pengumpulan data log audit tidak memiliki agen dan dikumpulkan secara otomatis melalui infrastruktur Azure tanpa pertimbangan biaya atau konfigurasi tambahan. Ini adalah komponen yang diperlukan untuk menerima perlindungan penuh yang ditawarkan oleh Pertahanan Microsoft untuk Kontainer:

  • Sensor defender: DaemonSet yang disebarkan pada setiap simpul, mengumpulkan sinyal dari host menggunakan teknologi eBPF, dan memberikan perlindungan runtime. Sensor terdaftar di ruang kerja Analitik Log, dan digunakan sebagai alur data. Namun, data log audit tidak disimpan di ruang kerja Log Analytics. Sensor Defender disebarkan sebagai profil Keamanan AKS.
  • Azure Policy untuk Kubernetes: Pod yang memperluas Gatekeeper v3 sumber terbuka dan mendaftar sebagai webhook ke kontrol penerimaan Kube sehingga memungkinkan untuk menerapkan penegakan skala besar, dan perlindungan pada kluster Anda secara terpusat dan konsisten. Pod Azure Policy for Kubernetes disebarkan sebagai add-on AKS. Ini hanya diinstal pada satu node di kluster. Untuk informasi selengkapnya, lihat Melindungi beban kerja Kubernetes Anda dan Memahami Azure Policy untuk kluster Kubernetes.

Diagram arsitektur tingkat tinggi dari interaksi antara Microsoft Defender untuk Kontainer, Azure Kubernetes Service, dan Azure Policy.

Detail komponen sensor defender

Nama pod Ruang nama Kind Deskripsi Singkat Kemampuan Batas Sumber Daya Egress Diperlukan
microsoft-defender-collector-ds-* kube-system DaemonSet Sekumpulan kontainer yang berfokus pada pengumpulan inventaris dan peristiwa keamanan dari lingkungan Kubernetes. SYS_ADMIN,
SYS_RESOURCE,
SYS_PTRACE
memori: 296Mi

cpu: 360m
No
microsoft-defender-collector-misc-* kube-system Penyebaran Sekumpulan kontainer yang berfokus pada pengumpulan inventaris dan peristiwa keamanan dari lingkungan Kubernetes yang tidak terbatas pada simpul tertentu. T/A memori: 64Mi

cpu: 60m
No
microsoft-defender-publisher-ds-* kube-system DaemonSet Menerbitkan data yang dikumpulkan ke layanan backend Microsoft Defender untuk Kontainer tempat data akan diproses dan dianalisis. T/A memori: 200Mi

cpu: 60m
Https 443

Pelajari lebih lanjut tentang prasyarat akses keluar

* Batas sumber daya tidak dapat dikonfigurasi; Pelajari selengkapnya tentang batas sumber daya Kubernetes.

Bagaimana cara kerja penemuan tanpa agen untuk Kubernetes di Azure?

Proses penemuan didasarkan pada rekam jepret yang diambil pada interval:

Diagram arsitektur izin.

Saat Anda mengaktifkan penemuan tanpa agen untuk ekstensi Kubernetes, proses berikut terjadi:

  • Buat:

    • Jika ekstensi diaktifkan dari Defender CSPM, Defender untuk Cloud membuat identitas di lingkungan pelanggan yang disebut CloudPosture/securityOperator/DefenderCSPMSecurityOperator.
    • Jika ekstensi diaktifkan dari Defender untuk Kontainer, Defender untuk Cloud membuat identitas di lingkungan pelanggan yang disebut CloudPosture/securityOperator/DefenderForContainersSecurityOperator.
  • Tetapkan: Defender untuk Cloud menetapkan peran bawaan yang disebut Operator Tanpa Agen Kubernetes ke identitas tersebut pada cakupan langganan. Peran berisi izin berikut:

    • Baca AKS (Microsoft.ContainerService/managedClusters/read)
    • Akses Tepercaya AKS dengan izin berikut:
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/write
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/read
    • Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings/delete

    Pelajari selengkapnya tentang Akses Tepercaya AKS.

  • Temukan: Menggunakan identitas yang ditetapkan sistem, Defender untuk Cloud melakukan penemuan kluster AKS di lingkungan Anda menggunakan panggilan API ke server API AKS.

  • Ikatan: Setelah penemuan kluster AKS, Defender untuk Cloud melakukan operasi pengikatan AKS dengan membuat antara identitas yang ClusterRoleBinding dibuat dan Kubernetes ClusterRoleaks:trustedaccessrole:defender-containers:microsoft-defender-operator. ClusterRole terlihat melalui API dan memberikan izin baca bidang data Defender untuk Cloud di dalam kluster.

Catatan

Rekam jepret yang disalin tetap berada di wilayah yang sama dengan kluster.

Langkah berikutnya

Dalam gambaran umum ini, Anda mempelajari tentang arsitektur keamanan kontainer di Microsoft Defender untuk Cloud. Untuk mengaktifkan rencana, lihat: