Cara Menambahkan Antivirus dan Perlindungan Spam ke Server Email Postfix dengan ClamAV dan SpamAssassin - Bagian 3
Dalam dua artikel sebelumnya dari seri Postfix ini Anda telah mempelajari cara mengatur dan mengelola database server email melalui phpMyAdmin, dan cara mengkonfigurasi Postfix dan Dovecot untuk menangani email masuk dan keluar. Selain itu, kami menjelaskan cara menyiapkan klien email, seperti Thunderbird, untuk akun virtual yang kami buat sebelumnya.
- Siapkan Server Email Postfix dan Dovecot dengan MariaDB – Bagian 1
- Cara Konfigurasi Postfix dan Dovecot dengan Pengguna Domain Virtual – Bagian 2
- Instal dan Konfigurasikan Klien Webmail RoundCube dengan Pengguna Virtual di Postfix – Bagian 4
- Gunakan Sagator, Gerbang Antivirus/Antispam untuk Melindungi Server Email Anda – Bagian 5
Karena tidak ada penyiapan server email yang dapat diselesaikan tanpa mengambil tindakan pencegahan terhadap virus dan spam, kami akan membahas topik tersebut di artikel kali ini.
Harap diingat bahwa meskipun sistem operasi *mirip nix biasanya dianggap bebas virus, kemungkinan besar klien yang menggunakan sistem operasi lain juga akan terhubung ke server email Anda.
Oleh karena itu, Anda perlu memberi mereka keyakinan bahwa Anda telah mengambil tindakan yang diperlukan untuk melindungi mereka semaksimal mungkin dari ancaman tersebut.
Mengonfigurasi SpamAssassin untuk Postfix
Dalam proses menerima email, spamassassin akan berdiri di antara dunia luar dan layanan email yang berjalan di server Anda sendiri. Jika ditemukan, sesuai dengan aturan definisi dan konfigurasinya, bahwa pesan masuk adalah spam, maka ia akan menulis ulang baris subjek untuk mengidentifikasinya dengan jelas. Mari kita lihat caranya.
File konfigurasi utama adalah /etc/mail/spamassassin/local.cf
, dan kita harus memastikan opsi berikut tersedia (tambahkan jika tidak ada atau batalkan komentar jika perlu):
report_safe 0
required_score 8.0
rewrite_header Subject [SPAM]
- Jika report_safe disetel ke 0 (nilai yang disarankan), spam yang masuk hanya diubah dengan memodifikasi header email sesuai rewrite_header. Jika disetel ke 1, pesan akan dihapus.
- Untuk menyetel agresivitas filter spam, skor_yang diperlukan harus diikuti dengan bilangan bulat atau angka desimal. Semakin kecil angkanya, semakin sensitif filternya. Menyetel required_score ke nilai antara 8.0 dan 10.0 direkomendasikan untuk sistem besar yang melayani banyak (~100 detik) akun email.
Setelah Anda menyimpan perubahan tersebut, aktifkan dan mulai layanan filter spam, lalu perbarui aturan spam:
systemctl enable spamassassin
systemctl start spamassassin
sa-update
Untuk opsi konfigurasi lebih lanjut, Anda mungkin ingin merujuk ke dokumentasi dengan menjalankan perldoc Mail::SpamAssassin::Conf
di baris perintah.
Mengintegrasikan Postfix dan SpamAssassin
Untuk mengintegrasikan Postfix dan spamassassin secara efisien, kita perlu membuat pengguna dan grup khusus untuk menjalankan daemon filter spam:
useradd spamd -s /bin/false -d /var/log/spamassassin
Selanjutnya, tambahkan baris berikut di bagian bawah /etc/postfix/master.cf
:
spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
Dan tunjukkan (di bagian atas) bahwa pembunuh spam akan berfungsi sebagai filter_konten:
-o content_filter=spamassassin
Terakhir, restart Postfix untuk menerapkan perubahan:
systemctl restart postfix
Untuk memverifikasi bahwa SpamAssassin berfungsi dengan baik dan mendeteksi spam yang masuk, pengujian yang dikenal sebagai GTUBE (Tes Umum untuk Email Massal yang Tidak Diminta) disediakan.
Untuk melakukan tes ini, kirim email dari domain di luar jaringan Anda (seperti Yahoo!, Hotmail, atau Gmail) ke akun yang berada di server email Anda. Atur baris Subjek sesuai keinginan Anda dan sertakan teks berikut di badan pesan:
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
Misalnya, mengirimkan teks di atas dalam isi pesan dari akun Gmail saya menghasilkan hasil sebagai berikut:
Dan menunjukkan pemberitahuan terkait di log:
journalctl | grep spam
Seperti yang Anda lihat pada gambar di atas, pesan email ini mendapat skor spam 1002,3. Selain itu, Anda dapat menguji spamassassin langsung dari baris perintah:
spamassassin -D < /usr/share/doc/spamassassin-3.4.0/sample-spam.txt
Perintah di atas akan menghasilkan beberapa keluaran yang sangat panjang yang mencakup hal-hal berikut:
Jika pengujian ini tidak berhasil, Anda mungkin ingin merujuk ke panduan integrasi pembunuh spam.
Memulai ClamAV dan Memperbarui Definisi Virus
Untuk memulai, kita perlu mengedit /etc/clamd.d/scan.conf
. Batalkan komentar pada baris berikut:
LocalSocket /var/run/clamd.scan/clamd.sock
dan mengomentari atau menghapus baris:
Example
Kemudian aktifkan dan mulai daemon pemindai clamav:
systemctl enable [email
systemctl start [email
dan jangan lupa setel boolean SELinux antivirus_can_scan_system ke 1:
setsebool -P antivirus_can_scan_system 1
Pada titik ini, ada baiknya untuk memeriksa status layanan:
Seperti yang Anda lihat pada gambar di atas, tanda tangan virus kami berumur lebih dari 7 hari. Untuk memperbaruinya kami akan menggunakan alat bernama freshclam yang diinstal sebagai bagian dari paket clamav-update.
Cara termudah untuk memperbarui definisi virus adalah melalui tugas cron yang dijalankan sesering yang diinginkan (misalnya sehari sekali, pada waktu server 1 pagi seperti yang ditunjukkan dalam contoh berikut dianggap cukup):
00 01 * * * root /usr/share/clamav/freshclam-sleep
Anda juga dapat memperbarui definisi virus secara manual, namun sebelumnya Anda juga harus menghapus atau mengomentari baris berikut di /etc/freshclam.conf
.
Example
Sekarang Anda seharusnya dapat menjalankan:
freshclam
yang akan memperbarui definisi virus sesuai keinginan:
Menguji ClamAV untuk Virus di Email
Untuk memverifikasi ClamAV berfungsi dengan benar, mari unduh virus uji (yang bisa kita dapatkan dari http://www.eicar.org/download/eicar.com) ke Maildir [dilindungi email] ( yang terletak di /home/vmail/linuxnewz.com/tecmint/Maildir) untuk menyimulasikan file terinfeksi yang diterima sebagai lampiran email:
cd /home/vmail/linuxnewz.com/tecmint/Maildir
wget http://www.eicar.org/download/eicar.com
Lalu pindai direktori /home/vmail/linuxnewz.com secara rekursif:
clamscan --infected --remove --recursive /home/vmail/linuxnewz.com
Sekarang, silakan atur pemindaian ini agar dijalankan melalui cronjob. Buat file bernama /etc/cron.daily/dailyclamscan
, masukkan baris berikut:
#!/bin/bash
SCAN_DIR="/home/vmail/linuxnewz.com"
LOG_FILE="/var/log/clamav/dailyclamscan.log"
touch $LOG_FILE
/usr/bin/clamscan --infected --remove --recursive $SCAN_DIR >> $LOG_FILE
dan berikan izin eksekusi:
chmod +x /etc/cron.daily/dailyclamscan
Cronjob di atas akan memindai direktori server email secara rekursif dan meninggalkan log operasinya di /var/log/clamav/dailyclamscan.log
(pastikan /var/log/clamav direktori ada).
Mari kita lihat apa yang terjadi ketika kita mengirim file eicar.com dari [email ke [email :
Ringkasan
Jika Anda mengikuti langkah-langkah yang dijelaskan dalam tutorial ini dan dalam dua artikel sebelumnya dari seri ini, Anda sekarang memiliki server email Postfix yang berfungsi dengan perlindungan spam dan antivirus.
PENOLAKAN: Harap dicatat bahwa keamanan server adalah subjek yang luas dan tidak dapat dibahas secara memadai dalam seri pendek seperti ini.
Oleh karena itu, saya sangat menganjurkan Anda untuk memahami alat-alat yang digunakan dalam seri ini dan halaman manualnya. Meskipun saya telah melakukan yang terbaik untuk membahas konsep-konsep penting yang terkait dengan topik ini, jangan berasumsi bahwa setelah membaca seri ini Anda sepenuhnya memenuhi syarat untuk menyiapkan dan memelihara server email di lingkungan produksi.
Seri ini dimaksudkan sebagai titik awal dan bukan sebagai panduan lengkap mengenai administrasi server email di Linux.
Anda mungkin akan memikirkan ide lain yang dapat memperkaya seri ini. Jika demikian, silakan kirimkan catatan kepada kami menggunakan formulir komentar di bawah. Pertanyaan dan saran lainnya juga kami hargai – kami menantikan tanggapan Anda!