Memasang Kubernet

Feb 02 2023
Ditulis oleh: Yu Pengfei, Mah Chia Hui Pendahuluan Ledakan pertumbuhan penggunaan Kubernetes selama dekade terakhir merupakan tontonan yang luar biasa. Namun, Roma tidak dibangun dalam sehari, dan sama seperti tumpukan teknologi besar lainnya yang digunakan saat ini, butuh beberapa dekade agar teknologi kontainerisasi menjadi matang sebelum Kubernetes menampilkan dirinya sebagai artikulasi terbaik pada tahapnya saat ini.

Ditulis oleh: Yu Pengfei , Mah Chia Hui

Perkenalan

Pertumbuhan penggunaan Kubernetes yang eksplosif selama dekade terakhir merupakan tontonan yang luar biasa. Namun, Roma tidak dibangun dalam sehari, dan sama seperti tumpukan teknologi besar lainnya yang digunakan saat ini, butuh beberapa dekade agar teknologi kontainerisasi menjadi matang sebelum Kubernetes menampilkan dirinya sebagai artikulasi terbaik pada tahapnya saat ini.

Karena semakin banyak aplikasi yang dikemas, mesin orkestrasi seperti Kubernetes menjadi sangat populer. Sebagai mesin orkestrasi, Kubernetes membantu mengelola, menskalakan, dan menerapkan aplikasi dalam container. Yang mengatakan, ada banyak mesin orkestrasi yang berbeda (seperti Docker Swarm) — jadi mengapa Kubernet tetap begitu populer? Jawaban cepat terletak pada Kubernetes yang kaya fitur, dikemas dengan kemampuan seperti penyembuhan diri dan penskalaan otomatis. Selain itu, Kubernetes diimplementasikan sebagai layanan terkelola oleh sebagian besar penyedia layanan cloud (CSP). Ini mengukuhkan posisinya sebagai "standar Emas" untuk mesin orkestrasi. Adopsi Kubernetes masih berkembang, dengan 96% organisasi menggunakan atau mengevaluasi Kubernetes. (https://thenewstack.io/is-kubernetes-adoption-slowing/)

Masalah Mo' Honey Mo'

Dengan meluasnya penggunaan Kubernetes, tidak mengherankan jika ini juga merupakan permukaan serangan yang berharga yang secara aktif dicoba untuk diendus dan dieksploitasi oleh penyerang. Dengan pengaruhnya yang baru, pengembang juga membuat kesalahan dalam implementasi, konfigurasi, atau penerapannya.

Artikel ini adalah yang pertama dalam seri kami terkait keamanan Kubernetes. Ini akan memberikan ikhtisar tentang beberapa serangan umum, dan praktik terbaik keamanan dasar untuk Kubernetes. Artikel selanjutnya akan membahas lebih dalam tentang serangan yang lebih kompleks, seperti Pemasangan HostPath, pod/node trampolin, dll, dan perbaikannya.

Untuk memahami serangan, pertama-tama kita harus memahami arsitektur Kubernetes, diagram tingkat tinggi di bawah adalah titik awal yang baik. Jangan ragu untuk melompat ke "Metodologi Serangan" jika Anda sudah terbiasa dengan arsitektur Kubernetes dan dasar-dasarnya.

Diagram Arsitektur Kubernetes

Pod

Kubernet terdiri dari banyak bagian yang bergerak, dan unit kerja terendahnya dikenal sebagai POD . Pod dapat menghosting beberapa wadah dan volume penyimpanan yang berbeda. Setiap pod juga memiliki alamat IP yang unik. Ini juga sangat skalabel karena didasarkan pada cetak biru penyebaran (file yaml).

Node

Agar semuanya tetap sederhana untuk semua orang, kami hanya akan mengelompokkan jenis node menjadi:

● Node Pekerja

● Node Utama

Satu set node membentuk cluster.

Node Pekerja:

Pod berada di node pekerja ini yang bisa berupa mesin virtual atau fisik. Anda dapat menganggapnya sebagai mesin host untuk pod.

Node Utama:

Master Node adalah administrator tertinggi di seluruh cluster. Ini mengontrol dan mengelola semua node pekerja, yang mencakup komponen berikut: server Kube-API, Kube-Controller-Manager, Kube Scheduler, dll.

Ruang nama

Namespace Kubernetes adalah mekanisme isolasi yang mengisolasi sumber daya di dalam sebuah klaster, umumnya digunakan saat tim yang berbeda bekerja pada klaster yang sama. Dalam konteks keamanan siber, setiap objek/sumber daya namespace unik untuk namespace tersebut. Doa lintas-namespace dari objek/sumber daya tidak mungkin dilakukan karena objek/sumber daya ini diisolasi di dalam ruang nama mereka.

Sekarang dengan semua pengetahuan baru ini, Anda harus memiliki pemahaman mendasar tentang lingkungan Kubernetes. Mari beralih ke sisi yang lebih menarik, bagaimana cara seseorang menyerang Kubernetes?

Metodologi Serangan

Metodologi penyerang yang canggih dapat dipecah menjadi tiga tahap.

Tahap 1: Pijakan awal

Cara utama untuk mendapatkan pijakan awal adalah dengan mengkompromikan aplikasi web atau layanan mikro yang dihosting di cluster. Tujuan penyerang adalah untuk mendapatkan eksekusi kode jarak jauh pada aplikasi dengan menghitung aplikasi dan mengidentifikasi kerentanan yang dapat dieksploitasi (misalnya log4shell, apache struts).

Tahap 2: Peningkatan Hak Istimewa

Setelah mendapatkan pijakan ke dalam kluster Kubernetes, penyerang akan berada di dalam pod, yang, seperti dijelaskan, hanyalah wadah buruh pelabuhan. Penyerang dapat mengendus penampung untuk data sensitif tetapi terbatas pada apa yang tersedia. . Dengan demikian, penyerang akan mencari untuk meningkat ke pod dengan lebih banyak hak istimewa atau ke node.

Berikut ini adalah beberapa teknik umum yang akan digunakan penyerang:

  • File Sensitif

Remediasi:

Selain praktik standar untuk tidak membiarkan kredensial sensitif tidak terenkripsi di dalam pod, administrator Kubernetes harus mematuhi prinsip hak istimewa terkecil saat memberikan hak istimewa ke token akun layanan.

  • Aplikasi yang Dapat Dijangkau

Remediasi:

Untuk mengelola pod, ruang nama, atau bahkan server eksternal mana yang dapat menjangkau sumber daya Kubernetes tertentu, administrator Kubernetes dapat menggunakan sumber daya kebijakan jaringan Kubernetes .

  • Layanan Metadata Awan

Remediasi:

Administrator Kubernetes dapat menggunakan sumber daya kebijakan jaringan Kubernetes yang disebutkan di atas untuk mencegah penyerang menjangkau API metadata cloud dan aplikasi lain yang dihosting di dalam klaster yang tidak diperlukan untuk fungsi bisnis inti.

  • Pembobolan pod

Remediasi:

Administrator Kubernetes dapat menggunakan sumber daya admission controller, sumber daya Kubernetes yang memvalidasi setiap sumber daya yang sedang dibuat di klaster Kubernetes oleh kumpulan aturan yang ditentukan. Sumber daya yang tidak mematuhi kumpulan aturan yang ditentukan akan gagal dibuat, yang mengakibatkan kesalahan.

Tahap 3: Mendapatkan permata mahkota

Di ekosistem Kubernetes, permata mahkota mengacu pada node master. Penyerang yang telah mendapatkan akses penuh ke node master pada dasarnya akan memiliki kendali penuh atas kluster Kubernetes. Penyerang akan mengulangi teknik yang dirinci pada tahap 1 dan 2, untuk berpindah secara lateral dari pod yang terinfeksi ke node di bawahnya dan akhirnya ke node master. Untuk mencegah skenario terburuk ini terjadi, administrator Kubernetes harus memastikan bahwa klaster telah dikonfigurasi secara aman dengan beberapa perbaikan yang disebutkan di atas.

Apakah itu semuanya?

Untuk melihat postur keamanan Kubernetes organisasi Anda secara lebih komprehensif, kami menyarankan Anda menggunakan matriks serangan Kubernetes Microsoft. Matriks tersebut terdiri dari taktik utama yang relevan dengan keamanan Kubernetes. Masing-masing berisi beberapa teknik yang dapat digunakan penyerang untuk mencapai tujuan yang berbeda.

Kesimpulan

Karena semakin banyak organisasi mengadopsi Kubernetes sebagai alat de facto untuk mengelola orkestrasi kontainer, data yang lebih sensitif akan berakhir di kluster Kubernetes. Ada kebutuhan yang lebih besar bagi administrator sistem yang ingin menyiapkan klaster mereka agar dapat dikonfigurasi dengan aman. Penyerang dengan akses penuh ke node master cluster Kubernetes adalah hal terakhir yang ingin dilihat oleh CISO.

Nantikan artikel kami yang akan datang, di mana kami akan membagikan serangan yang lebih mendalam dan spesifik yang biasa kita lihat di lapangan saat ini.

Berhati-hatilah dan tangkap Anda di FLIPPETY-FLIP.