3 min read

Selectief Greylisten Voor Mailservers

De bergen spam die we dagelijks tegenhouden, is enorm. Op sommige van onze mailservers blokkeren we tot 95% van alle mail die binnenkomt. Toch blijft er een (te) grote hoeveelheid rommel zijn weg vinden naar de mailboxen van onze klanten. Zowel collega Bernard als ik schreven er vroeger al over.

Een essentieel onderdeel van elke anti-spam oplossing en een eerste line of defense zijn ongetwijfeld de blacklists. Dit zijn lijsten van mailservers die heel vaak door spammers gebruikt worden. Je hebt twee soorten lijsten: de defensieve die enkel mailservers opnemen waarvan ze 99% zeker zijn dat ze enkel door spammers gebruikt worden, en lijsten die iedereen opnemen waarvoor ook maar één spamklacht binnenkomt. De eerste hebben uiteraard het nadeel dat ze heel wat spam niet zien, als je de tweede gebruikt, riskeer je dat je legitieme mails blokkeert. Zo staan bv. de mailservers van Belgacom Skynet nogal vaak op die lijsten.

Een techniek die vaak gebruikt wordt, is greylisting. We hebben kunnen vaststellen dat heel wat spam tegenwoordig via geïnfecteerde Windows pcs komt, die spam versturen zonder dat de eigenaar van de computer door heeft dat zijn pc reclame maakt voor pillen of obscure aandelen. De programma’s die op die pcs de spam versturen, hebben geen volwaardige mailserver aan boord, en doen niet echt veel moeite om hun spam betrouwbaar te versturen. Als ze een mail proberen versturen, en de mailserver van de bestemmeling antwoordt met een “tijdelijke” fout, proberen ze niet later opnieuw, zoals een normale mailserver dat wel zou doen. Als we nu een databank bijhouden van alle mailservers die proberen connecteren naar onze mailservers, en we ze de eerste maal een tijdelijke error geven, kunnen we een heel deel van de spam tegehouden. De echte mailservers zullen de tijdelijke error begrijpen, de mail bewaren, en enkele minuten later opnieuw proberen. Spam-mailers zullen maar 1 keer proberen, en niet opnieuw proberen.

Er zijn twee grote nadelen aan greylisting. Vooreerst vertraagt het mails. Als je een mail stuurt naar een klant of leverancier over een probleem, dan verwacht je dat je mail binnen de 3 minuten toekomt. Bij greylisting worden de mails voor een niet te controleren tijd vertraagt. Het hangt immers van mailserver tot mailserver af wanneer die opnieuw zal proberen connecteren. Sommige proberen na 10 seconden opnieuw, andere na 5 minuten, anderen slechts na 5 uren. Het tweede nadeel is dat een aantal grotere isps mail-clusters gebruiken met soms wel 20 uitgaande mailservers. Afhankelijk van de instellingen kan het gebeuren dat een mail de eerste keer door serverA, de tweede maal door serverB wordt aangeboden, elk met een verschillend adres. De greylisting service ziet niet onmiddellijk dat het dezelfde mail is, met dezelfde mailserver.

Sinds enkele dagen draai ik voor een paar testdomeinen een “tussenoplossing”, die de voor- en nadelen van greylisting en agressieve blacklists combineert. We gaan selectief gaan greylisten. Als een mailserver probeert te verbinden met onze test-mailserver, wordt eerst gekeken welk besturingssysteem de andere mailserver gebruikt. Heel veel van alle Windows mailservers die proberen verbinden met onze mailservers, zijn immers geïnfecteerde windows-pcs die enkel spam versturen. Vervolgens wordt nagegaan of je ip op een hele waslijst blacklists staat. Niet enkel de defensieve, maar ook de agressieve blacklists worden geraadpleegt. Staat de mailserver op geen enkele blacklist, en is het geen Windows pc, dan aanvaarden we je mail, en gaat die gewoon door naar de volgende stap in het anti-virus/anti-spam verhaal.

Is de zender wel een Windows PC, of staat het ip op één van de blacklists, dan wordt die gegreylist. De zender krijgt dan een tijdelijke error van de mailserver, en moet het later opnieuw proberen, waarbij de mail zonder probleem aanvaard wordt.

Deze opstelling biedt het voordeel dat normale, legitieme mail niet vertraagd wordt, dat we indirect toch gebruik maken van de agressieve blacklists, en dat klassieke greylisting gebruikt wordt voor Windows of geblackliste mailservers. Eerlijk gezegd ben ik verbaasd van het resultaat. Dit blijkt een super interessante techniek te zijn die heel wat spam tegenhoudt. Een paar cijfers voor een paar kleine domeinnamen voor gisteren, 25 december.

Er werden 829 pogingen ontvangen door de mailserver.
In totaal werden er 647 (78%) doorgestuurd naar de greylisting service.
Daarvan waren er 68 (11%) die op één of meerdere blacklists staan
en waren er 579 (89%) mails afkomstig van Windows mailservers.
Van de 647 ge-greylistte mailservers, zijn er slechts 6 (minder dan 1%) die hun mail keurig opnieuw aanboden, en dus misschien geen spam zijn.
Mijn test was maar kort, en maar met een paar domeinnamen, maar de resultaten zien er alvast veel belovend uit.