Tulisan ini menjelaskan proses export dan import database Bayes SpamAssassin pada lingkungan Carbonio.
Proses ini dilakukan untuk mempertahankan hasil training SpamAssassin agar tidak perlu dilakukan ulang ketika terjadi perubahan infrastruktur, seperti migrasi server atau penambahan node MTA (Mail Transfer Agent) baru.
Dengan memigrasikan database Bayes, MTA baru dapat langsung memiliki kualitas dan akurasi filtering spam yang sama seperti MTA yang telah berjalan sebelumnya, sehingga potensi lolosnya email spam ke inbox pengguna dapat diminimalkan.
Kapan Proses Ini Digunakan
Proses ini direkomendasikan pada kondisi berikut:
- Migrasi infrastruktur Carbonio ke server atau environment baru
- Penambahan node MTA baru ke dalam cluster Carbonio
- Re-install atau rebuild server MTA
- Scaling infrastructure untuk kebutuhan performa dan high availability
Penjelasan Singkat
SpamAssassin menggunakan metode Bayesian filtering untuk mempelajari pola email spam dan non-spam berdasarkan histori email yang telah dianalisis.
Ketika sebuah MTA baru ditambahkan ke dalam infrastruktur Carbonio, SpamAssassin pada node tersebut masih berada dalam kondisi fresh (belum terlatih). Kondisi ini dapat menyebabkan:
- Akurasi filtering spam menjadi rendah
- Banyak email spam lolos ke inbox pengguna
- Penurunan kualitas layanan email pada fase awal operasional
Untuk menghindari hal tersebut, sangat disarankan untuk memigrasikan database training Bayes SpamAssassin dari MTA yang telah terlatih ke MTA yang baru.
Skenario Penggunaan
Skenario 1 Migrasi Infrastruktur
Jika kalian melakukan migrasi dari infrastruktur Carbonio lama ke infrastruktur baru, database Bayes SpamAssassin dari server lama dapat diexport dan diimport ke server baru.
Skenario 2 Penambahan MTA Baru
Jika infrastruktur Carbonio sudah memiliki MTA dengan SpamAssassin yang telah terlatih (Node A), dan akan ditambahkan MTA baru (Node B), maka database Bayes dari Node A dapat dipindahkan ke Node B agar kualitas filtering tetap konsisten di seluruh node.
Prosedur Migrasi Bayes Database
Step 1 Export Database Bayes dari MTA Sumber
Pada MTA sumber, jalankan perintah berikut sebagai user root:
/opt/zextras/common/bin/sa-learn \
--dbpath /opt/zextras/data/amavisd/.spamassassin \
--backup > /tmp/bayes.db
Perintah ini akan mengekspor seluruh database Bayes SpamAssassin ke dalam satu file backup.
Step 2 Transfer File ke MTA Tujuan
Masih dari MTA sumber, transfer file hasil export ke MTA tujuan:
scp /tmp/bayes.db root@{remotehost}:/tmp/
Ganti {remotehost} dengan hostname atau IP address dari MTA tujuan.
Step 3 Import Database Bayes ke MTA Baru
Pada MTA tujuan, jalankan perintah berikut sebagai user root:
chown zextras:zextras /tmp/bayes.db
/opt/zextras/common/bin/sa-learn \
--dbpath /opt/zextras/data/amavisd/.spamassassin \
--restore /tmp/bayes.db
Langkah ini akan mengembalikan seluruh data training SpamAssassin ke MTA baru.
Step 4 Restart Service Antispam
Agar perubahan diterapkan, lakukan restart service antispam:
Jika dijalankan sebagai user zextras:
zmantispamctl restart
Jika menggunakan Ubuntu 24.04 atau RHEL 9 (systemd):
systemctl restart carbonio-mailthreat
Penutup
Dengan melakukan migrasi database Bayes SpamAssassin, node MTA baru pada Carbonio dapat langsung menggunakan hasil training yang sama tanpa harus menunggu proses pembelajaran ulang.
Proses ini sangat direkomendasikan untuk menjaga konsistensi proteksi spam, meningkatkan kualitas filtering email, serta meminimalkan gangguan terhadap pengguna saat perubahan infrastruktur dilakukan.