Afgelopen week was het contactformulier op Timdehoog.nl helaas slachtoffer geworden van een grootschalige spam aanval. Gezien de hoeveelheid ga ik uit van een geautomatiseerde aanval middels een bot.
Ik ontving honderden berichten met deze inhoud:
- Prenez 200 EUR lors de l’inscription https://cutt.ly/CaSIn
- Better than your ex is waiting… https://cli.re/Xa44mq
- got your DL? get a car +200 Eur https://alo.com
Behoorlijk vervelend want ik heb er natuurlijk niet om gevraagd. Knap zinloos en zonde van de belasting van internet en verspilling van stroom.
Natuurlijk ontvang ik net als andere webmasters spam, maar dat zijn dan telkens unieke mailberichten. Dat zijn er ook maar een paar per week. Geen probleem om die handmatig te verwijderen. Maar dit was ook de eerste keer dat mijn site zo werd aangevallen.
Contactformulier niet beveiligd?
Eerlijk antwoord, nee, nooit nodig gehad…
Mijn reactie formulieren onder blogs worden beschermd tot Akismet en dat is echt wel een eis als ik zie hoeveel zooi daar op binnenkomt. Klein nadeel is wel dat het een betaald abonnement is. Maar dat is het wel waard als ik terugkijk naar deze aanval en hoeveel tijd je bezig bent met het verwijderen van de mails.
Contactformulier offline gehaald:
Toen de aanval begon heb ik het eerst een paar uur aangekeken om te bepalen of het een eenmalige actie was of niet. Maar dat was het niet en het kwam in vlagen per uur.
Ik heb toen besloten om het contactformulier van mijn website te verwijderen zodat er geen spamberichten meer verstuurd konden worden.
Maar vreemd genoeg ontving ik nog steeds mails nadat ik het contactformulier van mijn website had verwijderd.
Vertraging aflevering mails door mailserver 24-48 uur:
In eerste instantie gecheckt of het geen cache probleem was omdat mijn website Redis en WP-Rocket gebruikt. Maar dat was het niet. Het contactformulier was echt offline.
En toch ontving ik nog tientallen mails.
Ik heb toen de headers van een van de mails gekopieerd en in online Message Header Analyser geplakt. Deze tool maakt de bron leesbaar voor mensen.
Analyse:
In het eerste blok “received headers” zie je via welke mailservers op internet de mail is verstuurd. Per keer kunnen deze mailservers en het aantal verschillen.
Maar bij de tweede mailserver zag ik dat er een delay was van 1700 minuten. Dit is omgerekend een vertraging van 28-29 uur. Deze specifieke mail was dus al 29 uur geleden via mijn website verstuurd en werd door de tweede mailserver vastgehouden. Vermoedelijk omdat het als verdacht werd gezien.
Om mijn conclusie te bevestigen analyseerde ik nog een paar mails met de Message Header Analyser en zag daar ook telkens een vertraging van meerdere uren.
Waar vind je de headers van een e-mail?
Die vind je bovenin de bron van jouw e-mailbericht. Deze bron, ook wel broncode genoemd, wordt door jouw e-mailprogramma omgezet in een visueel mooie e-mail.
In Thunderbird vind je de bron via de knop “Meer” rechts bovenin het scherm waar de e-mail wordt getoond. Maar soms vind je de bron ook door met rechter muisknop op het e-mailbericht te klikken.
Conclusie:
Er werd dus geen spam meer verstuurd via het contactformulier. Ik ontving nog steeds mails die in het verleden al verstuurd werden.
Welke beveiligingen kan je toepassen:
- Recaptcha van Google, alleen moet je toestemming vragen aan bezoekers wegens cookies
- Hcaptcha, beter voor privacy maar je moet dan klikken op plaatjes, behoorlijk frustrerend
- Akismet, voor commerciële websites heb je een betaald abonnement nodig
Mijn contactformulier is inmiddels weer online en maakt gebruik van Akismet. Hoe ik deze beveiliging toegevoegd heb vertel ik binnenkort in een ander blog.