Lewati ke konten utama
Kali Linux Indonesia

Keamanan Container

Dasar Pengerasan Container Docker Bersama Kali Linux Indonesia

Dasar pengerasan container Docker untuk lab pribadi: image bersih, user non-root, jaringan minimal, dan rahasia aman ala Kali Linux Indonesia.

Dasar Pengerasan Container Docker Bersama Kali Linux Indonesia

Saya sering pakai Kali Linux Indonesia untuk lab keamanan, termasuk pengujian container Docker di mesin sendiri. Pengerasan container bukan sekadar menambahkan password atau firewall. Ini tentang memperkecil permukaan serangan dari image, runtime, jaringan, dan hak akses. Dalam catatan ini saya tulis dasar yang bisa dipraktikkan di lab pribadi, bukan untuk menyerang sistem orang lain.

Prinsip dasar hardening container Docker di lab Kali
Prinsip dasar hardening container Docker di lab Kali

Mulai dari image yang bersih

Image yang besar dan tidak terawat menambah celah. Pilih base image resmi, perbauri patch, dan hapus paket yang tidak dipakai. Di lab, saya lebih suka Alpine atau Debian slim untuk layannan sederhan. Docker pertama dirilis pada 2013, jadi ekosistemnya sudah matang, tetapi image lama tetap berisiko. Gunakan tag versi yang jelas, bukan latest, agar hasil build bisa diulang. Scan image dengan alat yang tersedia di lab, lalu bandingkan hasilnya sebelum dan sesudah perbaikan.

Batasi hak akses dan runtime

Proses di dalam container tidak perlu berjalan sebagai root. Gunakan user non-root, sistem berkas read-only, dan batasi capability. Resource limit juga penting agar satu container tidak menghabiskan mesin host. Uji ulang aplikasi setelah pembatasan, karna beberapa layanan membutuhkan direktori tulis khusus.

  • Gunakan --user 1000:1000 agar proses tidak berjalan sebagai root.
  • Aktifkan --read-only bila aplikasi tidak perlu menulis ke root filesystem.
  • Hapus capability yang tidak perlu dengan --cap-drop=ALL.
  • Batasi CPU dan memori dengan --cpus dan --memory.

Jaringan dan rahasia

Jangan ekspos port yang tidak dibutuhkan. Gunakan jaringan khusus antar container, bukan host network, kecuali ada alasan jelas. Rahasia seperti token sebaiknya tidak diletakkan di environment variable biasa bila ada alternatif yang lebih aman. Simpan log akses dan tinjau port yang terbuka secara berkala. Panduan resmi Docker tentang keamanan engine memberi rincian tambahan: Docker Engine security .

Contoh jaringan container yang dibatasi di lab pribadi
Contoh jaringan container yang dibatasi di lab pribadi

Pengerasan container adalah proses bertahap. Mulai dari image kecil, user non-root, lalu audit konfigurasi. Catatan ini untuk lab pribadi dan CTF legal; selalu minta izin sebelum menguji sistem milik orang lain.

Pertanyaan yang sering diajukan

Apa tujuan pengerasan container Docker?
Memperkecil permukaan serangan dari image, runtime, jaringan, dan hak akses di lab pribadi.
Apakah container harus berjalan sebagai root?
Tidak, gunakan user non-root bila aplikasi mendukung.
Port mana yang perlu dibuka?
Hanya port layanan yang benar-benar dibutuhkan, sesuai prinsip least privilege.
Di mana catatan ini bisa dipakai?
Di lab pribadi dan CTF legal; Kali Linux Indonesia menekankan pengujian dengan izin.