idNSA.id - Insiden organisasi dan keamanan di lingkungan Kubernetes, ini adalah 5 komponen kunci dari bidang kontrol yang membutuhkan perhatian khusus.
Organisasi tidak asing dengan insiden keamanan di lingkungan Kubernetes mereka. Dalam survei State of Container dan Kubernetes Security Fall 2020, StackRox menemukan bahwa 90% responden telah mengalami insiden keamanan dalam penerapan Kubernetes mereka pada tahun lalu. Dua pertiga dari responden menjelaskan bahwa mereka telah melewati insiden kesalahan konfigurasi, diikuti oleh kasus kerentanan, peristiwa runtime dan audit yang gagal masing-masing sebesar 22%, 17% dan 16%.
Insiden kesalahan konfigurasi sangat sering terjadi karena dapat muncul di berbagai aspek lingkungan Kubernetes organisasi. Misalnya, mereka dapat mempengaruhi bidang kontrol Kubernetes. Bagian penerapan Kubernetes ini bertanggung jawab untuk membuat keputusan global tentang sebuah cluster serta untuk mendeteksi dan merespons peristiwa yang memengaruhi cluster, catat Kubernetes .
Hal ini menimbulkan pertanyaan penting: bagaimana organisasi dapat memperkuat bidang kontrol Kubernetes terhadap serangan digital?
Untuk menjawab pertanyaan tersebut, postingan blog ini akan membahas lima komponen di dalam control plane Kubernetes yang memerlukan perhatian khusus dalam strategi keamanan organisasi. Ini adalah kube-apiserver, etcd, kube-scheduler, kube-controller-manager dan cloud-controller-manager. Ini kemudian akan memberikan rekomendasi tentang bagaimana organisasi dapat mengamankan setiap komponen ini.
kubus-apiserver
Apa itu? Berdasarkan dokumentasi Kubernetes , kube-apiserver adalah ujung depan untuk bidang kontrol Kubernetes. Ini berfungsi sebagai implementasi utama dari server Kubernetes API. Organisasi dapat menskalakan kube-apiserver secara horizontal dengan menerapkan lebih banyak instance.
Mengapa perlu diamankan? Container Journal mencatat bahwa penyerang berkomitmen untuk memindai web untuk menemukan server API yang dapat diakses publik. Mengakui kenyataan itu, organisasi perlu memastikan bahwa mereka tidak membiarkan instance kube-apiserver mereka terbuka ke publik. Jika ya, mereka dapat memberi penyerang celah untuk membahayakan cluster Kubernetes.
Bagaimana mengamankannya? Administrator dapat mengikuti saran Container Journal dengan mengonfigurasi server API mereka untuk mengizinkan akses API cluster hanya melalui jaringan internal atau VPN perusahaan. Setelah mereka menerapkan langkah keamanan itu, mereka dapat menggunakan otorisasi RBAC untuk lebih membatasi siapa yang memiliki akses ke cluster. Mereka dapat mengaktifkan fitur ini secara khusus melalui kube-apiserver.
dll
Apa itu? Kubernetes menggunakan etcd sebagai penyimpanan pendukung nilai kunci untuk data cluster. Untuk menggunakan etcd, organisasi perlu memiliki rencana cadangan untuk data konfigurasi yang sangat sensitif yang ingin mereka lindungi dengan penyimpanan ini.
Mengapa perlu diamankan? Seperti halnya kube-apiserver, organisasi mungkin secara tidak sengaja membiarkan etcd terbuka ke Internet. New Stack mencakup pekerjaan salah satu pengembang perangkat lunak yang melakukan pencarian di Shodan untuk mencari server etcd yang terbuka. Investigasi ini menemukan 2.284 server etcd yang dapat diakses oleh aktor jahat melalui Internet.
Bagaimana mengamankannya? Kubernetes mencatat dalam sumber daya administrasi klasternya bahwa etcd setara dengan izin root di klaster. Sebagai tanggapan, administrator harus memberikan izin hanya ke node yang memerlukan akses ke cluster etcd. Mereka juga harus menggunakan aturan firewall serta fitur keamanan yang melekat pada fitur tersebut, terutama peer.key / peer.cert dan client.key / client.cert, untuk mengamankan komunikasi antara anggota etcd serta antara etcd dan kliennya.
kube-scheduler
Apa itu? Kube-scheduler adalah sebuah komponen di dalam control plane yang mengawasi pembuatan pod baru tanpa node yang ditugaskan. Jika mendeteksi pod seperti itu, ia memilih node untuk dijalankan. Itu membuat keputusan ini dengan mempertimbangkan persyaratan sumber daya individu dan kolektif, lokalitas data dan pertimbangan lainnya, sesuai dengan situs web Kubernetes .
Mengapa perlu diamankan? Setiap kompromi yang melibatkan kube-scheduler dapat mempengaruhi kinerja dan ketersediaan pod cluster, jelas Packt . Peristiwa semacam itu dengan demikian dapat menyebabkan gangguan di lingkungan Kubernetes organisasi yang merusak produktivitas bisnis.
Bagaimana mengamankannya? Administrator dapat mengikuti saran Packt untuk mengamankan kube-scheduler dengan menonaktifkan profiling, sebuah fitur yang mengekspos detail sistem. Mereka dapat melakukan ini dengan menyetel pengaturan “–profiling” ke “false.” Selain itu, mereka dapat menonaktifkan koneksi eksternal ke kube-scheduler menggunakan konfigurasi "AllowExtTrafficLocalEndpoints" untuk mencegah penyerang luar mendapatkan akses ke komponen bidang kontrol ini.
kube-controller-manager
Apa itu? Komponen khusus ini sesuai dengan namanya karena menjalankan proses pengontrol. Masing-masing proses tersebut, termasuk yang dijalankan oleh pengontrol node, pengontrol replikasi, dan lainnya, adalah proses yang terpisah. Namun, kube-controller-manager mengkompilasi semua proses tersebut dan menjalankannya bersama-sama.
Mengapa perlu diamankan? Masalah keamanan di kube-controller-manager dapat berdampak negatif pada skalabilitas dan ketahanan aplikasi yang berjalan di cluster. Dengan demikian, peristiwa semacam itu dapat berdampak pada bisnis organisasi.
Bagaimana mengamankannya? Organisasi dapat mengamankan kube-controller-manager dengan memantau jumlah instance yang mereka miliki dari fitur ini yang disebarkan di lingkungan mereka. Mereka juga dapat mengikuti rekomendasi yang dibuat StackRox pada September 2020 dengan membatasi izin file fitur, mengonfigurasi untuk hanya menyajikan HTTP, mengikatnya ke antarmuka localhost, dan menggunakan Kubernetes RBAC untuk mengizinkan akses ke akun layanan individual per pengontrol.
cloud-controller-manager
Apa itu? Yang tidak kalah pentingnya, cloud-controller-manager memungkinkan administrator untuk menautkan cluster mereka ke API Penyedia Layanan Cloud (CSP) mereka. Mereka kemudian dapat menggunakan fitur tersebut untuk memisahkan elemen yang berinteraksi dengan platform cloud CSP dari yang berinteraksi dengan cluster. Sesuai dengan dokumentasi Kubernetes , cloud-controller-manager berfungsi mirip dengan kube-controller-manager dalam kemampuannya untuk mengompilasi banyak proses menjadi satu. Perbedaannya adalah bahwa cloud-controller-manager menjalankan pengontrol yang khusus untuk CSP organisasi saja.
Mengapa perlu diamankan? Masalah yang melibatkan cloud-controller-manager menimbulkan ancaman serupa bagi organisasi seperti yang memengaruhi kube-controller-manager.
Bagaimana mengamankannya? Mengakui kesamaan antara kube-controller-manager dan cloud-controller-manager, organisasi dapat menggunakan tindakan yang sama untuk mengamankan keduanya.
Pekerjaan Keamanan Tidak Berakhir Di Sana, Lima komponen bidang kontrol yang dibahas di atas semuanya membutuhkan perhatian sebagai bagian dari upaya keamanan Kubernetes organisasi secara keseluruhan. Meski begitu, pekerjaan organisasi untuk mengamankan arsitektur Kubernetes mereka tidak berhenti di situ. Ada juga komponen Node.
Untuk informasi tentang bagaimana mengamankan bagian dari cluster Kubernetes, klik di sini.
Sumber Artikel: SecurityAffairs