GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat Spamassassin s Postfixem a Dovecotem na Ubuntu/Debian Server

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 / Debian

Spamassassin 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.0 

Spamové 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.0

Tyto 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-managesieved

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

Nakonfigurujte 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 dovecot

Nyní 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/dovecot

Nastavení 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.sieve

Pokud 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 dovecot

Zkontrolujte 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 .log

Poté soubor otevřete pomocí příkazu tail

# tail -f /var/log/dovecot.log
Feb 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_CHECK

Př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 pyzor

Objevte servery Pyzor

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

Udělejte soubor serverů čitelný pro všechny

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

Proveď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 check  

Přidejte následující řádky na konec /etc/spamassassin/local.cf

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

A restartujte démona spamassassin

# restart služby spamassassin

Nainstalovat Razor

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

Nyní 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 -discover

Přidejte následující řádek na konec souboru /etc/spamassassin/local.cf

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

Nakonec 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.conf

Vlastní 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-statistics

Zá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_breezy

Jak nainstalovat a nastavit Spamassassin na Ubuntu 12.04
https://www.digitalocean.com/community/tutorials/how-to-install-and-setup-spamassassin-on-ubuntu-12-04

Pokyny 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.html

Jak zlepšit přesnost SpamAssassinu
https://wiki.apache.org/spamassassin/ImproveAccuracy

O účincích snížení vaší hranice SpamAssassin
http://taint.org/2008/02/29/155648a.html

Zlepš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-statistics

Tento 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


Debian
  1. Jak nainstalovat vsftpd FTP server a zabezpečit jej pomocí TLS na Debian 11

  2. Jak nainstalovat Puppet 6.x na Ubuntu 18.04 / Ubuntu 16.04 a Debian 9

  3. Jak nainstalovat a nastavit Gerbera Media Server v Ubuntu / Debian

  1. Nainstalujte poštovní server Postfix a Dovecot na Ubuntu nebo Debian

  2. Jak nainstalovat SSH server na Ubuntu / Debian s OpenSSH

  3. Jak nainstalovat a integrovat SpamAssassin s Postfixem na CentOS 6 VPS

  1. Jak nainstalovat a nakonfigurovat VNC na Debian 9

  2. Jak nainstalovat a nakonfigurovat Nginx na Ubuntu 18.04 / Debian 9

  3. Jak nainstalovat WordPress s EasyEngine na Ubuntu 18.04 a Debian