Spambestrijding met greylisting

Armijn Hemel, 26 juli 2009, 5575 views.

Spam is één van de grootste online irritaties voor mensen. Er zijn methodes om spam te bestrijden die erg effectief zijn, uiteraard totdat de spammers weer bij zijn. Eén methode die veelgebruikt wordt is greylisting. Greylisting geeft erg goede resultaten, maar er hangt een prijskaartje aan.

Tags: , ,

Als hostingbedrijf vinden wij spambestrijding erg belangrijk. De hoeveelheden spam die rondgestuurd worden op Internet zijn gigantisch en onze servers krijgen dagelijks veel spam voor hun kiezen. Heel veel spam wordt gefilterd door spamfilters in mailservers en mailprogramma's, maar desondanks lijkt de spamindustrie nog steeds winstgevend te zijn, anders waren de spammers er al lang geleden mee opgehouden.

Spam is op meerdere niveaus irritant. Ten eerste kost het onnodig veel bandbreedte en rekenkracht: de spam die naar ons gestuurd wordt moet door het spamfilter gehaald worden en dat kost rekentijd, die ook op een andere manier gebruikt had kunnen worden. Ten tweede is het irritant voor de mensen die van onze infrastructuur afhankelijk zijn: spam opschonen kost veel tijd en er is altijd het risico dat legitieme mail niet meer opvalt tussen de spam en met per ongeluk mee weggegooid wordt.

Eén van de methodes die wij nu een tijdje gebruiken om spam te bestrijden is greylisting. In tegenstelling tot blacklisting blokkeert greylisting geen mail, maar gebruikt het de statuscodes in het SMTP protocol om aan te geven dat er een tijdelijk probleem is. Een mailserver die correct SMTP spreekt zal weten dat er even gewacht moet worden en later nog eens moet proberen om de mail af te leveren. De meeste spamscripts spreken geen correct SMTP, maar proberen zo snel mogelijk zoveel mogelijk spam te sturen, voordat de machine waarvandaan gestuurd wordt in een blacklist gezet wordt.

Veel greylisting implementaties (zoals postgrey voor Postfix) houden in een database bij welke machine, of welk subnet, mail probeert te sturen. Voor een bepaalde periode (dit is in te stellen, meestal variërend tussen de 5 en 20 minuten) zal de mail een tijdelijke fout terugkrijgen. Als de mail daarna opnieuw wordt verstuurd zal de mail worden doorgelaten. Servers die correct mail versturen zullen netjes wachten en het later weer proberen, de meeste spamscripts komen nooit meer terug. Hierdoor lijkt het maar een tijdelijk probleem.

Een veel groter probleem zijn legitieme mailservers die geen correct SMTP praten en dus niet terugkomen na een tijdelijke foutmelding, of mailservers die na een foutmelding direct terugkomen, weer een foutmelding krijgen en daarna opgeven. Een andere bron voor problemen zijn scripts op webservers die direct SMTP spreken en geen correcte foutafhandeling doen.

Positieve resultaten

Greylisting werkt tot nu toe goed voor ons. Op het moment dat we greylisting aanzetten zagen we meteen resultaten, met een afname van de spam van 90% of meer. Zelfs domeinen die expliciet in een whitelist stonden (en waarvoor dus geen greylisting werd toegepast) zagen een flinke terugval in de hoeveelheid spam (we hebben voor deze domeinen later alsnog greylisting aangezet).

Negatieve resultaten

Greylisting heeft een aantal nadelen. Het nadeel dat het meest merkbaar is is dat email niet meer "real time" is. Veel gebruikers zijn gewend dat als ze een mail sturen deze ook bijna direct door de geadresseerde(n) wordt ontvangen, zelfs al zegt de specificatie van SMTP dat dit niet zo is en kan het best lang duren voordat een mail ontvangen wordt. Met greylisting heb je al gauw een half uur of meer (soms zelfs een dag) extra aflevertijd. Dit is vaak erg frustrerend voor gebruikers die gaan denken dat de mail kwijt is, of geblokkeerd wordt. Veel implementaties van greylisting hebben een zogeheten "auto-whitelist" waarin adressen die veel naar elkaar mailen automatisch doorgelaten worden.

Overdenkingen

Al met al werkt greylisting op dit moment goed voor ons en de hoeveelheid spam die op onze servers binnenkomt is significant afgenomen. Op het moment dat spammers correct SMTP gaan implementeren zal greylisting een stuk minder effectief zijn. Het lijkt erop dat dit langzaam gaat gebeuren (hoewel dit voornamelijk gebaseerd is op een onderbuikgevoel). Het feit dat sommige legitieme mailservers niet goed om kunnen gaan met greylisting is ook een probleem.

Een betere (technische) oplossing zou zijn om spam aan de bron te bestrijden: mailservers correct configureren, uitgaande mail filteren, beveiligingsgaten in webapplicaties dichten, beveiligingsupdates op machines installeren, ISPers die meewerken met spammers blokkeren, enzovoort. Maar, de beste oplossing blijft nog wel: niet meer kopen bij spammers.

Creative Commons License Op dit werk is een Creative Commons Licentie van toepassing.
Social networking: Tweet dit artikel op Twitter Geef dit artikel door op LinkedIn Bookmark dit artikel op Google Bookmark dit artikel op Yahoo! Bookmark dit artikel op Technorati Bookmark dit artikel op Delicious Deel dit artikel op Facebook Digg dit artikel op Digg Zend dit artikel naar to Reddit Geef dit artikel een duim omhoog op StumbleUpon Zend dit artikel naar Furl

Talkback

reageer op dit artikel