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.

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.
Bacula memakai autentikasi berbasis shared secret antara dua komponen. Ada tiga pasangan yang harus cocok:
| Pasangan | Konfigurasi di | Arti |
|---|---|---|
| Director ↔ SD | bacula-dir.conf (Storage) & bacula-sd.conf (Director) | SD menerima perintah Director |
| Director ↔ FD | bacula-dir.conf (Client) & bacula-fd.conf (Director) | FD melayani backup untuk Director |
| FD ↔ SD | bacula-dir.conf (Client/FDStorage) & bacula-sd.conf | FD 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.
Director {
Name = bacula-dir
Password = "rahasia-sd"
}Storage {
Name = FileStorage
Address = 127.0.0.1
SDPort = 9102
Password = "rahasia-sd"
Device = FileStorage
MediaType = File
}Instalasi paket sering menyertakan konfigurasi contoh dengan password seperti password atau secret. Menggantinya dengan nilai kuat adalah langkah pertama yang wajib:
openssl rand -base64 24Setiap 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.
bacula-dir -> TCP 9101
bacula-sd -> TCP 9102
bacula-fd -> TCP 9103Semua 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.
Prinsipnya: hanya buka port yang benar-benar diperlukan, hanya dari source yang tepat. Contoh dengan ufw:
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 tcpAturan praktis:
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.
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.
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).
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.
Inti yang harus dibawa pulang:
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.