Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Keamanan runtime
Keamanan runtime memberikan perlindungan aktif untuk kontainer Anda saat sedang berjalan. Idenya adalah untuk mendeteksi and/or mencegah aktivitas jahat terjadi di dalam wadah. Hal ini dapat dicapai dengan sejumlah mekanisme dalam kernel Linux atau ekstensi kernel yang terintegrasi dengan Kubernetes, seperti kemampuan Linux, komputasi aman (seccomp), atau. AppArmor SELinux Ada juga opsi seperti Amazon GuardDuty dan alat pihak ketiga yang dapat membantu menetapkan garis dasar dan mendeteksi aktivitas anomali dengan konfigurasi mekanisme kernel Linux yang lebih sedikit secara manual.
penting
Kubernetes saat ini tidak menyediakan mekanisme asli untuk memuat seccomp, AppArmor, atau profil ke Nodes. SELinux Mereka harus dimuat secara manual atau diinstal ke Node ketika mereka di-bootstrap. Ini harus dilakukan sebelum mereferensikannya di Pod Anda karena scheduler tidak mengetahui node mana yang memiliki profil. Lihat di bawah ini bagaimana alat seperti Operator Profil Keamanan dapat membantu mengotomatiskan penyediaan profil ke node.
Konteks keamanan dan kontrol Kubernetes bawaan
Banyak mekanisme keamanan runtime Linux terintegrasi erat dengan Kubernetes dan dapat dikonfigurasi melalui konteks keamanan Kubernetes.privileged bendera, yang secara false default dan jika diaktifkan pada dasarnya setara dengan root pada host. Hampir selalu tidak tepat untuk mengaktifkan mode istimewa dalam beban kerja produksi, tetapi ada lebih banyak kontrol yang dapat memberikan hak istimewa yang lebih terperinci ke wadah yang sesuai.
Kemampuan Linux
Kemampuan Linux memungkinkan Anda untuk memberikan kemampuan tertentu ke Pod atau wadah tanpa menyediakan semua kemampuan pengguna root. Contohnya termasukCAP_NET_ADMIN, yang memungkinkan konfigurasi antarmuka jaringan atau firewall, atauCAP_SYS_TIME, yang memungkinkan manipulasi jam sistem.
Seccomp
Dengan komputasi aman (seccomp) Anda dapat mencegah aplikasi kontainer membuat syscall tertentu ke kernel sistem operasi host yang mendasarinya. Sementara sistem operasi Linux memiliki beberapa ratus panggilan sistem, bagian terbesar dari mereka tidak diperlukan untuk menjalankan kontainer. Dengan membatasi syscall apa yang dapat dibuat oleh wadah, Anda dapat secara efektif mengurangi permukaan serangan aplikasi Anda.
Seccomp bekerja dengan mencegat syscalls dan hanya mengizinkan mereka yang telah diizinkan untuk melewatinya. Docker memiliki profil seccomp defaultsecurityContext bagian spesifikasi Pod:
securityContext: seccompProfile: type: RuntimeDefault
Pada 1.22 (dalam alpha, stable pada 1.27), di atas RuntimeDefault dapat digunakan untuk semua Pod pada Node menggunakan flag kubelet tunggal--seccomp-default Maka profil yang ditentukan hanya securityContext diperlukan untuk profil lain.
Anda juga dapat membuat profil Anda sendiri untuk hal-hal yang memerlukan hak istimewa tambahan. Ini bisa sangat membosankan untuk dilakukan secara manual, tetapi ada alat seperti Inspektor Gadget
AppArmor dan SELinux
AppArmor dan SELinux dikenal sebagai kontrol akses wajib atau sistem MAC
Keduanya AppArmor dan SELinux terintegrasi dengan Kubernetes, tetapi pada AppArmor profil Kubernetes 1.28 harus ditentukan melalui anotasi
Seperti profil seccomp, Operator Profil Keamanan yang disebutkan di atas dapat membantu menyebarkan profil ke node di cluster. (Di masa depan, proyek ini juga bertujuan untuk menghasilkan profil untuk AppArmor dan SELinux seperti halnya untuk seccomp.)
Rekomendasi
Gunakan Amazon GuardDuty untuk memantau runtime dan mendeteksi ancaman ke lingkungan EKS Anda
Jika saat ini Anda tidak memiliki solusi untuk terus memantau runtime EKS dan menganalisis log audit EKS, dan memindai malware dan aktivitas mencurigakan lainnya, Amazon sangat merekomendasikan penggunaan Amazon GuardDuty
Tonton AWS Online Tech Talk ini “Deteksi ancaman yang ditingkatkan untuk Amazon EKS dengan Amazon GuardDuty - AWS Online Tech Talks”
Opsional: Gunakan solusi pihak ke-3 untuk pemantauan runtime
Membuat dan mengelola profil seccomp dan Apparmor bisa jadi sulit jika Anda tidak terbiasa dengan keamanan Linux. Jika Anda tidak punya waktu untuk menjadi mahir, pertimbangkan untuk menggunakan solusi komersial pihak ketiga. Banyak dari mereka telah bergerak melampaui profil statis seperti Apparmor dan seccomp dan telah mulai menggunakan pembelajaran mesin untuk memblokir atau memperingatkan aktivitas yang mencurigakan. Beberapa solusi ini dapat ditemukan di bawah di bagian alat. Opsi tambahan dapat ditemukan di AWS Marketplace for Container
Pertimbangkan kemampuan add/dropping Linux sebelum menulis kebijakan seccomp
Kemampuan melibatkan berbagai pemeriksaan dalam fungsi kernel yang dapat dijangkau oleh syscalls. Jika pemeriksaan gagal, syscall biasanya mengembalikan kesalahan. Pemeriksaan dapat dilakukan tepat di awal syscall tertentu, atau lebih dalam di kernel di area yang mungkin dapat dijangkau melalui beberapa syscall yang berbeda (seperti menulis ke file istimewa tertentu). Seccomp, di sisi lain, adalah filter syscall yang diterapkan ke semua syscalls sebelum dijalankan. Sebuah proses dapat mengatur filter yang memungkinkan mereka untuk mencabut hak mereka untuk menjalankan syscalls tertentu, atau argumen khusus untuk syscall tertentu.
Sebelum menggunakan seccomp, pertimbangkan apakah kemampuan adding/removing Linux memberi Anda kontrol yang Anda butuhkan. Lihat Menyetel kemampuan untuk- kontainer
Lihat apakah Anda dapat mencapai tujuan Anda dengan menggunakan Kebijakan Keamanan Pod () PSPs
Kebijakan Keamanan Pod menawarkan banyak cara berbeda untuk meningkatkan postur keamanan Anda tanpa menimbulkan kerumitan yang tidak semestinya. Jelajahi opsi yang tersedia PSPs sebelum menjelajah ke dalam membangun profil seccomp dan Apparmor.
Awas
Pada Kubernetes 1.25, PSPs telah dihapus dan diganti dengan Pod
Alat dan Sumber Daya
-
Security Profiles Operator
adalah perangkat tambahan Kubernetes yang bertujuan untuk memudahkan pengguna untuk menggunakan SELinux, seccomp dan di klaster Kubernetes. AppArmor Ini menyediakan kemampuan untuk menghasilkan profil dari menjalankan beban kerja dan memuat profil ke node Kubernetes untuk digunakan di Pod. -
Inspektor Gadget
memungkinkan inspeksi, penelusuran, dan pembuatan profil banyak aspek perilaku runtime di Kubernetes, termasuk membantu dalam pembuatan profil seccomp. -
NeuVector oleh SUSE
open source, platform keamanan wadah zero-trust, menyediakan aturan profil proses dan aturan akses file.