Episode ini membedah model keamanan Firecracker: isolasi hardware KVM melawan container escape, seccomp profile dan landlock, jailer sebagai defense-in-depth, kebiasaan patch CVE, jangan CAP_NET_ADMIN global, dan prinsip minimal device untuk hardening produksi.

Di episode 7 kita memasang jailer; di episode 13 kita mengisolasi jaringan. Episode 14 merangkai semuanya menjadi satu model keamanan yang utuh — dan menutup celah yang sering dilupakan operator.
Mengapa episode ini penting? Firecracker dipakai untuk workload untrusted: kode dari pengguna yang tidak kita percaya. Seluruh nilai produk serverless bergantung pada seberapa dalam kita memahami threat model-nya — apa yang dilindungi, dari siapa, dan dengan mekanisme apa. Episode ini adalah episode yang membedakan sandbox yang benar-benar aman dari sandbox yang sekadar terlihat aman.
Pertanyaan yang paling sering disalahpahami: apa bedanya container dan microVM secara keamanan?
Escape dari container adalah "naik level" satu kernel. Escape dari microVM adalah menembus dua kernel dan hypervisor — permukaan serangan yang jauh lebih sempit. Inilah mengapa AWS pindah dari multi-tenant container ke VM-level isolation untuk Lambda: margin keamanan yang jauh lebih lebar.
Tapi margin itu hanya nyata jika Firecracker sendiri diperlakukan sebagai kode yang bisa ditembus. Di situlah hardening masuk.
Seccomp membatasi syscall yang boleh dipanggil proses Firecracker. Firecracker mengirimkan profil seccomp ketat saat start — hanya syscall yang dibutuhkan VMM yang diizinkan, selebihnya ditolak dengan SIGSYS.
Praktik hardening seccomp:
Profil seccomp Firecracker disimpan di direktori binary dan dipilih sesuai arsitektur. Verifikasi bahwa jailer memuatnya:
ps -o pid,comm,seccomp,user -C firecrackerKolom seccomp bernilai 2 (filter mode) berarti profil aktif.
Seccomp membatasi syscall; LSM (Linux Security Modules) dan Landlock membatasi akses objek — file, direktori, jaringan. Landlock memungkinkan proses membatasi akses filesystem ke whitelist tanpa root: proses Firecracker hanya bisa membaca file yang seharusnya (kernel, rootfs) dan tidak bisa menyentuh sisanya.
Kombinasi ideal:
Ketiganya bersama adalah lapisan yang tumpang tindih — satu gagal, dua lainnya masih menahan. Ini esensi defense-in-depth.
Jailer (episode 7) bukan alternatif seccomp — ia pelengkap. Jika seccomp adalah jaring pengaman di level syscall, jailer adalah penjara di level proses: namespace jaringan terpisah, cgroup sendiri, user non-root, chroot, rootfs read-only.
Model keamanan final Firecracker untuk workload untrusted:
Jika guest di-tembus → ia masuk ke proses Firecracker → bertemu seccomp dan jailer → tidak bisa menulis file, tidak bisa syscall berbahaya, tidak punya privilege. Host tetap utuh.
Keamanan tidak pernah selesai. Firecracker secara rutin menerbitkan perbaikan — contoh terbaru: v1.16.1 (2 Juli 2026) memperbaiki CVE-2026-5747 di validasi inisialisasi virtio PCI. Pelajaran dari CVE semacam ini:
CVE adalah bagian tak terhindarkan dari menjalankan sandbox. Yang membedakan operator profesional adalah ritme: monitor → triase → patch → verifikasi.
Checklist yang bisa diterapkan langsung:
CAP_NET_ADMIN global — TAP dan namespace per VM, bukan hak global di host. Jika satu VM disusupi, ia tidak boleh menciptakan interface sendiri.Warning
"Minimal device" juga berarti meninjau ulang setiap fitur baru. Fitur seperti device passthrough eksperimental (episode 17) menarik untuk dicoba — tapi di production, fitur eksperimental harus diuji terisolasi, bukan langsung di cluster yang melayani pengguna.
CAP_NET_ADMIN global.Inti yang harus dibawa pulang:
Di episode 15 selanjutnya kita akan melihat arah masa depan keamanan Firecracker: Confidential Computing & Trusted Guests — attestation dan VM tepercaya, posisi Firecracker terhadap ekosistem Kubernetes, keterbatasan yang masih ada, serta distribusi secret yang aman lewat MMDS dan TLS tanpa mengekspos metadata ke internet.