全部产品
Search
文档中心

Container Service for Kubernetes:Keamanan runtime

更新时间:Jul 06, 2025

Keamanan runtime memberikan perlindungan aktif bagi kontainer yang sedang berjalan. Fitur ini mendeteksi dan mencegah aktivitas jahat dalam kontainer guna meningkatkan keamanan aplikasi berbasis kontainer.

Gunakan seccomp untuk membatasi aplikasi kontainer melakukan syscalls ke kernel

  • Configure a container or a pod to use the seccomp profile

    Sistem operasi Linux menyediakan ratusan syscalls, tetapi sebagian besar tidak diperlukan untuk menjalankan kontainer. Untuk memulai dengan seccomp, gunakan strace untuk menghasilkan jejak tumpukan dan periksa syscalls yang dibuat oleh aplikasi Anda. Kemudian, gunakan alat seperti syscall2seccomp untuk membuat profil seccomp dari data jejak tersebut. Untuk informasi lebih lanjut, lihat strace dan syscall2seccomp.

    Berbeda dengan SELinux, seccomp tidak dirancang untuk mengisolasi kontainer. Namun, seccomp dapat melindungi kernel host terhadap syscalls yang tidak sah. Seccomp mengintersep syscalls dan hanya mengizinkan syscalls yang termasuk dalam daftar putih. Docker memiliki profil seccomp default yang cocok untuk sebagian besar beban kerja umum. Containerd juga mencakup profil seccomp default. Untuk informasi lebih lanjut, lihat Profil seccomp default.

    Anda dapat mengonfigurasi kontainer atau pod untuk menggunakan profil seccomp default dengan menambahkan anotasi berikut ke spesifikasi kontainer atau pod:

    • Versi sebelum Kubernetes 1.19:

      annotations:
        seccomp.security.alpha.kubernetes.io/pod: "runtime/default"
    • Kubernetes 1.19 dan versi setelahnya:

      securityContext:
        seccompProfile:
          type: RuntimeDefault
  • Aktifkan fitur RuntimeDefault

    Hanya versi Kubernetes setelah 1.22 yang mendukung fitur ini. SeccompDefault memasuki tahap Alpha di versi open source 1.22 dan menjadi tersedia secara umum (GA) di versi open source 1.27. Sebelum mengaktifkan dan menggunakan fitur ini di lingkungan produksi, konfirmasikan versi Kubernetes kluster Anda. Gunakan metode berikut untuk mengaktifkan fitur ini:

    1. Fitur SeccompDefault dinonaktifkan secara default pada versi Kubernetes 1.22 hingga 1.24. Tambahkan parameter --feature-gates dan atur ke true di file konfigurasi kubelet node untuk mengaktifkan gerbang fitur.

    2. Tambahkan parameter --seccomp-default di file konfigurasi kubelet node untuk mengaktifkan fitur RuntimeDefault.

    3. Mulai ulang kubelet untuk mengaktifkan fitur.

    Setelah mengaktifkan fitur ini, pod yang diterapkan di node akan otomatis menggunakan profil seccomp default yang disediakan oleh runtime node. Syscalls yang tidak ada dalam daftar putih profil default tidak tersedia. Uji fitur ini sebelum menggunakannya di kluster produksi.

  • Gunakan solusi pihak ketiga untuk memelihara profil seccomp dan AppArmor

    Jika profil seccomp default yang disediakan oleh runtime tidak memenuhi persyaratan bisnis Anda, Anda dapat menggunakan profil seccomp kustom. Membuat dan mengelola profil seccomp serta AppArmor bisa sulit jika Anda tidak terbiasa dengan keamanan Linux. Jika Anda tidak dapat memelihara profil seccomp dan AppArmor sendiri, pertimbangkan untuk menggunakan solusi komersial pihak ketiga. Solusi ini menggunakan pembelajaran mesin untuk memblokir atau memberi peringatan tentang aktivitas abnormal, yang lebih aman daripada profil statis seperti AppArmor dan seccomp.

  • Add or remove Linux capabilities before you configure seccomp policies

    Kemampuan melibatkan berbagai pengecekan pada fungsi kernel yang dapat dijangkau melalui syscalls. Dalam banyak kasus, jika fungsi kernel gagal dalam pengecekan, syscall mengembalikan kesalahan. Pengecekan dapat dilakukan di awal syscall tertentu, atau di area kernel yang mungkin dapat dijangkau melalui syscall yang berbeda, seperti menulis ke file istimewa tertentu. Seccomp juga merupakan filter syscall, yang diterapkan ke semua syscalls sebelum syscalls tersebut dijalankan. Proses dapat menyiapkan filter, yang memungkinkan seccomp mencabut izin untuk menjalankan syscall tertentu atau argumen tertentu untuk syscall tertentu.

    Sebelum memulai dengan seccomp, pertimbangkan apakah Anda dapat memperoleh kontrol atas aplikasi dengan menambah atau menghapus kemampuan Linux. Untuk informasi lebih lanjut, lihat Atur kemampuan untuk kontainer.

Gunakan fitur inspeksi untuk mendeteksi risiko keamanan dalam beban kerja

Kluster Container Service for Kubernetes (ACK) menyediakan fitur inspeksi untuk membantu mendeteksi risiko keamanan dalam beban kerja secara real-time. Laporan inspeksi dapat diberikan kepada insinyur O&M keamanan. Setelah inspeksi selesai, Anda dapat melihat item inspeksi yang gagal dan saran dalam laporan inspeksi. Ini meningkatkan keamanan beban kerja.

Gunakan Alibaba Cloud Security Center

Anda dapat menggunakan Security Center untuk mendeteksi dan memblokir ancaman dalam runtime aplikasi cloud-native. Fitur ini mengamankan runtime setiap pod. Security Center dapat secara otomatis memperoleh informasi tentang ancaman dalam aplikasi cloud-native dan menggunakan informasi tersebut untuk menganalisis ancaman, mengidentifikasi sumber ancaman, menghasilkan respons yang sesuai, dan menangani ancaman. Security Center juga mengaitkan berbagai jenis log, menganalisis konteks, dan mendeteksi risiko secara real-time, seperti kode jahat, eksekusi perintah, injeksi SQL, dan pelanggaran data. Fitur ini membantu mencegah intrusi dan mengidentifikasi kerentanan dalam sistem bisnis Anda. Security Center dapat mengaudit tindakan dan mengidentifikasi risiko secara real-time berdasarkan log Kubernetes dan log operasi. Ini membantu mengurangi risiko pelarian kontainer, pelanggaran AccessKey, dan akses tidak sah di ACK dan platform orkestrasi lainnya. Untuk informasi lebih lanjut, lihat Apa itu Security Center?