GNU/Linux >> Belajar Linux >  >> Debian

Cara Menginstal Spamassassin dengan Postfix dan Dovecot di Server Ubuntu/Debian

Email bebas spam dengan SpamAssassin

Jika Anda menjalankan kotak surat Anda sendiri di server menggunakan Postfix dan Dovecot, maka sangat penting untuk menginstal perangkat lunak anti-spam untuk melindungi kotak surat Anda agar tidak dibom dengan surat spam yang masuk.

Dan untuk SpamAssassin ini adalah salah satu solusi terbaik yang tersedia di luar sana. Ini cukup efektif dan salah satu yang paling populer.

Dalam posting ini kita akan melihat cara mengatur spamassassin dengan postfix dan dovecot untuk perlindungan spam.

Kami berasumsi bahwa Anda telah mengatur Postfix dan Dovecot di server Anda untuk menangani surat masuk.

Dan Anda menggunakan Dovecot LMTP untuk mengirimkan email untuk akun pengguna. Prosesnya telah diuraikan dalam posting sebelumnya di sini -

Siapkan server email dengan Postfix dan Dovecot di Ubuntu / Debian

Spamassassin memindai email masuk untuk mengidentifikasi spam dan jika email ditemukan berpotensi sebagai email spam, maka Spamassassin menambahkan header ke email tersebut untuk menandainya sebagai spam.

Pengecekan spam terjadi pada level Postfix. Postfix dikonfigurasi untuk berbicara dengan Spamassassin sebagai content_filter.

Pada langkah berikutnya, Dovecot menganalisis header ini untuk mengidentifikasi pesan spam dan menempatkannya di folder Spam terpisah, seperti Gmail.

1. Instal Spamassassin

Hal pertama yang harus dilakukan adalah menginstal paket spamassassin.

$ apt-get install spamassassin spamc

2. Siapkan akun pengguna dan grup untuk layanan spam

# groupadd spamd# useradd -g spamd -s /bin/false -d /var/log/spamassassin spamd# mkdir /var/log/spamassassin# chown spamd:spamd /var/log/spamassassin

3. Konfigurasi Spamassassin

Edit /etc/default/spamassassin sehingga opsi ini disetel:

# Ubah ke satu untuk mengaktifkan spamdENABLED=1SAHOME="/var/log/spamassassin/"# Opsi# Lihat man spamd untuk opsi yang memungkinkan. Opsi -d ditambahkan secara otomatis.# SpamAssassin menggunakan model preforking, jadi berhati-hatilah! Anda perlu# memastikan --max-children tidak disetel ke yang lebih tinggi dari 5,# kecuali Anda tahu apa yang Anda lakukan.OPTIONS="--create-prefs --max-children 5 --helper-home- dir --username spamd \-H ${SAHOME} -s ${SAHOME}spamd.log"

Temukan juga opsi bernama CRON di bagian bawah dan ubah ke 1. Ini akan mengaktifkan pembaruan otomatis aturan spamassassin saat dirilis.

# Cronjob# Setel ke apa pun kecuali 0 untuk mengaktifkan tugas cron untuk memperbarui secara otomatis# aturan spamassassin setiap malamCRON=1

4. Mulai daemon Spamassassin (spamd)

# service spamassassin startMemulai SpamAssassin Mail Filter Daemon:[email protected]:/etc/default#[email protected]:/etc/default# service spamassassin status * spamd is [email protected]:/etc /default#

Spamassassin memulai layanan latar belakang, jadi gunakan perintah netstat untuk memastikan bahwa spamassassin berjalan dengan baik atau tidak.

# netstat -nlp4 | grep spamtcp 0 0 127.0.0.1:783 0.0.0.0:* DENGARKAN 1123/spamd.pid

4. Konfigurasi Postfix untuk menggunakan Spamassassin sebagai filter

Postfix perlu dikonfigurasi untuk menggunakan layanan spamassassin untuk menyaring semua email masuk
File konfigurasi postfix master.cf perlu diedit untuk menambahkan filter spamassassin. Buka filenya.

# cat /etc/postfix/master.cf

Tambahkan berikut ini di akhir file

spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Setelah menambahkan baris di atas ke master.cf, tugas selanjutnya adalah memulai ulang postfix dan memastikannya berfungsi dengan baik.

$ layanan postfix restart

5. Konfigurasi Spamassassin untuk Menandai Pesan Spam

Setelah mengkonfigurasi Postfix untuk menggunakan Spamassassin, saatnya untuk mengkonfigurasi Spamassassin untuk memodifikasi email sesuai dengan pemeriksaan spam. File konfigurasinya adalah - /etc/spamassassin/local.cf

$ nano /etc/spamassassin/local.cf

Batalkan komentar pada baris rewrite_header untuk mengubah baris Subjek email yang diidentifikasi sebagai spam.

# Tambahkan *****SPAM****** ke Judul subjek email spam## rewrite_header Subjek *****SPAM******rewrite_header Subjek [**** SPAM _SCORE_ *****]

Baris di atas akan menambahkan skor Spam dengan tanda asterisk untuk menunjukkan bahwa pesan tersebut terlihat seperti spam. Skor yang lebih tinggi akan menunjukkan kemungkinan pesan yang lebih tinggi sebagai spam.

Skor Spam

Skor minimum yang diperlukan untuk menandai pesan sebagai spam. Standarnya adalah 5.0, tetapi sekarang suatu hari Anda mungkin memerlukan tingkat skor yang lebih ketat. Jadi 4.0 bekerja dengan baik.

# Setel ambang batas di mana pesan dianggap spam (default:5.0)#required_score 4.0

Lihat opsi lain dalam file dan edit sesuai kebutuhan.

Mulai ulang Spamassassin - Setelah mengkonfigurasi semua parameter dalam file, simpan file dan mulai ulang spamassassin.

# service spamassassin restartMemulai ulang SpamAssassin Mail Filter Daemon:spamd.

6. Periksa log Spamassassin

Jika suatu saat Anda perlu men-debug sesuatu atau melihat apa yang terjadi di latar belakang spamassassin, silakan periksa file tampilannya.

# tail -f /var/log/spamassassin/spamd.logFri 5 Feb 20:11:43 2016 [1123] info:prefork:child states:IIFri 5 Feb 20:23:02 2016 [1123] info:spamd :server dibunuh oleh SIGTERM, dimatikanJumat 5 Feb 20:23:02 2016 [1404] info:logger:menghapus metode stderrFri 5 Feb 20:23:03 2016 [1406] info:zoom:dapat menggunakan 360/360 'body_0' aturan yang dikompilasi (100%) Jum 5 Feb 20:23:03 2016 [1406] info:spamd:server dimulai pada IO::Socket::INET6 [127.0.0.1]:783, IO::Socket::INET6 [::1]:783 (menjalankan versi 3.4.0)Jumat 5 Feb 20:23:03 2016 [1406] info:spamd:server pid:1406Jumat 5 Feb 20:23:03 2016 [1406] info:spamd:server berhasil melahirkan anak proses, pid 1407Jumat 5 Feb 20:23:03 2016 [1406] info:spamd:server berhasil menelurkan proses anak, pid 1408Jumat 5 Feb 20:23:03 2016 [1406] info:prefork:status anak:ISFri 5 Feb 20:23:03 2016 [1406] info:prefork:status anak:II

7. Menguji email Spam

Kirim email ke sistem email Anda dari luar. Sertakan teks berikut di badan email

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

Ini disebut GTUBE - Tes Umum untuk Email Massal yang Tidak Diminta. Ini adalah cara sederhana untuk menguji apakah server email Anda menggunakan spamassassin untuk memfilter email atau tidak.

Pelajari lebih lanjut di sini -
http://spamassassin.apache.org/gtube/

SpamAssassin menambahkan header ke semua email dengan skor spam> 0

Email dengan skor spam 12.9 Ini dianggap spam menurut konfigurasi kami dengan skor minimal 3

X-Spam-Checker-Version:SpamAssassin 3.4.0 (2014-02-07) di localhostX-Spam-Flag:YESX-Spam-Level:************X-Spam -Status:Yes, score=12.9 required=3.0 tests=FROM_LOCAL_NOVOWEL, HTML_FONT_LOW_CONTRAST,HTML_FONT_SIZE_LARGE,HTML_MESSAGE,HTML_OBFUSCATE_05_10, MIME_HTML_ONLY,MISSING_MID,RCVD_IN_BL_SPAMCOP_NET,RCVD_IN_BRBL_LASTEXT, RCVD_IN_PBL,RCVD_IN_PSBL,RCVD_IN_XBL,RDNS_NONE autolearn=no autolearn_force=no version=3.4.0 

Skor Spam 1,7, Tidak dianggap spam

Versi X-Spam-Checker:SpamAssassin 3.4.0 (2014-02-07) di localhostX-Spam-Level:*X-Spam-Status:Tidak, skor=1,7 diperlukan=3,0 tes=DEAR_SOMETHING,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_MSPIKE_H2,URIBL_BLOCKED autolearn=tidak ada autolearn_force=tidak ada versi=3.4.0

Header ini akan digunakan untuk mengirim email ke folder Spam terpisah melalui transportasi LMTP Dovecot.

Konfigurasikan Dovecot dengan folder Spam terpisah

Dovecot adalah sistem pembacaan dan pengelolaan surat, server POP3 dan IMAP. Dovecot-lah yang mengatur email ke dalam folder terpisah tergantung pada kriteria.

Dovecot dapat dikonfigurasi untuk membaca header email dan memindahkan email spam ke folder terpisah yang disebut Spam. Sama seperti yang Anda lihat pada layanan email gratis seperti Gmail dan Outlook.

Instal dan Konfigurasi Plugin Saringan

Dovecot membutuhkan plugin penerjemah Sieve untuk menggunakan Saringan untuk membaca email. Instal paket Saringan

# apt-get install dovecot-sieve dovecot-managessieved

Sunting
/etc/dovecot/conf.d/20-lmtp.conf

Konfigurasikan dovecot untuk mengaktifkan plugin sieve

protocol lmtp { # Daftar plugin yang dipisahkan spasi untuk dimuat (defaultnya adalah global mail_plugins). mail_plugins =saringan $mail_plugins}

Akhirnya saatnya untuk memulai kembali dovecot

# service dovecot restart

Sekarang periksa apakah sieve server berjalan pada port 4190. Gunakan perintah netstat. Layanan ini akan dinamai sebagai dovecot.

# netstat -nltp | grep 4190tcp 0 0 0.0.0.0:4190 0.0.0.0:* DENGARKAN 9843/dovecottcp6 0 0 :::4190 :::* DENGARKAN 9843/dovecot

Menyiapkan penyaringan saringan

Untuk mempelajari lebih lanjut tentang filter saringan, lihat halaman berikut - http://wiki2.dovecot.org/Pigeonhole/Sieve/Examples

# mkdir /var/lib/dovecot/sieve/

Buat file bernama default.sieve dan isi dengan kumpulan aturan berikut

memerlukan ["fileinto", "mailbox"];jika header :berisi "X-Spam-Flag" "YES" { fileinto :create "Spam";}

Sekarang kompilasi file skrip .sieve menggunakan perintah sievec.

# sievec default.sieve

Jika Anda memiliki beberapa file .sieve dalam direktori, maka Anda dapat mengompilasi semuanya sekaligus seperti ini -

# saringan saringan/

Sekarang ubah kepemilikan file sieve menjadi pengguna khusus dovecot sehingga dovecot dapat membacanya. Dalam hal ini nama pengguna adalah vmail.

/var/lib/dovecot# chown -R vmail:vmail sieve/*

Mulai ulang Dovecot lagi.

# service dovecot restart

Periksa log dovecot

File log Dovecot akan membantu Anda mendiagnosis masalah apa pun yang mungkin muncul.

Temukan lokasi file log dovecot dengan perintah berikut

# doveadm log findDebug:/var/log/dovecot.logInfo:/var/log/dovecot.logPeringatan:/var/log/dovecot.logError:/var/log/dovecot.logFatal:/var/log/dovecot .log

Kemudian buka file tersebut menggunakan perintah tail

# tail -f /var/log/dovecot.log
06 Februari 11:17:16 imap-login:Info:Login:user=, method=PLAIN, rip=122.163.23.27, lip=173.255.230.5, mpid=10370, TLS, session=06 Februari 11:17:37 lmtp(10379):Info:Hubungkan dari localFeb 06 11:17:37 lmtp(10379, [email protected]):Kesalahan:uMMvHPmItVaLKAAA0J78UA:saringan:skrip utama:gagal skrip saringan stat:stat(/var/lib/dovecot/sieve/default.sieve) gagal:Izin ditolak (euid=5000(vmail) egid=5000(vmail) hilang +x perm:/var/lib/dovecot, dir dimiliki oleh 0:0 mode=0750)06 Februari 11:17:37 lmtp(10379, [email protected]):Kesalahan:uMMvHPmItVaLKAAA0J78UA:saringan:gagal mengakses skrip pengguna default /var/lib/dovecot/sieve/default.sieveFeb 06 11:17:37 lmtp(10379, [email protected]):Info:uMMvHPmItVaLKAAA0J78UA:msgid=:menyimpan email ke INBOXFeb 06 11:17:37 lmtp(10379):Info:Putus dari lokal:Berhasil berhenti 06 Februari 11:18:31 lmtp(10379):Info:Terhubung dari lokal06 Februari 11:18:31 lmtp(10379, contoh@unix linux.online):Kesalahan:vMMvHPmItVaLKAAA0J78UA:saringan:msgid=:gagal menyimpan ke kotak surat 'Spam':Kotak surat tidak ada:SpamFeb 06 11:18:31 lmtp(10379, contoh@unixlinux .online):Info:vMMvHPmItVaLKAAA0J78UA:sieve:msgid=:menyimpan email ke dalam kotak surat 'INBOX'06 Februari 11:18:31 lmtp(10379, [email protected]):Kesalahan:vMMvHPmItUAVaLKAAA0J78 :eksekusi skrip /var/lib/dovecot/sieve/default.sieve;name=main skrip gagal, tetapi penyimpanan implisit berhasil 06 Februari 11:18:31 lmtp(10379):Info:Putus dari lokal:Berhasil quitFeb 06 11:26:27 lmtp(10479):Info:Hubungkan dari localFeb 06 11:26:27 lmtp(10479, [email protected]):Info:3h4eBwuLtVbvKAAA0J78UA:sieve:msgid=:menyimpan email ke dalam kotak surat 'Spam' 06 Feb 11:26:27 lmtp(10479):Info:Putus dari lokal:Berhasil berhentiFeb 06 11:26:57 imap-login:Info:Login:user=, method=PLAIN , rip=122.163.23.27, bibir=173.255.230 .5, mpid=10483, TLS, session=06 Februari 11:26:58 imap-login:Info:Login:user=, method=PLAIN, rip=122.163.23.27, lip =173.255.230.5, mpid=10484, TLS, session=06 Februari 11:28:30 imap-login:Info:Login:user=, method=PLAIN, rip=122.163 .23.27, lip=173.255.230.5, mpid=10499, TLS, sesi=

Ubah izin direktori dovecot

/var/lib/dovecot# chmod a+x .

Meningkatkan pemfilteran spam Spamassassin dengan Pyzor

Pyzor akan bertindak seperti aturan lainnya.
https://wiki.Apache.org/spamassassin/Rules/PYZOR_CHECK

Ini akan menambah skor spam tambahan sekitar 1,985 menurut tabel tes yang ditemukan di - http://spamassassin.apache.org/tests_3_3_x.html

# sudo apt-get install pyzor

Temukan server Pyzor

# pyzor --homedir /etc/mail/spamassassin/pyzor temukan

Jadikan file server dapat dibaca oleh semua

/etc/spamassassin/pyzor# chmod a+r server

Jalankan pemeriksaan -

# echo "tes" | spamassassin -D pyzor 2>&1 | kurang

Anda akan melihat beberapa output seperti ini

9 Februari 16:24:58.824 [23979] dbg:pyzor:pengujian jaringan aktif, mencoba PyzorFeb 9 16:24:59.787 [23979] dbg:pyzor:pyzor tersedia:/usr/bin/pyzorFeb 9 16:24 :59.788 [23979] dbg:pyzor:pipa pembuka:/usr/bin/pyzor periksa  

Tambahkan baris berikut di akhir /etc/spamassassin/local.cf

pyzor_options --homedir /etc/mail/spamassassin/pyzor

Dan mulai ulang daemon spamassassin

# layanan spamassassin restart

Pasang Pisau Cukur

sudo apt-get install pisau cukur
/etc/spamassassin# mkdir razor

Sekarang jalankan perintah berikut untuk mendaftar ke jaringan terdistribusi pisau cukur.

# razor-admin -home=/etc/spamassassin/razor -registerRegister berhasil. Identitas disimpan di /etc/mail/spamassassin/razor/identity-rudkVFCIxs# razor-admin -home=/etc/spamassassin/razor -create# razor-admin -home=/etc/spamassassin/razor -discover

Tambahkan baris berikut di akhir file /etc/spamassassin/local.cf

razor_config /etc/spamassassin/razor/razor-agent.conf

Akhirnya restart spamassassin

periksa pisau cukur yang berfungsi dengan perintah ini

# echo "tes" | spamassassin -D razor2 2>&1 | kurang

sesuatu seperti ini akan muncul

9 Februari 17:11:34.701 [26028] dbg:razor2:razor2 tersedia, versi 2.84 Razor-Log:read_file:15 item dibaca dari /etc/mail/spamassassin/razor/razor-agent.conf

Skor khusus untuk skor yang lebih tinggi

Ini adalah cara yang sedikit canggih untuk meningkatkan akurasi spamassassin untuk menangkap spam dengan lebih baik. Ini melibatkan peningkatan tingkat skor untuk tes spam tertentu di dalam spamassassin. Ini adalah tes spam yang diketahui memiliki tingkat akurasi yang sangat tinggi dalam mendeteksi spam.

Jadi, jika beberapa tes akurasi tinggi ini menunjukkan email sebagai spam, kami harus lebih fokus padanya.

http://toao.net/566-improving-spamassassin-accuracy-with-statistics

Kesimpulan

Itu adalah proses untuk mengatur SpamAssassin di server email Anda untuk mendeteksi email spam dan menjaga kotak surat Anda tetap bersih.
Prosesnya agak lama tetapi akan berfungsi dengan baik jika Anda memerlukan server email Anda sendiri dengan sistem anti-spam.

Jika Anda memiliki umpan balik atau pertanyaan, beri tahu kami di komentar di bawah.

Referensi dan Sumber Daya

Pengaturan Spamassassin sederhana dengan Postfix dan Dovecot di Ubuntu Breezy
http://www.townx.org/index.php?q=blog/elliot/simple_spamassassin_setup_with_postfix_and_dovecot_on_ubuntu_breezy

Cara Memasang dan Mengatur Spamassassin di Ubuntu 12.04
https://www.digitalocean.com/community/tutorials/how-to-install-and-setup-spamassassin-on-ubuntu-12-04

Petunjuk menginstal Pyzor dan Razor dengan Spamassassin
https://kura.io/2011/09/22/spamassassin-razor-pyzor/

Menyiapkan pemfilteran Saringan dengan Dovecot
https://easyengine.io/tutorials/mail/server/sieve-filtering/

Tip Spamassassin :Panduan Pengaturan Utama
http://www.spamtips.org/p/ultimate-setup-guide.html

Cara Meningkatkan Akurasi SpamAssassin
https://wiki.Apache.org/spamassassin/ImproveAccuracy

Tentang efek penurunan ambang SpamAssassin Anda
http://taint.org/2008/02/29/155648a.html

Meningkatkan akurasi SpamAssassin pada server email cPanel (atau lainnya) - dengan statistik
http://toao.net/566-improving-spamassassin-accuracy-with-statistics

Postingan ini menguraikan peretasan sederhana yang dapat Anda gunakan untuk mengubah tingkat skor untuk beberapa tes pembunuh spam sehingga meningkatkan pemfilteran spam.

Kiat Lanjutan untuk Menggunakan SpamAssassin
https://www.andrewferrier.com/oldpages/spamassassin_tips.html


Debian
  1. Cara Install Puppet 6.x Di Ubuntu 18.04 / Ubuntu 16.04 &Debian 9

  2. Cara Install SSH Server di Ubuntu / Debian dengan OpenSSH

  3. Cara menginstal dan mengintegrasikan SpamAssassin dengan Postfix pada CentOS 6 VPS

  1. Cara Menginstal Server FTP vsftpd dan Mengamankannya dengan TLS di Debian 11

  2. Cara Memasang dan Mengatur Server Media Gerbera di Ubuntu / Debian

  3. Instal server email Postfix dan Dovecot di Ubuntu atau Debian

  1. Cara Menginstal dan Mengkonfigurasi VNC di Debian 9

  2. Cara Menginstal dan Mengkonfigurasi Nginx di Ubuntu 18.04 / Debian 9

  3. Cara Menginstal WordPress dengan EasyEngine di Ubuntu 18.04 dan Debian