V následujícím tutoriálu se budeme zabývat postupem instalace a integrace SpamAssassinu s Exim na CentOS 7 Linux VPS . Po dokončení nastavení SpamAssassin bude moci skenovat a označit e-maily zjištěné jako SPAM.
Co je SpamAssassin?
Jedná se o softwarový program vydaný pod licencí Apache License 2.0 používaný pro filtrování nevyžádané pošty na základě pravidel pro shodu obsahu. Je to velmi inteligentní e-mailový filtr který využívá pestrou škálu testů identifikovat nevyžádané hromadné e-maily a aplikovat testy na záhlaví a obsah e-mailů pro klasifikaci e-mailů pomocí pokročilých statistických metod.
Než budete pokračovat, ujistěte se, že máte poštovní server s Exim nastavení na vašem virtuálním serveru SSD. Můžete sledovat náš skvělý článek o tom, jak nastavit poštovní server s Exim a Dovecot na CentOS 7 VPS, pokud ještě nemáte nastavení Exim na svém Linux VPS.
AKTUALIZOVAT SYSTÉM
ssh
na váš server a spusťte screen
session pomocí příkazu níže:
## screen -U -S exim-spamd
jakmile jste na screen
relaci, aktualizujte svůj CentOS 7 VPS pomocí yum
jako v:
## yum update
NAINSTALUJTE SPAMASSASSIN
SpamAssassin je k dispozici v CentOS 7 base
úložiště, takže jej můžete snadno nainstalovat pomocí yum
:
## yum install spamassassin
Po instalaci upravte /etc/mail/spamassassin/local.cf
pomocí vašeho oblíbeného editoru a nastavte následující:
## vim /etc/mail/spamassassin/local.cf required_hits 5 report_safe 0 rewrite_header Subject [SPAM] required_score 5.0
až budete mít vše na svém místě, pokračujte ve spuštění spamassassinu a jeho přidání do spouštění vašeho systému pomocí systemctl
## systemctl start spamassassin ## systemctl status spamassassin ## systemctl enable spamassassin
aktualizujte pravidla spamassassina pomocí:
## sa-update --nogpg
dále zkontrolujte, zda spamassassin naslouchá na localhost (127.0.0.1) na portu 783 pomocí ss
z iproute2
:
## ss -tnlp | grep spamd LISTEN 0 0 127.0.0.1:783 *:* users:(("spamd child",1207,5),("spamd child",1206,5),("/usr/bin/spamd ",1205,5))
NAKONFIGURUJTE EXIM POMOCÍ SPAMASSASSINU
OK, další věc, kterou musíte udělat, je nakonfigurovat Exim tak, aby používal Spamassassin pro skenování a označování nevyžádaných e-mailů jako SPAM. Proveďte tedy zálohu vašeho aktuálního konfiguračního souboru Exim pomocí:
## cp /etc/exim/exim.conf{,.backup-no-spamd}
Dále upravte exim.conf
a na začátek souboru přidejte následující řádek:
## vim /etc/exim/exim.conf system_filter = /etc/exim/filters
Dále přidejte nebo odkomentujte spamd_address
řádek jako v:
## vim /etc/exim/exim.conf spamd_address = 127.0.0.1 783
a přidejte následující do ACLs
v konfiguračním souboru Exim:
## vim /etc/exim/exim.conf # Bypass SpamAssassin checks if the message is too large. # accept condition = ${if >={$message_size}{100000} {1}} add_header = X-Spam-Note: SpamAssassin run bypassed due to message size # Run SpamAssassin, but allow for it to fail or time out. Add a warning message # and accept the mail if that happens. Add an X-Spam-Flag: header if the SA # score exceeds the SA system threshold. # warn spam = nobody/defer_ok add_header = X-Spam-Flag: YES add_header = X-Spam-Subject: [SPAM] $h_Subject accept condition = ${if !def:spam_score_int {1}} add_header = X-Spam-Note: SpamAssassin invocation failed # Unconditionally add score and report headers # warn add_header = X-Spam-Score: $spam_score ($spam_bar)\n\ X-Spam-Report: $spam_report
Dále vytvořte následující systémové filtry Exim v /etc/exim/filters
:
## vim /etc/exim/filters if $h_X-Spam-Flag: contains "YES" then headers add "Old-Subject: $h_subject" headers remove "Subject" headers add "Subject: [SPAM] $h_old-subject" headers remove "Old-Subject" endif
a restartujte Exim, aby se změny projevily pomocí:
## systemctl restart exim ## systemctl status exim
TESTOVAT SPAMASSASSIN
Chcete-li nastavení otestovat, jednoduše zašlete zkušební e-mail s předmětem XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
na jakýkoli e-mailový účet dostupný na poštovním serveru a v záhlaví e-mailu byste měli vidět následující řádky:
X-Spam-Flag: YES X-Spam-Subject: [SPAM] XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X X-Spam-Score: 1000.0 (+++++++++++++++++++++++++++++++++++++++++++++++++++) X-Spam-Report: Spam detection software, running on the system "mail.mydomain.com", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: nov spam email [...] Content analysis details: (1000.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay domain 1000 GTUBE BODY: Generic Test for Unsolicited Bulk Email
UDĚLÁME TO ZA VÁS?
Samozřejmě nemusíte nic z toho dělat, pokud používáte některou z našich hostingových služeb Linux VPS, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby nainstalovali a integrovali SpamAssassin s Exim . Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.
PS. Pokud se vám tento příspěvek líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.