E-maily bez spamu se SpamAssassin
Pokud provozujete svou vlastní poštovní schránku na serveru využívajícím Postfix a Dovecot, pak je nutné nainstalovat antispamový software, který ochrání vaši poštovní schránku před bombardováním příchozími spamovými e-maily.
A proto je SpamAssassin jedním z nejlepších dostupných řešení. Je docela efektivní a jeden z nejoblíbenějších.
V tomto příspěvku uvidíme, jak nastavit spamassassin s postfixem a dovecotem pro ochranu proti spamu.
Předpokládáme, že jste již na svém serveru nastavili Postfix a Dovecot pro zpracování příchozí pošty.
A že používáte Dovecot LMTP pro doručování pošty pro uživatelské účty. Proces byl popsán v předchozím příspěvku zde -
Nastavte poštovní server pomocí Postfix a Dovecot na Ubuntu / DebianSpamassassin skenuje příchozí e-maily, aby identifikoval spam, a pokud se zjistí, že e-mail je potenciálně spam, Spamassassin k tomuto e-mailu přidá záhlaví, aby jej označil jako spam.
Kontrola spamu probíhá na úrovni Postfixu. Postfix je nakonfigurován tak, aby mluvil se Spamassassinem jako content_filter.
V dalším kroku Dovecot analyzuje tato záhlaví, aby identifikoval spamové zprávy a umístí je do samostatné složky Spam, stejně jako Gmail.
1. Nainstalujte Spamassassin
První věcí by bylo nainstalovat balíčky spamassassin.
$ apt-get install spamassassin spamc
2. Nastavte uživatelský účet a skupinu pro službu 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. Nakonfigurujte Spamassassin
Upravte /etc/default/spamassassin tak, aby byly nastaveny tyto možnosti:
# Změnou na jedničku povolíte spamdENABLED=1SAHOME="/var/log/spamassassin/"# Možnosti# Možné možnosti naleznete v man spamd. Volba -d se automaticky přidá.# SpamAssassin používá model předběžného rozvětvení, takže buďte opatrní! Musíte se# ujistit, že --max-children není nastaveno na nic vyššího než 5,# pokud nevíte, co děláte.OPTIONS="--create-prefs --max-children 5 --helper-home- dir --username spamd \-H ${SAHOME} -s ${SAHOME}spamd.log"
V dolní části také najděte možnost nazvanou CRON a změňte ji na 1. To umožní automatickou aktualizaci pravidel spamassassinů při jejich vydání.
# Cronjob# Nastavte na cokoli kromě 0, abyste umožnili úloze cron automaticky aktualizovat# pravidla spamassassina každou nocCRON=1
4. Spusťte démona Spamassassin (spam)
# service spamassassin startSpuštění démona poštovního filtru SpamAssassin:[email protected]:/etc/default#[email protected]:/etc/default# služba status spamassassina * spamd běží[email protected]:/et /default#
Spamassassin spouští službu na pozadí, takže pomocí příkazu netstat se ujistěte, že spamassassin běží správně nebo ne.
# netstat -nlp4 | grep spamtcp 0 0 127.0.0.1:783 0.0.0.0:* LISTEN 1123/spamd.pid
4. Nakonfigurujte Postfix tak, aby používal Spamassassin jako filtr
Postfix musí být nakonfigurován tak, aby používal službu spamassassin k filtrování všech příchozích e-mailů
Konfigurační soubor postfixu master.cf je třeba upravit pro přidání filtru spamassassin. Otevřete soubor.
# cat /etc/postfix/master.cf
Přidejte následující na konec souboru
spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
Po přidání výše uvedených řádků do master.cf je dalším úkolem restartovat postfix a ujistit se, že funguje správně.
$ service postfix restart
5. Nakonfigurujte Spamassassin tak, aby označoval spamové zprávy
Po konfiguraci Postfixu, aby používal Spamassassin, je čas nakonfigurovat Spamassassin tak, aby upravoval e-maily podle kontrol spamu. Konfigurační soubor je - /etc/spamassassin/local.cf
$ nano /etc/spamassassin/local.cf
Odkomentujte řádek rewrite_header, chcete-li upravit řádky Předmět e-mailů, které jsou identifikovány jako spam.
# Přidat *****SPAM***** do hlavičky Subject spamových e-mailů## rewrite_header Subject *****SPAM*****rewrite_header Subject [***** SPAM _SCORE_ *****]
Výše uvedený řádek by přidal Spam skóre s hvězdičkami, což znamená, že zpráva vypadá jako spam. Vyšší skóre by znamenalo vyšší pravděpodobnost, že zpráva bude spam.
Skóre spamu
Minimální požadované skóre pro označení zprávy jako spamu. Výchozí hodnota je 5,0, ale nyní možná budete potřebovat přísnější úroveň skóre. Takže 4.0 funguje dobře.
# Nastavte práh, při kterém je zpráva považována za spam (výchozí:5.0)#required_score 4.0
Podívejte se na další možnosti v souboru a upravte je podle potřeby.
Restartujte Spamassassin - Po konfiguraci všech parametrů v souboru uložte soubor a restartujte spamassassin.
# service spamassassin restartRestartování démona filtru pošty SpamAssassin:spamd.
6. Zkontrolujte protokol Spamassassin
Pokud v kterémkoli okamžiku potřebujete něco odladit nebo zobrazit, co se děje na pozadí spamassassina, neváhejte se podívat na jeho soubor vzhledu.
# tail -f /var/log/spamassassin/spamd.logPá 5. února 20:11:43 2016 [1123] info:prefork:podřízené stavy:IIFri 5. února 20:23:02 2016 [1123] info:spamd :server zabit SIGTERM, vypnutí Pá 5. února 20:23:02 2016 [1404] info:logger:odstranění metody stderrPá 5. února 20:23:03 2016 [1406] info:zoom:schopen používat 360/360 'body_0 sestavená pravidla (100%)Pá 5. února 20:23:03 2016 [1406] info:spamd:server spuštěn na IO::Socket::INET6 [127.0.0.1]:783, IO::Socket::INET6 [::1]:783 (běžící verze 3.4.0)Pá 5. února 20:23:03 2016 [1406] info:spam:server pid:1406Pá 5. 20:23:03 2016 [1406] info:spamd:server úspěšně spawnoval dítě proces, pid 1407Pá 5. února 20:23:03 2016 [1406] info:spamd:server úspěšně spawnoval podřízený proces, pid 1408Pá 5. únor 20:23:03 2016 [1406] info:prefork:podřízené stavy:5. 2. ISF:0. únor 23:03 2016 [1406] info:prefork:dítě uvádí:II
7. Otestujte nevyžádanou poštu
Pošlete e-mail do svého poštovního systému zvenčí. Do těla e-mailu vložte následující text
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
Jmenuje se GTUBE – Obecný test nevyžádaných hromadných e-mailů. Je to jednoduchý způsob, jak otestovat, zda váš poštovní server používá k filtrování pošty spamassassin nebo ne.
Více se o tom dozvíte zde -
http://spamassassin.apache.org/gtube/
SpamAssassin přidává záhlaví ke všem e-mailům se skóre spamu> 0
Pošta se skóre spamu 12,9 Toto je považováno za spam podle naší konfigurace s minimálním skóre 3
X-Spam-Checker-Version:SpamAssassin 3.4.0 (2014-02-07) na 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.0Spamové skóre 1,7, nepovažuje se za spam
X-Spam-Checker-Version:SpamAssassin 3.4.0 (2014-02-07) na localhostX-Spam-Level:*X-Spam-Status:Ne, skóre=1,7 požadováno=3,0 testy=DEAR_SOMETHING,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_MSPIKE_H2,URIBL_BLOCKED autolearn=no autolearn_force=žádná verze=3.4.0Tyto hlavičky budou použity k odesílání e-mailů do samostatné složky Spam prostřednictvím přenosu Dovecot LMTP.
Nakonfigurujte Dovecot se samostatnou složkou Spam
Dovecot je systém pro čtení a správu pošty, server POP3 a IMAP. Je to Dovecot, kdo organizuje e-maily do samostatných složek v závislosti na kritériích.
Dovecot lze nakonfigurovat tak, aby četl hlavičky pošty a přesouval nevyžádanou poštu do samostatné složky s názvem Spam. Podobně jako u bezplatných poštovních služeb, jako je Gmail a Outlook.
Nainstalujte a nakonfigurujte Sieve Plugin
Dovecot potřebuje plugin Sieve interpreter, aby mohl používat Sieve ke čtení e-mailů. Nainstalujte balíčky Sieve
# apt-get install dovecot-sieve dovecot-managesievedUpravit
/etc/dovecot/conf.d/20-lmtp.confNakonfigurujte dovecot, abyste povolili plugin sieve
protocol lmtp { # Prostorem oddělený seznam pluginů k načtení (výchozí je globální mail_plugins). mail_plugins =$mail_plugins síto}Konečně je čas restartovat holubník
# restart služby dovecotNyní zkontrolujte, zda sieve server běží na portu 4190. Použijte příkaz netstat. Služba bude pojmenována jako holubník.
# netstat -nltp | grep 4190tcp 0 0 0.0.0.0:4190 0.0.0.0:* LISTEN 9843/dovecotcp6 0 0 :::4190 :::* LISTEN 9843/dovecotNastavení filtrování Sieve
Chcete-li se dozvědět více o sítových filtrech, podívejte se na následující stránku - http://wiki2.dovecot.org/Pigeonhole/Sieve/Examples
# mkdir /var/lib/dovecot/sieve/Vytvořte soubor s názvem default.sieve a naplňte jej následujícími sadami pravidel
vyžadovat ["fileinto", "mailbox"];if záhlaví :obsahuje "X-Spam-Flag" "YES" { fileinto :create "Spam";}Nyní zkompilujte soubor skriptu .sieve pomocí příkazu sievec.
# sievec default.sievePokud máte v adresáři více souborů .sieve, můžete je všechny zkompilovat najednou takto -
# sievec síto/Nyní změňte vlastnictví souborů site na konkrétního uživatele dovecot, aby je dovecot mohl číst. V tomto případě je uživatelské jméno vmail.
/var/lib/dovecot# chown -R vmail:vmail sieve/*Znovu spusťte Dovecot.
# restart služby dovecotZkontrolujte protokoly dovecot
Soubory protokolu Dovecot vám pomohou diagnostikovat jakékoli problémy, které by mohly nastat.
Najděte umístění souborů protokolu dovecot pomocí následujícího příkazu
# doveadm log findDebug:/var/log/dovecot.logInfo:/var/log/dovecot.logUpozornění:/var/log/dovecot.logError:/var/log/dovecot.logFatal:/var/log/dovecot .logPoté soubor otevřete pomocí příkazu tail
# tail -f /var/log/dovecot.logFeb 06 11:17:16 imap-login:Info:Login:user=, method=PLAIN, rip=122.163.23.27, lip=173.255.230.5, mpid=10370, TLS, session= Únor 06 11:17:37 lmtp(10379):Info:Připojit z localFeb 06 11:17:37 lmtp(10379, [email protected]):Chyba:uMMve7AAA0 main:Siselhalo stat sieve skript:stat(/var/lib/dovecot/sieve/default.sieve) se nezdařilo:Oprávnění odepřeno (euid=5000(vmail) egid=5000(vmail) chybí +x perm:/var/lib/dovecot, vlastní adresář by 0:0 mode=0750)Feb 06 11:17:37 lmtp(10379, [email protected]):Chyba:uMMvHPmItVaLKAAA0J78UA:sieve:selhal přístup k výchozímu uživatelskému skriptu /var/lib/dovecot/sieveFebault. 06 11:17:37 lmtp(10379, [email protected]):Info:uMMvHPmItVaLKAAA0J78UA:msgid= :uložená pošta do INBOXFeb 06 11:17:3:Info:391 Disconnect from local:Úspěšné ukončení 6. února 11:18:31 lmtp(10379):Informace:Připojení z místního února 06 11:18:31 lmtp(10379, example@unix linux.online):Chyba:vMMvHPmItVaLKAAA0J78UA:sieve:msgid= :nepodařilo se uložit do schránky 'Spam':Mailbox neexistuje:SpamFeb 06 11:18:31 lmtp(ux3799lmtp .online):Info:vMMvHPmItVaLKAAA0J78UA:sieve:msgid= :uložená pošta do schránky 'INBOX'Feb 06 11:18:31 lmtp(10379, example@unixVLKAmHPJe8VLKAm. :provedení skriptu /var/lib/dovecot/sieve/default.sieve;name=hlavní skript se nezdařilo, ale implicitní zachování bylo úspěšnéFeb 06 11:18:31 lmtp(10379):Info:Odpojit od místního:Úspěšné quitFeb 06 11:26:27 lmtp(10479):Info:Připojit z localFeb 06 11:26:27 lmtp(10479, [email protected]):Info:3h4eBwuLtVbvKAAA0J78UA:sieve:mslegid mailboxlinux. 'Spam'Feb 06 11:26:27 lmtp(10479):Info:Odpojit od local:Úspěšné ukončeníFeb 06 11:26:57 imap-login:Info:Login:user= , metoda=PLAIN , rip=122.163.23.27, lip=173.255.230 .5, mpid=10483, TLS, session= Feb 06 11:26:58 imap-login:Info:Login:user= , method=PLAIN, rip=122.163.23.27, =173.255.230.5, mpid=10484, TLS, session= Feb 06 11:28:30 imap-login:Info:Login:user= , method=PLAIN, rip=1 .23.27, lip=173.255.230.5, mpid=10499, TLS, session= Změňte oprávnění adresáře dovecot
/var/lib/dovecot# chmod a+x .Zlepšete filtrování spamu Spamassassin pomocí Pyzor
Pyzor bude fungovat stejně jako ostatní pravidla.
https://wiki.apache.org/spamassassin/Rules/PYZOR_CHECKPřidá extra spamové skóre asi 1,985 podle tabulky testů na adrese - http://spamassassin.apache.org/tests_3_3_x.html
# sudo apt-get install pyzorObjevte servery Pyzor
# pyzor --homedir /etc/mail/spamassassin/pyzor discoverUdělejte soubor serverů čitelný pro všechny
/etc/spamassassin/pyzor# servery chmod a+rProveďte kontrolu -
# echo "test" | spamassassin -D pyzor 2>&1 | méněMěli byste vidět nějaký výstup jako tento
Únor 9 16:24:58.824 [23979] dbg:pyzor:testy sítě zapnuty, pokus o PyzorFeb 9 16:24:59.787 [23979] dbg:pyzor:pyzor je k dispozici:/usr/bin/pyzorFeb 9 16 :59.788 [23979] dbg:pyzor:otevírací potrubí:/usr/bin/pyzor checkPřidejte následující řádky na konec /etc/spamassassin/local.cf
pyzor_options --homedir /etc/mail/spamassassin/pyzorA restartujte démona spamassassin
# restart služby spamassassinNainstalovat Razor
sudo apt-get install razor/etc/spamassassin# mkdir razorNyní spusťte následující příkazy a zaregistrujte se v distribuované síti břitva.
# razor-admin -home=/etc/spamassassin/razor -registerRegistrace úspěšná. Identita uložená v /etc/mail/spamassassin/razor/identity-rudkVFCIxs# razor-admin -home=/etc/spamassassin/razor -create# razor-admin -home=/etc/spamassassin/razor -discoverPřidejte následující řádek na konec souboru /etc/spamassassin/local.cf
razor_config /etc/spamassassin/razor/razor-agent.confNakonec restartujte spamassassin
zkontrolujte, zda břitva pracuje s tímto příkazem
# echo "test" | spamassassin -D razor2 2>&1 | méněněco takového by se mělo objevit
9. února 17:11:34.701 [26028] dbg:razor2:razor2 je k dispozici, verze 2.84 Razor-Log:read_file:15 položek načteno z /etc/mail/spamassassin/razor/razor-agent.confVlastní skóre pro vyšší skóre
Toto je trochu pokročilý způsob, jak zvýšit přesnost spamassassinu, aby lépe zachytil spam. Zahrnuje zvýšení úrovně skóre pro určité testy spamu uvnitř spamassassinu. Toto jsou testy spamu, o kterých je známo, že mají velmi vysokou úroveň přesnosti při detekci spamu.
Pokud tedy některé z těchto testů vysoké přesnosti označují e-mail jako spam, měli bychom se na něj více zaměřit.
http://toao.net/566-improving-spamassassin-accuracy-with-statisticsZávěr
To byl proces nastavení SpamAssassinu na vašem poštovním serveru, aby detekoval spamové e-maily a udržoval vaši poštovní schránku v čistotě.
Tento proces je trochu zdlouhavý, ale funguje skvěle, pokud potřebujete svůj vlastní poštovní server s antispamovým systémem.Pokud máte nějakou zpětnou vazbu nebo dotazy, dejte nám prosím vědět v komentářích níže.
Odkazy a zdroje
Jednoduché nastavení Spamassassinu s Postfixem a Dovecotem na Ubuntu Breezy
http://www.townx.org/index.php?q=blog/elliot/simple_spamassassin_setup_with_postfix_and_dovecot_on_ubuntu_breezyJak nainstalovat a nastavit Spamassassin na Ubuntu 12.04
https://www.digitalocean.com/community/tutorials/how-to-install-and-setup-spamassassin-on-ubuntu-12-04Pokyny k instalaci Pyzor a Razor pomocí Spamassassin
https://kura.io/2011/09/22/spamassassin-razor-pyzor/Nastavení filtrování Sieve pomocí Dovecot
https://easyengine.io/tutorials/mail/server/sieve-filtering/Tipy pro Spamassassin:Ultimate Setup Guide
http://www.spamtips.org/p/ultimate-setup-guide.htmlJak zlepšit přesnost SpamAssassinu
https://wiki.apache.org/spamassassin/ImproveAccuracyO účincích snížení vaší hranice SpamAssassin
http://taint.org/2008/02/29/155648a.htmlZlepšení přesnosti SpamAssassinu na cPanel (nebo jakýchkoli jiných) poštovních serverech – se statistikami
http://toao.net/566-improving-spamassassin-accuracy-with-statisticsTento příspěvek nastiňuje jednoduché hacky, které můžete použít ke změně úrovně skóre u některých testů spamových vrahů a tím zlepšit filtrování spamu.
Pokročilé tipy pro používání SpamAssassinu
https://www.andrewferrier.com/oldpages/spamassassin_tips.html
Příklady příkazů Dpkg pro správu balíčků v Ubuntu/Debianu 15 jednoduchých příkladů TOP příkazů v Linuxu pro monitorování procesůDebian