Dříve jsme diskutovali o 7 účinných metodách blokování e-mailového spamu pomocí Postfixu na CentOS/RHEL. V tomto tutoriálu se naučíme, jak používat SpamAssassin (SA) k detekci spamu na poštovním serveru CentOS/RHEL. SpamAssassin je bezplatný, open source, flexibilní a výkonný nástroj pro boj se spamem.
SpamAssassin je systém založený na skóre. Bude kontrolovat e-mailovou zprávu podle velkého souboru pravidel. Každé pravidlo přidává nebo odebírá body ve skóre zprávy. Pokud je skóre dostatečně vysoké (ve výchozím nastavení 5.0), je zpráva považována za spam.
Nainstalujte SpamAssassin na CentOS/RHEL
Spusťte následující příkaz a nainstalujte SpamAssassin z výchozího softwarového úložiště CentOS/RHEL.
sudo dnf install spamassassin
Binární soubor serveru nainstalovaný spamassassin
balíček se nazývá spamd
, který bude naslouchat na TCP portu 783 na localhost. Spamc
je klient pro démona filtrování spamu SpamAssassin. Ve výchozím nastavení je to spamassassin
služba systemd je zakázána, můžete povolit automatické spouštění při spouštění pomocí:
sudo systemctl povolit spamassassin
Poté spusťte SpamAssassin.
sudo systemctl spustit spamassassin
Integrujte SpamAssassin se serverem Postfix SMTP jako Milter
Existuje několik způsobů, jak můžete integrovat SpamAssassin s Postfixem. Raději používám SpamAssassin přes rozhraní sendmail milter, protože mi umožňuje odmítnout e-mail, když dostane velmi vysoké skóre, například 8, takže jej příjemce nikdy neuvidí.
Nainstalujte spamass-filter
balíčky na CentOS/RHEL ze softwarového úložiště EPEL.
instalace sudo dnf epel-releasesudo dnf instalace spamass-milter
Spusťte službu.
sudo systemctl start spamass-milter
Povolit automatické spouštění při spouštění.
sudo systemctl povolit spamass-milter
Dále upravte /etc/postfix/main.cf
a na konec souboru přidejte následující řádky.
# Konfigurace Miltermilter_default_action =acceptmilter_protocol =6smtpd_milters =unix:/run/spamass-milter/spamass-milter.socknon_smtpd_milters =$smtpd_milters
Pokud jste nakonfigurovali OpenDKIM a OpenDMARC na CentOS/RHEL, měly by tyto řádky vypadat jako níže. Na milterovém pořadí záleží.
# Konfigurace Miltermilter_default_action =acceptmilter_protocol =6smtpd_milters =inet:127.0.0.1:8891,inet:127.0.0.1:8893,unix:/run/spamass-milter/spamass-milter.sockters_prem>Pokud jste nenakonfigurovali OpenDMARC, měli byste odstranit
local:opendmarc/opendmarc.sock,
zsmtpd_milters
.Uložte a zavřete soubor. Nyní otevřete
/etc/sysconfig/spamass-milter
soubor a najděte následující řádek.#EXTRA_FLAGS="-m -r 15"Odkomentujte tento řádek a změňte 15 na preferované skóre odmítnutí, například 8.
EXTRA_FLAGS="-m -r 8"Pokud je skóre konkrétního e-mailu vyšší než 8, Spamassassin jej odmítne a v
/var/log/maillog
byste našli zprávu podobnou níže. soubor, což znamená, že je odmítnut.milter-reject:END-OF-MESSAGE 5.7.1 Blokováno SpamAssassinPokud chcete, aby odesílatel viděl jiný text odmítnutí, přidejte
-R
(text odmítnout) jako níže.EXTRA_FLAGS="-m -r 8 -R SPAM_ARE_NOT_ALLOWED_HERE"Je dobrým zvykem ignorovat e-maily pocházející z localhost přidáním
-i 127.0.0.1
možnost.EXTRA_FLAGS="-m -r 8 -R SPAM_ARE_NOT_ALLOWED_HERE -i 127.0.0.1"Potřebujeme také přidat
-g sa-milt
možnost, aby se do soketu spamass-milter mohl zapisovat skupinou sa-milt.EXTRA_FLAGS="-m -r 8 -R SPAM_ARE_NOT_ALLOWED_HERE -i 127.0.0.1 -g sa-milt"Uložte a zavřete soubor. Poté přidejte
postfix
uživatele nasa-milt
skupina, takže Postfix bude schopen komunikovat se spamass-milter.sudo gpasswd -a postfix sa-miltRestartujte Postfix a Spamass Milter, aby se změny projevily.
sudo systemctl restart postfix spamass-milterZkontrolujte stav a ujistěte se, že jsou spuštěny.
sudo systemctl status postfix spamass-milterKontrola záhlaví a těla e-mailu pomocí SpamAssassin
SpamAssassin je dodáván s mnoha pravidly detekce spamu v /usr/share/spamassassin/ adresář. Dovolte mi vysvětlit některá pravidla.
V /usr/share/spamassassin/20_head_tests.cf naleznete následující dva řádky.
header MISSING_HEADERS eval:check_for_missing_to_header()describe MISSING_HEADERS Chybějící:záhlavíPrvní řádek testuje, zda Komu: v e-mailové zprávě existuje záhlaví. Druhý řádek, který je volitelný, vysvětluje, co dělá první řádek. Velká písmena jsou název tohoto testu.
Následující 3 řádky slouží k testování, zda existuje Datum: záhlaví v e-mailové zprávě.
header __HAS_DATE existuje:Datemeta MISSING_DATE !__HAS_DATEpopsat MISSING_DATE Chybějící datum:headerA tyto 3 řádky slouží k testování, zda existuje Od: záhlaví v e-mailové zprávě.
záhlaví __HAS_FROM existuje:Frommeta MISSING_FROM !__HAS_FROMpopsat MISSING_FROM Chybí od:záhlavíNastavit vlastní skóre pro stávající pravidla
V souboru
50_scores.cf
a72_scores.cf
soubor, můžete vidět výchozí skóre pro různé testy. Pokud si myslíte, že výchozí skóre je pro určitý test příliš nízké nebo příliš vysoké, můžete nastavit vlastní skóre v/etc/mail/spamassassin/local.cf
soubor.sudo nano /etc/mail/spamassassin/local.cfNapříklad RFC 5322 vyžaduje, aby každá e-mailová zpráva měla Od: a Datum: pole záhlaví, takže mohu nastavit velmi vysoké skóre, pokud některé z nich v e-mailové zprávě chybí, přidáním následujících dvou řádků v
local.cf
soubor.skóre MISSING_FROM 5.0skóre MISSING_DATE 5.0Ačkoli Komu: pole záhlaví není v RFC 5322 povinné. Pokud v e-mailové zprávě chybí, upřednostňuji nastavení vysokého skóre, protože jsem nikdy neviděl, že by toto pole záhlaví chybělo u legitimního e-mailu.
skóre MISSING_HEADERS 3.0Někteří odesílatelé spamu používají dvě e-mailové adresy v Od: pole záhlaví jako níže.
Od:"[email protected]" <[email protected]>Myslím, že výchozí skóre pro tento druh e-mailu je nízké, raději ho nastavím na 3.0.
skóre PDS_FROM_2_EMAILS 3.0Existují spameři, kteří posílají prázdnou zprávu bez předmětu a bez textových částí v těle. Nastavil jsem skóre pro tento druh e-mailu na 5,0, takže bude umístěn do složky se spamem. Proč ji číst, když je prázdná?
skóre EMPTY_MESSAGE 5.0A jiní spameři vás často žádají, abyste poslali potvrzení o přečtení, pro tento druh e-mailu jsem nastavil skóre na 2,0.
skóre FREEMAIL_DISPTO 2.0Někteří spameři používají různé názvy domén v Od: a Odpovědět: dávám jim skóre 3,5.
skóre FREEMAIL_FORGED_REPLYTO 3.5Také jsem viděl některé spammery používat neexistující název domény v Od: pole záhlaví. Pro tento typ e-mailu jsem nastavil skóre 5,0.
skóre DKIM_ADSP_NXDOMAIN 5.0V neposlední řadě mnoho spammerů podvrhuje
gmail.com
doméně v Od: pole záhlaví. Tento druh e-mailu jsem nastavil na skóre 2,5.skóre FORGED_GMAIL_RCVD 2.5Přidání vlastních pravidel
Vlastní pravidla SpamAssassin můžete přidat v /etc/mail/spamassassin/local.cf soubor.
sudo nano /etc/mail/spamassassin/local.cfPravidla záhlaví
Někteří odesílatelé spamu například používají stejnou e-mailovou adresu v Od: a Komu: záhlaví. můžete přidat následující řádky na konec souboru pro přidání skóre k takovým e-mailům.
header FROM_SAME_AS_TO ALL=~/\nOd:([^\n]+)\nKomu:\1/smdescribe FROM_SAME_AS_TO Adresa odesílatele je stejná jako To address.score FROM_SAME_AS_TO 2.0Někteří odesílatelé spamu používají prázdnou adresu pro adresu odesílatele obálky (neboli hlavičku návratové cesty). I když je to legitimní pro odesílání vrácených zpráv, raději dávám tomuto druhu e-mailu skóre.
header EMPTY_RETURN_PATH ALL =~ /<>/idescribe EMPTY_RETURN_PATH prázdnou adresu v záhlaví návratové cesty.score EMPTY_RETURN_PATH 3.0Pokud jste na svém poštovním serveru nakonfigurovali OpenDMARC, můžete nyní přidat následující řádky a přidat skóre k e-mailům, které neprojdou kontrolou DMARC.
header CUSTOM_DMARC_FAIL Authentication-Results =~ /dmarc=fail/describe CUSTOM_DMARC_FAIL Tento e-mail se nezdařil DMARC kontrolní skóre CUSTOM_DMARC_FAIL 3.0Výše uvedený kód říká SpamAssassin, aby zkontroloval, zda Authentication-Results hlavička obsahuje řetězec „dmarc=fail“. Pokud najdete, zvyšte skóre o 3,0.
Pravidla těla
Můžete říci SpamAssassin, aby zvýšil skóre e-mailu, pokud je v těle nalezena určitá fráze. Mnoho spammerů například používá e-mailovou adresu příjemce v prvním řádku těla, jak je uvedeno níže.
Dobrý den [email protected]Dobrý den, [email protected]Vážený [email protected]Nechci mluvit s lidmi, kteří se neobtěžují napsat mé jméno do prvního řádku e-mailu. Vytvořil jsem tedy pravidlo ve SpamAssassinu pro filtrování tohoto druhu e-mailů.
body BE_POLITE /(ahoj|ahoj|drahá) xiao\@linuxbabe\.com/idescribe BE_POLITE Tento e-mail nepoužívá správný název pro skóre příjemce BE_POLITE 5.0Regulární výraz ve SpamAssassinu ve výchozím nastavení rozlišuje velká a malá písmena, můžete přidat
i
možnost na konci, aby se nerozlišovala malá a velká písmena.Přidat záporná skóre
K dobrým e-mailům můžete také přidat záporné skóre, takže bude méně falešně pozitivních zpráv. Mnoho čtenářů mého blogu mi například klade otázky týkající se Linuxu a nemyslím si, že by spameři zahrnuli slova jako
Debian
,Ubuntu
,Linux Mint
v těle e-mailu, takže jsem vytvořil následující pravidlo.body GOOD_EMAIL /(debian|ubuntu|linux mint|centos|red hat|RHEL|OpenSUSE|Fedora|Arch Linux|Raspberry Pi|Kali Linux)/idescribe GOOD_EMAIL Nemyslím si, že by spammer zahrnul tato slova do e-mailu body.score GOOD_EMAIL -4,0Pokud tělo e-mailu obsahuje název distribuce Linuxu, přidejte záporné skóre (-4,0).
Existují některé běžné fráze, které jsou součástí legitimních vrácených zpráv, takže k těmto e-mailovým zprávám mohu přidat negativní skóre.
body BOUNCE_MSG /(Nedoručená pošta vrácena odesílateli|Nedoručitelná|Automatická odpověď|Automatická odpověď)/idescribe BOUNCE_MSG Oznámení o nedoručené poště nebo zprávy s automatickou odpovědí skóre BOUNCE_MSG -1,5Všimněte si, že pravidla těla také zahrnují Předmět jako první řádek obsahu těla.
Pravidla metadat
Kromě pravidel záhlaví a těla existují také meta pravidla. Meta pravidla jsou kombinacemi jiných pravidel. Můžete vytvořit meta pravidlo, které se spustí, když jsou pravdivá dvě nebo více dalších pravidel. Například občas dostávám e-maily, že odesílatel se chce ucházet o práci a je připojen životopis. Nikdy jsem na svém webu neřekl, že potřebuji najímat lidi. Příloha se používá k šíření viru. Vytvořil jsem následující meta pravidlo pro filtrování tohoto druhu e-mailů.
body __RESUME /(C.V|Resume)/imeta RESUME_VIRUS (__RESUME &&__MIME_BASE64)describe RESUME_VIRUS Příloha obsahuje virus.score RESUME_VIRUS 5.5První dílčí pravidlo
__RESUME
testuje, zda tělo e-mailu obsahuje slovoC.V.
neboresume
. Druhé dílčí pravidlo__MIME_BASE64
je již definován v/usr/share/spamassassin/20_body_tests.cf
soubor, následovně, takže jej nemusím znovu definovat v souboru local.cf. Toto pravidlo testuje, zda e-mailová zpráva obsahuje přílohu base64.rawbody __MIME_BASE64 eval:check_for_mime('mime_base64_count')describe __MIME_BASE64 Obsahuje přílohu base64Moje meta pravidlo
RESUME_VIRUS
spustí se, když jsou obě dílčí pravidla pravdivá, a k e-mailové zprávě přidá skóre 5,5. Všimněte si, že dílčí pravidlo často začíná dvojitým podtržítkem, takže samo o sobě nemá žádné skóre.Nyní jste se naučili, jak přidat skóre, pokud je nalezen řetězec. Co když chcete přidat skóre, když v záhlaví e-mailu neexistuje řetězec? Můžete použít
!
operátor. Viděl jsem například spammery používající jediné slovo v adrese From:. Přidal jsem následující řádky, abych ohodnotil tento druh e-mailu.header __AT_IN_FROM Od =~ /\@/meta NO_AT_IN_FROM !__AT_IN_FROMskóre NO_AT_IN_FROM 4.0První řádek kontroluje, zda
@
v záhlaví From:existuje znak. Druhý řádek definuje meta pravidlo, které se spustí, když!__AT_IN_FROM
je pravda.!__AT_IN_FROM
pravidlo je opakem prvního pravidla záhlaví, což znamená, že neexistuje žádné@
přihlaste se k adrese Od:, spustí se meta pravidlo.Můžete také přidat následující řádky a zkontrolovat, zda v adrese From:existuje tečka.
header __DOT_IN_FROM Od =~ /\./meta NO_DOT_IN_FROM !__DOT_IN_FROMskóre NO_DOT_IN_FROM 4.0Whitelist
Můžete použít
whitelist_from
parametr pro přidání konkrétní e-mailové adresy nebo domény na váš whitelist Spamassassin. Přidejte například následující dva řádky na koneclocal.cf
soubor.whitelist_from [email protected]whitelist_from *@canonical.comOdesílatel na seznamu povolených má
-100
výchozí skóre. Stále budou testováni podle pravidel SpamAssassin, ale je pro ně velmi těžké dosáhnout skóre 5,0.Černá listina
Chcete-li odesílatele na černou listinu, použijte
blacklist_from
parametr, který má stejný formát jakowhitelist_from
.blacklist_from [email protected]blacklist_from *@example.orgKontrola syntaxe a restartování
Po uložení
local.cf
soubor. Měli byste spustitspamassassin
příkaz v režimu lint pro kontrolu, zda se nevyskytují nějaké syntaktické chyby.sudo spamassassin --lintPoté restartujte SpamAssassin, aby se změny projevily.
sudo systemctl restart spamassassinSpamAssassin's Builtin Whitelist
Za zmínku stojí, že SpamAssassin se dodává s vlastní bílou listinou. Pod
/usr/share/spamassassin/
je několik souborů adresář, který obsahuje60_whitelist
v názvu souboru. Tyto soubory obsahují vestavěnou bílou listinu SpamAssassin. Například60_whitelist_spf.cf
obsahuje seznam adres, které odesílají poštu, která je často (nesprávně) označena jako spam.Přesunout spam do složky Nevyžádaná pošta
Ukážu vám, jak přesunout spam do složky Nevyžádaná pošta pomocí serveru Dovecot IMAP a pluginu sieve. Tato metoda vyžaduje, aby byly příchozí e-maily doručovány do úložiště zpráv prostřednictvím Dovecot „deliver“ LDA (místní doručovací agent). Pokud můžete najít následující text v
/var/log/maillog
soubor, pak je tento požadavek splněn.postfix/lmtpnebo
doručeno prostřednictvím služby dovecotSpusťte následující příkaz install dovecot-pigeonhole balíček ze softwarového úložiště CentOS/RHEL.
instalace sudo dnf dovecot-pigeonholeTento balíček nainstaluje dva konfigurační soubory pod
/etc/dovecot/conf.d/
adresář:90-sieve.conf
a90-sieve-extprograms.conf
. Otevřete soubor15-lda.conf
soubor.sudo nano /etc/dovecot/conf.d/15-lda.confPřidejte sieve plugin do místního doručovacího agenta (LDA).
protocol lda { # Prostorem oddělený seznam pluginů k načtení (výchozí je globální mail_plugins). mail_plugins =$mail_plugins síto}Uložte a zavřete soubor. Pokud můžete najít
20-lmtp.conf
soubor pod/etc/dovecot/conf.d/
adresář, pak byste měli také povolit plugin sieve v tomto souboru, jak je uvedeno níže.protokol lmtp { mail_plugins =kvótové síto}Poté otevřete soubor
90-sieve.conf
soubor.sudo nano /etc/dovecot/conf.d/90-sieve.confPřejděte na řádek 79 a přidejte následující řádek, který říká Sieve, aby vždy spustil SpamToJunk.sieve skript před libovolnými uživatelskými skripty.
sieve_before =/var/mail/SpamToJunk.sieveUložte a zavřete soubor. Poté vytvořte skript síta.
sudo nano /var/mail/SpamToJunk.sievePřidejte následující řádky, které společnosti Dovecot sdělí, aby přesunul všechny e-mailové zprávy pomocí
X-Spam-Flag: YES
záhlaví do složky Nevyžádaná pošta.vyžadovat "fileinto";if hlavička :obsahuje "X-Spam-Flag" "ANO"{ fileinto "Junk"; stop;}Uložte a zavřete soubor. Tento skript můžeme zkompilovat, takže poběží rychleji.
sudo sievec /var/mail/SpamToJunk.sieveNyní existuje binární soubor uložený jako /var/mail/SpamToJunk.svbin . Upravte soubor 10-mail.conf.
/etc/dovecot/conf.d/10-mail.confPřidejte do souboru následující řádek, aby bylo možné ukládat skripty jednotlivých uživatelů v jeho domovském adresáři.
mail_home =/var/vmail/%d/%nNakonec restartujte dovecot, aby se změny projevily.
sudo systemctl restart dovecotNastavit maximální velikost zprávy
Ve výchozím nastavení SpamAssassin nekontroluje zprávy s přílohami většími než 500 kB, jak ukazuje následující řádek v
/var/log/mail.log
soubor.spamc[18922]:přeskočená zpráva, větší než maximální velikost zprávy (512 000 bajtů)Výchozí
max-size
je nastaveno na 512 000 (bajtů). Vysoká hodnota by mohla zvýšit zatížení serveru, ale myslím, že výchozí velikost je trochu malá. Chcete-li zvýšit maximální velikost, upravte/etc/sysconfig/spamass-milter
soubor a najděte následující řádek.EXTRA_FLAGS="-m -r 8 -R SPAM_ARE_NOT_ALLOWED_HERE -i 127.0.0.1 -g sa-milt"Přidejte
-- --max-size=5120000
možnost na konci.EXTRA_FLAGS="-m -r 8 -R SPAM_ARE_NOT_ALLOWED_HERE -i 127.0.0.1 -g sa-milt -- --max-size=5120000"Prázdný
--
volba říká spamass-milter předat všechny zbývající možnosti do spamu , který rozumí--max-size
volba. Zvětšil jsem velikost na 5000 kB. Uložte a zavřete soubor. Poté restartujte spamass-milter.sudo systemctl restart spamass-milterJak nakonfigurovat individuální uživatelské předvolby
Možná budete chtít nastavit vlastní pravidla pro e-maily odeslané na konkrétní adresu na poštovním serveru. Tato funkce se mi velmi líbí. Mám kontaktní e-mailovou adresu pro tento blog, která slouží pouze pro udržování kontaktu se čtenáři. Kontaktní e-mailovou adresu jinde nepoužívám , takže mohu vytvořit speciální pravidla pro filtrování spamu, která se vztahují pouze na tuto kontaktní e-mailovou adresu.
Nejprve upravte hlavní konfigurační soubor SpamAssassin.
sudo nano /etc/mail/spamassassin/local.cfPřidáním následujícího řádku povolíte uživatelská pravidla.
allow_user_rules 1Uložte a zavřete soubor. Dále upravte soubor prostředí SpamAssassin.
sudo nano /etc/sysconfig/spamassassinNajděte následující řádek.
SPAMDOPTIONS="-c -m5 -H --razor-home-dir='/var/lib/razor/' --razor-log-file='sys-syslog'"Musíme přidat několik dalších možností.
SPAMDOPTIONS="-c -m5 -H --razor-home-dir='/var/lib/razor/' --razor-log-file='sys-syslog' --nouser-config --virtual -config-dir=/var/vmail/%d/%l/spamassassin --username=vmail"Kde:
--nouser-config
:deaktivuje konfigurační soubor pro uživatele pro místní uživatele Unixu.--virtual-config-dir
:určete konfigurační adresář pro uživatele pro virtuální uživatele.%d
zástupný symbol představuje doménovou část e-mailové adresy a%l
představuje místní část e-mailové adresy.--username
:spusťte spamd jako uživatel vmail.
Uložte a zavřete soubor. Poté restartujte SpamAssassin.
sudo systemctl restart spamassassin
Ve výchozím nastavení spamass-milter nepředává adresu příjemce do SpamAssassin. Potřebujeme, aby to poslalo celou e-mailovou adresu do SpamAssassin. Upravte konfigurační soubor spamass-milter.
sudo nano /etc/sysconfig/spamass-milter
Přidejte následující možnost.
-e vasedomena.com -u sa-milt
Takhle:
EXTRA_FLAGS="-e yourdomain.com -u sa-milt -m -r 8 -R SPAM_ARE_NOT_ALLOWED_HERE -i 127.0.0.1 -g sa-milt -- --max-size=5120000"
-e
volba způsobí, že spamass-milter předá celou e-mailovou adresu SpamAssassin. Nahraďte yourdomain.com svým skutečným názvem domény. Uložte a zavřete soubor. Poté restartujte spamass-milter.
sudo systemctl restart spamass-milter
Nyní odešlete e-mail z Gmailu, Hotmailu atd. na e-mailovou adresu vaší domény. Zjistíte, že adresář spamassassin je automaticky vytvořen pod /var/vmail/yourdomain.com/username/
adresář.
cd /var/vmail/yourdomain.com/username/spamassassin/
Zde můžete vytvořit soubor předvoleb pro jednotlivé uživatele pomocí textového editoru příkazového řádku. Tento soubor musí být pojmenován jako user_prefs
.
sudo nano user_prefs
Do tohoto souboru můžete přidat vlastní pravidla stejně, jako byste to udělali v /etc/spamassassin/local.cf
soubor.
Například jsem zjistil, že mnoho spammerů končí svůj e-mail odkazem pro odhlášení, který vám umožní odstranit budoucí kontakt. Nepřihlásil jsem se k odběru jejich spamu a nemyslím si, že odkaz na odhlášení odebere mou e-mailovou adresu z jejich databáze kontaktů. Takže používám SpamAssassin k hodnocení tohoto druhu e-mailů. Následující pravidlo přidává skóre 3,0 e-mailům obsahujícím slovo „odhlásit se“ nebo jeho variace v těle. (Nepoužívám kontaktní e-mailovou adresu tohoto blogu k odběru čehokoli online.)
body SUBSCRIPTION_SPAM /(odhlásit se|u n s u b s c r i b e|Odhlásit)/idescribe SUBSCRIPTION_SPAM Nepřihlásil jsem se k odběru vašeho spamu.score SUBSCRIPTION_SPAM 3.0
Někdy tělo e-mailu neobsahuje slovo „unsubscribe“, ale je zde List-Unsubscribe
záhlaví, což znamená, že spammer přidal moji kontaktní e-mailovou adresu do svého seznamu adresátů bez mého souhlasu. I tento typ e-mailu mohu ohodnotit podle následujícího pravidla.
header LIST_UNSUBSCRIBE ALL =~ /List-Unsubscribe/idescribe LIST_UNSUBSCRIBE Nezapojil jsem se do vašeho mailing listu.score LIST_UNSUBSCRIBE 2.0
Vytvořil jsem si účet Mailjet s jinou e-mailovou adresou. Někteří spameři předpokládají, že jsem k vytvoření účtu Mailjet použil svou kontaktní e-mailovou adresu, takže se snaží vydávat za zákaznický servis Mailjet, aby mě nalákali k zadání hesla na falešné přihlašovací stránce Mailjet. Tento druh e-mailu mohu ohodnotit jako níže.
header MAILJET_IMPOSTER Od =~ /mailjet/idescribe MAILJET_IMPOSTER Nemám pro tuto e-mailovou adresu účet pro mailjet.skóre MAILJET_IMPOSTER 2.5
Výše uvedené řádky zkontrolují, zda From:
hlavička obsahuje slovo mailjet
. Pokud najdete, dejte mu 2,5 skóre.
Občas dostávám e-maily od čínských spammerů, jejichž From:
doménové jméno nemá žádná samohláska (a, e, i, o, u). Spammer použil cdjcbzclyxgs.xyz
doménové jméno. Pro normální osobu/entitu je téměř nemožné používat doménová jména bez samohlásek, vezmeme-li v úvahu, že mnoho domén nejvyšší úrovně již obsahuje samohlásky (.com, .net, .org, .co, .io, .shop, .dev , atd.), takže tomuto druhu e-mailu dávám velmi vysoké skóre, jak je uvedeno níže. Výchozí skóre je 0,5.
skóre FROM_DOMAIN_NOVOWEL 4.0
Některé spamové e-maily obsahují v těle mnoho obrázků, ale obsahují velmi málo textu. Výchozí skóre pro tento druh e-mailu je 1,9, ale upřednostňuji nastavit vysoké skóre pro svou kontaktní e-mailovou adresu.
skóre HTML_IMAGE_RATIO_02 4.0
Také jsem obdržel spamový e-mail s mou e-mailovou adresou v předmětu, takže k němu mohu přidat vysoké skóre.
header SUBJECT_SPAM Předmět =~ /xiao\@linuxbabe.com/idescribe SUBJECT_SPAM Předmět obsahuje moji e-mailovou adresu.skóre SUBJECT_SPAM 4.0
Někteří spameři používají BCC (Blind Carbon Copy) ke skrytí ostatních příjemců. Takový email nechci dostávat. Udělal jsem tedy následující pravidlo. Pokud moje doménové jméno není v záhlaví Komu:, přidejte do e-mailu 3.0.
header __DOMAIN_IN_TO Komu =~ /linuxbabe.com/meta DOMAIN_NOT_IN_TO !__DOMAIN_IN_TOscore DOMAIN_NOT_IN_TO 3.0
Po přidání vlastních pravidel zavřete soubor a spusťte následující příkaz pro kontrolu syntaxe. Tichý výstup znamená, že nedochází k žádné syntaktické chybě.
sudo spamassassin --lint
Nakonec restartujte SpamAssassin, aby se změny projevily.
sudo systemctl restart spamassassin
Nyní můžete otestovat uživatelské předvolby zasláním testovacích e-mailů z jiných e-mailových služeb na e-mailovou adresu vaší vlastní domény.
Odmítnout nebo vrátit zpět
Pokud přijímající server SMTP během konverzace SMTP zjistí, že zprávu nepřijme, zprávu odmítne. Někdy server SMTP přijme zprávu a později zjistí, že ji nelze doručit, možná zamýšlený příjemce neexistuje nebo je problém s konečným doručením. V tomto případě SMTP server, který zprávu přijal, ji vrátí zpět původnímu odesílateli zasláním chybového hlášení, obvykle včetně důvodu, proč původní zprávu nebylo možné doručit.
Neměli byste doručovat spam, protože e-mailová adresa v Return-path:
záhlaví nebo From:
hlavička pravděpodobně neexistuje nebo jde o e-mailovou adresu nevinné osoby, takže vrácená zpráva bude pravděpodobně odeslána na e-mailovou adresu nevinné osoby, čímž vznikne problém se zpětným rozptylem. Místo vracení spamu byste měli odmítnout spam během dialogu SMTP, než bude e-mail přijat. Tento článek neukazuje, že jste vraceli spam. Toto pravidlo byste si měli zapamatovat v případě, že budete pravidla pro filtrování spamu vytvářet sami. Máte-li pochybnosti, otestujte svá pravidla pro filtrování spamu a zjistěte, zda způsobí nedoručitelné zprávy.
URIBL_BLOCKED
Ve výchozím nastavení SpamAssassin povoluje pravidlo URIBL, které kontroluje, zda e-mailová zpráva obsahuje odkazy, které URIBL identifikuje jako spam. Jedná se o velmi účinné měření proti spamu. Může vám však být zablokováno dotazování na URIBL. Zkontrolujte nezpracovaná záhlaví e-mailu příchozí e-mailové zprávy a vyhledejte X-Spam-Status
záhlaví.
Stav X-Spam:Ne, skóre=-92,2 požadované=5,0 testů=DATING_SPAM,DKIM_SIGNED, DKIM_VALID,HTML_FONT_LOW_CONTRAST,HTML_MESSAGE,SPF_PASS, SUBSCRIPTION_SPAM,UNPARSEABLE_RELAY,_strong>URIBL> ,USER_IN_WHITELIST autolearn=no autolearn_force=žádná verze=3.4.2
Pokud v této hlavičce najdete URIBL_BLOCKED, znamená to, že máte zablokováno dotazování na URIBL. Většinou je to proto, že nepoužíváte svůj vlastní lokální DNS resolver. Následující příkaz můžete spustit na svém poštovním serveru a otestovat, který server DNS používáte k dotazování URIBL.
hostitel -tTXT 2.0.0.127.multi.uribl.com
Ukázkový výstup:
2.0.0.127.multi.uribl.com popisný text "127.0.0.1 -> Query Refused. Viz http://uribl.com/refused.shtml pro další informace [Vaše IP DNS:xx.xx.xx.xx ]"
Chcete-li tuto chybu opravit, musíte na svém poštovním serveru spustit svůj vlastní místní překladač DNS.
- Spusťte svůj vlastní BIND DNS Resolver na CentOS/RHEL
Jakmile bude váš místní překladač DNS spuštěn a spuštěn, znovu otestujte URIBL.
hostitel -tTXT 2.0.0.127.multi.uribl.com
Pokud vidíte následující výstup, znamená to, že nyní můžete dotazovat URIBL.
2.0.0.127.multi.uribl.com popisný text "trvalý testovací bod"
Od této chvíle nebudou příchozí e-mailové zprávy mít značku URIBL_BLOCKED v X-Spam-Status
záhlaví.
Další informace
SpamAssassin 4.0 obsahuje plugin HashBL, který dokáže zkontrolovat, zda bitcoinovou adresu v těle e-mailu nepoužili podvodníci. A je tu také nový plugin s názvem „Ole Macro“, který dokáže zkontrolovat, zda e-mail obsahuje přílohu Office s makrem. Tento plugin se pokusí zjistit, zda je připojené makro škodlivé nebo ne.