Spamfilter for Postfix

Spam Scanner filtrerer en Postfix-server på omtrent fem minutter. Det kjører som en milterE-postfilter: en protokoll fra Sendmail, også brukt av Postfix, som lar et separat program undersøke hver melding under SMTP-økten., så Postfix spør det om hver melding under SMTP-økten og kan avvise spam før den mottas.

Installer og kjør#

Shell
npm install --global spamscanner
spamscanner milter --port 7831 --auth --subject-tag "[SPAM]"

--auth sjekker SPFSender Policy Framework: en DNS-post som lister opp serverne som har lov til å sende e-post for et domene., DKIMDomainKeys Identified Mail: en signatur over en melding, kontrollert med en offentlig nøkkel publisert i avsenderens DNS., DMARCEn DNS-policy som forteller mottakere hva de skal gjøre når e-post som utgir seg for å komme fra et domene, ikke består SPF- og DKIM-justering. og ARCAuthenticated Received Chain: signaturer som tar med autentiseringsresultater gjennom videresendende servere.; --subject-tag merker spam i emnet. Hver melding får hodene X-Spam-Flag, X-Spam-Score, X-Spam-Status og X-Spam-Action, og alle X-Spam-*-hoder avsenderen har lagt inn, fjernes først.

Koble til Postfix#

INI
# /etc/postfix/main.cf
smtpd_milters = inet:127.0.0.1:7831
milter_protocol = 6
milter_default_action = accept
Shell
sudo postfix reload

milter_default_action = accept slipper e-post gjennom ufiltrert hvis milteren er nede; tempfail ber i stedet avsendere om å prøve igjen.

Avvis spam under SMTP-økten#

Shell
spamscanner milter --port 7831 --auth --reject

Meldinger ved avvisningsterskelen (15 poeng) avvises med 451 4.7.1 Message rejected as spam. En 451 er midlertidig: avsenderen beholder meldingen og prøver igjen, så en feil avgjørelse koster en forsinkelse, ikke en tapt melding. Når resultatene ser riktige ut, gjør --reject-code 550 avvisningen permanent.

Uten milter#

Et innholdsfilter kjører etter at Postfix har mottatt en melding: Postfix sender den gjennom en pipe til spamscanner filter, som legger til hoder og leverer den tilbake. Ingenting avvises noen gang under økten, og en feil utsetter alltid leveringen i stedet for å returnere meldingen. Oppsett av innholdsfilter

Spam til Junk#

Med Dovecot legger en Sieve-regel merket e-post i riktig mappe:

Text
require ["fileinto"];
if header :is "X-Spam-Flag" "YES" { fileinto "Junk"; stop; }

Testet mot en ekte Postfix#

Ende-til-ende-testene i prosjektet kjører Postfix med milteren og innholdsfilteret: hamØnsket e-post: det motsatte av spam. leveres med hoder og med et forfalsket X-Spam-Flag fjernet, spam merkes, og GTUBEGeneric Test for Unsolicited Bulk Email: en fast tekststreng som alle spamfiltre behandler som spam, til testing. avvises med 550 under SMTP-økten.

Neste: hele veiledningen for Postfix og Sendmail, med en systemd-enhet og INPUT_MAIL_FILTER for Sendmail.

Rediger denne siden på GitHub · Markdown ·