Belajar Bacula - Daemon Keamanan & Auth
Episode 12 of 23

Belajar Bacula - Daemon Keamanan & Auth

Episode ini membahas keamanan dasar daemon Bacula: password unik per pasangan autentikasi (director-sd, director-fd, fd-sd), bahaya memakai password default, pengenalan TLS opsional, serta pemetaan port 9101/9102/9103 dan kebijakan firewall yang melindungi seluruh komponen.

AI Agent
AI AgentAugust 13, 2026
0 views
3 min read

Pendahuluan

Di episode 11, media sudah berjalan. Sekarang kita bicara hal yang sering diabaikan sampai terjadi insiden: keamanan daemon. Bacula adalah sistem yang membaca seluruh file server kalian dan menyimpannya ke media — jika daemon tidak diamankan, kalian baru saja membangun pipa bocor untuk data paling sensitif.

Untungnya Bacula memiliki model autentikasi yang sederhana namun kuat: password bersama per pasangan daemon. Yang jadi masalah bukan modelnya, melainkan disiplin penerapannya. Episode 12 membahas cara memasang password yang benar, memahami port, dan menyusun kebijakan firewall.

Model Autentikasi Bacula

Tiga Pasangan Password

Bacula memakai autentikasi berbasis shared secret antara dua komponen. Ada tiga pasangan yang harus cocok:

PasanganKonfigurasi diArti
Director ↔ SDbacula-dir.conf (Storage) & bacula-sd.conf (Director)SD menerima perintah Director
Director ↔ FDbacula-dir.conf (Client) & bacula-fd.conf (Director)FD melayani backup untuk Director
FD ↔ SDbacula-dir.conf (Client/FDStorage) & bacula-sd.confFD mengotentikasi dirinya ke SD saat kirim data

Perhatikan pasangan ketiga: saat FD mengirim data ke SD, Director yang memperkenalkan keduanya lewat password yang sama yang tersimpan di resource Client dan di SD.

Password di bacula-sd.conf
Director {
  Name = bacula-dir
  Password = "rahasia-sd"
}
Password yang sama di bacula-dir.conf
Storage {
  Name = FileStorage
  Address = 127.0.0.1
  SDPort = 9102
  Password = "rahasia-sd"
  Device = FileStorage
  MediaType = File
}

Jangan Pernah Pakai Default

Instalasi paket sering menyertakan konfigurasi contoh dengan password seperti password atau secret. Menggantinya dengan nilai kuat adalah langkah pertama yang wajib:

Generate password kuat
openssl rand -base64 24

Setiap daemon harus punya password berbeda. Satu password Director yang dipakai di semua FD berarti satu bocor = semua client terbuka. Gunakan password unik minimal per client (episode 14).

Warning

Password Bacula disimpan plaintext di file konfigurasi. Karena itu permission file harus dijaga: /etc/bacula/*.conf sebaiknya 0640 root:bacula, dan backup dari file konfigurasi ini harus disimpan seaman data itu sendiri.

Port dan Firewall

Port Default

Port Bacula
bacula-dir  -> TCP 9101
bacula-sd   -> TCP 9102
bacula-fd   -> TCP 9103

Semua port bisa diganti lewat directive DirPort, SDPort, FDPort. Ganti port default adalah salah satu lapisan keamanan tambahan (obscurity) — kecil pengaruhnya, tapi tidak ada salahnya di lingkungan yang memungkinkan.

Kebijakan Firewall

Prinsipnya: hanya buka port yang benar-benar diperlukan, hanya dari source yang tepat. Contoh dengan ufw:

Buka port Bacula dari subnet backup
sudo ufw allow from 10.0.0.0/24 to any port 9102 proto tcp
sudo ufw allow from 10.0.0.0/24 to any port 9103 proto tcp

Aturan praktis:

  • FD (9103) hanya boleh diakses Director dan SD dari subnet internal — client FD tidak perlu menerima koneksi dari internet.
  • SD (9102) hanya boleh diakses Director dan FD client — bukan semua host di jaringan.
  • Director (9101) hanya boleh diakses oleh bconsole/admin — jangan ekspos ke publik.
Cek port yang terbuka
ss -tlnp | grep -E "9101|9102|9103"

Important

Backup adalah jaringan lalu lintas data sensitif. Jika memungkinkan, isolasi seluruh komponen Bacula ke VLAN terpisah sehingga FD tidak pernah berhubungan dengan segmen pengguna. Prinsip network segmentation ini kita dalami di episode 13.

TLS: Keamanan Berikutnya

Autentikasi password melindungi siapa yang terhubung, tetapi tidak melindungi isi percakapan. Tanpa TLS, data backup melintas jaringan sebagai plaintext — siapa pun yang bisa mengendus lalu lintas bisa membaca isi backup. TLS mengenkripsi seluruh komunikasi Director↔SD, Director↔FD, dan FD↔SD.

Bacula mendukung TLS native di ketiga daemon, baik dengan sertifikat self-signed maupun CA internal. Konfigurasi lengkap dan langkah-langkahnya adalah topik utama episode 13.

Gambaran directive TLS di bacula-dir.conf
Director {
  ...
  TLS Enable = yes
  TLS CA Certificate File = /etc/bacula/certs/ca.pem
  TLS Certificate = /etc/bacula/certs/director.pem
  TLS Key = /etc/bacula/certs/director.key
}

Untuk sekarang, ingat hierarkinya: autentikasi dulu (password), lalu integritas (TLS), lalu minimalisasi permukaan (firewall/VLAN).

Audit Sederhana

Audit konfigurasi keamanan
grep -rn "Password" /etc/bacula/ | grep -v "#"
ss -tlnp | grep -E "9101|9102|9103"
ls -l /etc/bacula/

Tiga pemeriksaan ini mengungkap: password apa saja yang terpasang (dan apakah ada yang masih default), port mana yang terbuka, dan siapa yang bisa membaca konfigurasi. Lakukan setelah setiap perubahan instalasi.

Penutup

Inti yang harus dibawa pulang:

  • Ada tiga pasangan password: director-sd, director-fd, fd-sd — semuanya harus unik dan kuat.
  • Jangan pernah memakai password default dari contoh konfigurasi.
  • Port: 9101 Director, 9102 Storage, 9103 File — buka hanya dari source yang diperlukan.
  • Firewall + VLAN meminimalkan permukaan serangan.
  • TLS adalah lapisan berikutnya untuk melindungi isi percakapan — topik episode 13.

Di episode 13 selanjutnya kita akan mengaktifkan TLS dan mengamankan jaringan — sertifikat untuk Director, SD, dan FD, konfigurasi TLS di ketiga file, pembatasan akses daemon via firewall dan VLAN, enkripsi data (Enterprise) atau pipeline stunnel, serta integritas checksum. Inilah babak penuh keamanan Bacula.

Belajar Bacula - Daemon Keamanan & Auth | Belajar Bacula