Keamanan Kubernetes Dengan Falco

Pemandangan alam dari dalam tenda
Foto oleh  Dominik Jirovský  di  Unsplash .

Falco  adalah alat keamanan runtime open source yang dapat membantu Anda mengamankan berbagai lingkungan. Sysdig membuatnya dan telah menjadi proyek CNCF sejak 2018. Falco membaca log kernel Linux waktu nyata, log kontainer, log Kubernetes, dll. Terhadap mesin aturan yang kuat untuk memperingatkan pengguna tentang perilaku jahat.

Ini sangat berguna untuk keamanan kontainer - terutama jika Anda menggunakan Kubernetes untuk menjalankannya - dan sekarang secara de facto menjadi mesin pendeteksi ancaman Kubernetes. Ini menyerap log audit Kubernetes API untuk deteksi ancaman waktu proses dan untuk memahami perilaku aplikasi.

Ini juga membantu tim memahami siapa yang melakukan apa di cluster, karena dapat berintegrasi dengan Webhooks untuk meningkatkan peringatan dalam sistem tiket atau mesin kolaborasi seperti Slack.

Falco bekerja dengan menggunakan aturan deteksi yang menentukan perilaku tak terduga. Meskipun dilengkapi dengan aturan defaultnya sendiri yang berguna, Anda dapat memperluasnya untuk menentukan aturan kustom guna memperkuat cluster Anda lebih lanjut.

Nah, beberapa hal yang bisa dideteksi Falco adalah sebagai berikut:

  • Pembukaan sesi shell dari penampung
  • Pemasangan volume jalur host
  • Membaca file rahasia dan sensitif seperti 
  • Penginstalan paket baru di container yang sedang berjalan
  • Proses baru muncul dari penampung yang bukan bagian dari CMD
  • Pembukaan port baru atau koneksi jaringan yang tidak terduga
  • Membuat penampung dengan hak istimewa
  • dan banyak lagi…

Semua fitur ini membuatnya sangat berguna untuk mengurangi pemahaman tentang apakah Anda memiliki keamanan yang sesuai dan lebih banyak lagi untuk memastikan Anda tahu ketika ada potensi pelanggaran sehingga Anda dapat menghentikannya sebelum sesuatu yang buruk terjadi. Oleh karena itu, Falco melengkapi langkah-langkah keamanan native Kubernetes yang sudah ada seperti RBAC dan Kebijakan Keamanan Pod yang membantu mencegah masalah daripada mendeteksinya.

Ada banyak cara untuk menjalankan Falco dalam klaster Kubernetes. Anda dapat menginstal Falco di setiap node Kubernetes, memanggang Falco sebagai container kedua di pod, atau Anda dapat menggunakan Daemon Set untuk memasukkan pod Falco di dalamnya.

Menggunakan DaemonSet adalah opsi yang lebih baik dan lebih fleksibel, karena memerlukan sedikit perubahan dalam fungsi Dev dan juga tidak mengurangi fungsi Ops seperti yang diperlukan oleh opsi pertama. Juga, ini adalah asli Kubernetes, jadi ini adalah cara yang lebih disukai.

Going Hands-On

Sekarang mari kita lanjutkan dan lihat Falco beraksi. Untuk prasyarat, Anda memerlukan cluster Kubernetes yang sedang berjalan.

Pasang Helm

Helm adalah pengelola paket untuk Kubernetes, dan akan sangat membantu jika Anda telah menginstalnya. Kita akan menginstal Falco menggunakan diagram Helm, jadi kita perlu menginstal Helm terlebih dahulu di cluster kita. Abaikan langkah di bawah ini jika Anda telah menginstal Helm di cluster Anda.

Memasang Helm itu sederhana. Unduh paket terbaru untuk OS Anda, urungkan, dan pindahkan ke jalur Anda:

Pasang Falco

Sekarang mari instal Falco menggunakan grafik Helm resmi.

Tambahkan   repo Helm terlebih dahulu dan perbarui repo:

Sekarang, mari instal Falco menggunakan bagan Helm:

Helm memutar Falco DaemonSet, dan kita akan melihat pod Falco di setiap node. Mari kita cari tahu polongnya:

Selamat! Kami telah berhasil menginstal Falco dan berjalan di semua node.

Menguji

Waktunya untuk beberapa pengujian! Kami akan membuat pod NGINX dan mencoba melakukan beberapa aktivitas yang biasanya tidak kami lakukan.

Buat pod NGINX:

Sekarang mari kita lihat pod untuk melihat node mana yang telah diluncurkan:

Seperti yang kita ketahui, pod NGINX ada di node kind-worker. Pod Falco yang sesuai adalah  .

Mari buka jendela duplikat dan lakukan hal berikut di jendela kiri sambil mengikuti log kontainer Falco menggunakan   di jendela kanan:

  • Luncurkan shell di container NGINX.
  • Cat file sensitif  .
  • Keluar dari shell.
Menguji pada pod NGINX

Seperti yang Anda lihat, log muncul di jendela sebelah kanan setiap kali kami melakukan aktivitas yang berpotensi melanggar keamanan.

Anda juga dapat mengekspor log ini ke alat pemantauan seperti Prometheus atau Grafana, dan Anda juga dapat memicu webhook ke Slack untuk pemberitahuan langsung.

Kesimpulan

Falco adalah alat keamanan runtime yang lazim untuk Kubernetes, dan saya merekomendasikan untuk menggunakannya di semua lingkungan - terutama produksi. Fitur yang berguna adalah Anda juga dapat mengubah aturan agar sesuai dengan kebutuhan Anda, dan oleh karena itu, Anda dapat menyelamatkan diri dari banyak peringatan palsu.

Terima kasih sudah membaca! Saya harap Anda menikmati artikelnya!


Post a Comment

Previous Post Next Post