Stopp SPAM på din Postfix Server med Spamassassin

I min forrige artikkel jeg introduserte deg til installasjon og konfigurasjon av en Postfix postserver (se "Installere og konfigurere en Postfix mail server"). Etter å ha fulgt denne artikkelen bør du ha en fungerende, pålitelig postserver. Det postserver vil fungere så godt det vil serveren opp all e-post og spam du ønsker. Men vent - som ønsker å tjene opp spam? Ingen (i hvert fall ingen med gode intensjoner). Problemet er, hvis du har en e-postserver, kan du nesten garantere at spam vil finne sin vei inn (og ut hvis din ikke er forsiktig). Det siste du trenger er å være serverer alle brukere plate etter plate av SPAM glede. Men hvordan kan du stoppe det? Den beste måten? Spamassassin.

Spamassassin bruker tall tester (både lokalt og på linje) for å avgjøre om en post er spam eller HAM (ikke spam). Det er pålitelig, troverdig, og enkel å installere og konfigurere. Og i denne artikkelen skal jeg vise deg hvordan du legger Spamassassin til din allerede arbeider Postfix postserveren.

Som den forrige artikkelen, denne installasjonen vil bli utført på en Ubuntu Server 10.04 utgivelsen. Denne artikkelen vil anta at du allerede har Postfix oppe og går.

Hva er spam og hvordan er det Scoret?

Før vi kommer inn i de skitne biter av installasjonen, tenkte jeg det ville være klokt å beskrive sPAM og hvordan sPAM er scoret med Spamassassin. Du kan tenke på spam som alle de unyttige flyers du får i posten. Reklamen, tilbudene for kredittkort ... de bortkastede ressurser som alltid blir kastet uten å lese. De er en plage og ikke noe mer. Det er hva SPAM er - e-post du mottar (uansett grunn) som du ikke ønsker. Ofte denne e reklamerer ulike ekstrautstyr narkotika, porno, eller noen fra Sør-Afrika sier de er velgjører av en bajillionaire og har plukket deg som sin arving (bare gi dem din bankkontonummer).

Spamassassin la oss dette post inn og deretter sammenligner den mot ulike tester. Etter å ha testet en header (X-Spam-Status :) er merket med et tall fra 0-5. Innstillingen 0 vil stort sett la alt gjennom og innstillingen fem vil stort sett la svært lite gjennom. En innstilling på 3,5 er trygg nok til å redusere det som kalles en falsk-positive (dette betyr et stykke HAM er merket som spam) samt redusere mengden av spam som faktisk gjør det gjennom. Selvfølgelig er det ikke så enkelt som å tenke 0 betyr 0% spam. En SPAM poengsum er faktisk beregnet fra flere egenskaper som sammen kombinerer for en 0-5 poeng. Det er et godt system og har fungert bra for meg (og mange, mange andre) for years.¬ †

Med det sagt, la oss begynne å jobbe.

Installere Spamassassin

installasjonen av Spamassassin jeg skal vise deg vil bli gjort helt i kommandolinjen. Så det aller første steget er å åpne opp det terminalvinduet og gjør deg klar til å gjøre litt av å skrive (eller kopier /lime).

Det første trinnet er å installere Spamassassin. Dette gjøres med kommandoen:

sudo apt-get install Spamassassin

Du er nødt til å gi din sudo passord for at installasjonen skal fortsette. Det kan være noen avhengigheter (dette vil bli bestemt av hva du allerede har installert på din maskin). Tillat apt å installere avhengigheter.

Etter Spamassassin er installert du er klar til å begynne konfigureringen. Du må gjøre noen konfigurasjon i både Spamassassin og Postfix.

Konfigurering Spamassassin

Hovedkonfigurasjonsfilen for Spamassassin er /etc/spamassassin/local.cf. Det første alternativet du ønsker å se etter er SPAM poengsum alternativet. Se etter linjen:

# required_score 5,0

Uncomment den linjen (fjerne "#" tegnet), og deretter endre den numeriske poengsum til hva du foretrekker. Som jeg nevnte tidligere, en score på 3,5 er ganske trygg.

En annen stor innstilling er å sette opp hviteliste og svartelister i konfigurasjonsfilen. Du ville bare ønsker å gjøre dette for adresser som ofte merket feil som SPAM. Du kan gjøre dette for å godkjenne enkeltadresser eller hele domener. For eksempel:

whitelist_from Denne e-postadressen er beskyttet mot programmer som samler. Du må aktivere Javascript for å kunne se

ville sørge for at e-post fra adressen ovenfor var ikke merket som spam. Også:

whitelist_from *@somedomain.com

ville godkjenne hele domenet somedomain.com. Du kan også ha flere oppføringer per linje adskilt med mellomrom som så:

whitelist_from Denne e-postadressen er beskyttet mot programmer som samler. Du må aktivere Javascript for å kunne se adressen Denne e-postadressen er beskyttet mot programmer som samler. Du må aktivere Javascript for å kunne se adressen Denne e-postadressen er beskyttet mot programmer som samler. Du må aktivere Javascript for å kunne se

Det samme gjelder for svartelisting, er bare parameteren blacklist_from .

Du vil ønske å bruke forsiktighet dersom du prøver å legge til ditt eget domene til en hvitliste, fordi en spammer kan forfalske en lokal adresse og Spamassassin vil tillate det gjennom.

en annen konfigurasjon alternativ er report_safe
alternativet. Et sted rundt required_score
linjen (dette vil avhenge av utgivelsen du installere) vil du finne linjen:

# report_safe

Denne linjen vil definere hvordan Spamassassin vil håndtere en melding merket som spam. Hvis du setter denne linjen til.

report_safe 0

all innkommende spam er modifisert ved å endre overskriften for å markere at e-post som spam

Hvis du setter denne linjen til:

report_safe en

alle innkommende meldinger som er merket som spam vil skape en ny rapport melding og legge den opprinnelige meldingen som en melding /rfc822 MIME ( bevare den opprinnelige meldingen, men ikke lett å åpne)

Hvis du setter denne linjen til.

report_safe 2

alle innkommende meldinger merket som spam vil være knyttet til en ny rapport som ren tekst.

En melding merket som spam vil ikke bli slettet. Istedenfor en melding merket som spam vil bli merket som sådan og tillatt gjennom. Dette hindrer ytterligere falske positiver og tillater brukeren å definere hva de skal gjøre med spam i e-postklienten.

Hvis du setter den linjen til ...

report_safe en

... alle meldinger merket som spam vil bli slettet. Jeg synes det er best å sette denne til 0, så for å unngå tap av falsk positiv e-post. Hvis du setter report_safe
til 0, må du definere hvordan overskriften er omskrevet slik at budskapet er riktig merket som spam. Se etter denne linjen:

# rewrite_header Subject ***** SPAM *****

Uncomment denne linjen (fjerne "#" tegnet), og deretter endre **** * sPAM ***** delen til hva du foretrekker å være. Bare sørg for at brukerne er klar over hva denne linjen er slik at de kan håndtere den med sine postklienter

Når du har gjort dette siste endringen, lagre og lukke filen og start Spamassassin nissen med kommandoen:.

sudo /etc/init.d/spamassassin restart

nå er du klar til å konfigurere Postfix.

Konfigurer Postfix

konfigurasjonsfilen du trenger å gjøre endringer til er /etc/postfix/master.cf. Det er noen endringer for å gjøre. Den første endringen er å se etter denne linjen:

smtp¬ † ¬ † inet ¬ † ¬ † n ¬ † - - - - smtpd

Du må endre denne linjen til:

smtp ¬ † ¬ † ¬ † inet ¬ † n ¬ † - - - -¬ † ¬ † smtpd¬ † -o content_filter = Spamassassin
< p> nå, ta en titt på bunnen av denne konfigurasjonsfilen og legge til følgende:

Spamassassin unix - nn - - rør flagg = R user = spamd argv = /usr /bin /spamc - e /usr /sbin /sendmail -oi -f $ {sender} $ {mottaker}

det var det. Nå er alt du trenger å gjøre er å lagre filen og starte Postfix med følgende kommando:

sudo /etc/init.d/postfix restart

Selvfølgelig på dette punktet vil du ønsker å sende noen test e-post gjennom å sørge for at e-post er å komme inn og går ut. Men du bør være godt å gå.

Final Thoughts

Alle som vertskap for en Linux-postserveren ville vært galt å ikke ha SPAM beskyttelse på denne serveren. Det er ikke vanskelig, og ikke tar opp mye i veien for prosessoren overhead. Og å ha brukerne får færre og færre spam vil belønne deg med færre og færre sluttbruker samtaler. Og det er betaling nok.