Postfix-spamfilter
Spam Scanner filtrerer en Postfix-server på omkring fem minutter. Den kører som en milterMailfilter: en protokol fra Sendmail, som også bruges af Postfix, og som lader et separat program undersøge hver besked under SMTP-sessionen., så Postfix spørger den om hver besked under SMTP-sessionen og kan afvise spam, før den modtages.
Installér og kør#
npm install --global spamscanner
spamscanner milter --port 7831 --auth --subject-tag "[SPAM]"--auth tjekker SPFSender Policy Framework: en DNS-post, der angiver de servere, som må sende post for et domæne., DKIMDomainKeys Identified Mail: en signatur over en besked, der tjekkes med en offentlig nøgle, som er offentliggjort i afsenderens DNS., DMARCEn DNS-politik, der fortæller modtagere, hvad de skal gøre, når post, der udgiver sig for at komme fra et domæne, ikke består SPF- og DKIM-justeringen. og ARCAuthenticated Received Chain: signaturer, der bærer godkendelsesresultater videre gennem videresendende servere.; --subject-tag markerer spam i emnefeltet. Hver besked får headerne X-Spam-Flag, X-Spam-Score, X-Spam-Status og X-Spam-Action, og enhver X-Spam-*-header, som afsenderen har sat ind, fjernes først.
Forbind Postfix#
# /etc/postfix/main.cf
smtpd_milters = inet:127.0.0.1:7831
milter_protocol = 6
milter_default_action = acceptsudo postfix reloadmilter_default_action = accept lukker post igennem ufiltreret, hvis milteren er nede; tempfail beder i stedet afsendere om at prøve igen.
Afvis spam under SMTP-sessionen#
spamscanner milter --port 7831 --auth --rejectBeskeder ved afvisningsgrænsen (15 point) afvises med 451 4.7.1 Message rejected as spam. En 451 er midlertidig: afsenderen beholder beskeden og prøver igen, så en forkert afgørelse koster en forsinkelse og ikke en tabt besked. Når resultaterne ser rigtige ud, gør --reject-code 550 afvisningen permanent.
Uden en milter#
Et indholdsfilter kører, efter at Postfix har modtaget en besked: Postfix sender den videre til spamscanner filter, som tilføjer headere og giver den tilbage. Intet afvises nogensinde under sessionen, og en fejl udsætter altid leveringen i stedet for at sende beskeden retur. Opsætning af indholdsfilter
Spam i Junk-mappen#
Med Dovecot lægger en Sieve-regel markeret post i Junk:
require ["fileinto"];
if header :is "X-Spam-Flag" "YES" { fileinto "Junk"; stop; }Testet mod en rigtig Postfix#
Projektets end-to-end-test kører Postfix med milteren og indholdsfilteret: hamØnsket post: det modsatte af spam. leveres med headere og med en forfalsket X-Spam-Flag fjernet, spam markeres, og GTUBEGeneric Test for Unsolicited Bulk Email: en fast tekststreng, som alle spamfiltre behandler som spam, til test. afvises med en 550 under SMTP-sessionen.
Næste: den fulde vejledning til Postfix og Sendmail med en systemd-unit og Sendmails INPUT_MAIL_FILTER.