Wanneer blijkt dat je VPS ongewenst 'spam' naar een groot aantal verschillende e-mailadressen verzend dan zullen wij of jijzelf hier over het algemeen spoedig een 'abusemelding' van ontvangen waarin vaak de headers van een dergelijke mail zijn meegestuurd.
Waar vroeger het 'hacken' van mailboxen vaak de voornaamste bron van misbruik van je e-mailadres(sen) dan wel server was, is dit met de enorm toegenomen populariteit van CMS-en zoals WordPress, Joomla, Drupal en anderen verplaatst naar "spamscripts" op de webruimte. Mocht je dus een melding ontvangen dat er spam verzonden wordt vanaf je VPS dan is het raadzaam om allereerst op de webruimte van de websites van je VPS (uiteraard indien van toepassing) te controleren of er geen bestanden staan waarvan de herkomst onbekend is.
Voorbeeld van code uit een deel van een spamscript:
Uiteraard is het bij CMS-en wat lastig om bij honderden tot duizenden bestanden direct te achterhalen welke daar niet thuishoren maar over het algemeen hebben dergelijke scripts bepaalde kenmerken om deze te herkennen. Vaak zullen deze namen hebben met een willekeurige string van karakters (dus bijvoorbeeld 23gw1pnb.php) of juist lijken op een legitiem CMS bestand (zoals bijvoorbeeld template.config.php). De code kan ook embedded zijn toegevoegd aan een bestaand en legitiem bestand. Daarnaast wordt er vaak van gzinflate & base64 encoding gebruikt gemaakt voor dergelijke scripts.
Een voorbeeld van een commando van hoe je dergelijke scripts kunt opsporen is bijvoorbeeld als volgt:
find -name "*.php" -exec grep -El '/<?.*eval\(gzinflate\(base64.*' '{}' \;
De output hiervan zou uit de huidige directory (voer dit dan ook bijvoorbeeld uit vanuit de root van jouw webruimte) en onderliggend alle scripts moeten listen die hieraan voldoen. Echter dit zal niet altijd elk script terugvinden. Je kunt eventueel ook de logbestanden van je mailserver raadplegen, maar ook daar zal vaak alleen de bron (dus het script) van de betreffende mail in te vinden zijn - vaak zijn er ook andere scripts die niet direct spam versturen maar wel de spamscripts opnieuw plaatsen bij verwijdering.
Het is daarom ook aanzienlijk eenvoudig en praktischer om gebruik te maken van een programma zoals ClamAV om malafide bestanden op je server op te sporen. Een goed alternatief is Linux Malware Detect (LMD) / Maldet. Wij hebben voor ClamAV een aantal handleidingen:
- ClamAV installeren in CentOS, AlmaLinux of Rocky Linux
- ClamAV installeren in Debian
- ClamAV installeren in Ubuntu
Voor de web control panels werkt de installatie van ClamAV net anders:
- cPanel heeft ingebouwde mogelijkheid voor ClamAV (te installeren via "Manage Plugins" en vervolgens via "Configure ClamAV Scanner" te beheren). Alternatief kun je bovenstaande CentOS instructie gebruiken.
- Voor DirectAdmin en Plesk is er geen officiele ondersteuning, maar kun je ook onze CentOS handleiding gebruiken.
Hoe kan ik dit misbruik überhaupt voorkomen?
- Zorg er voor dat je CMS (en plug-ins) altijd geüpdatet is naar de laatste versie, voor oudere versies zijn vrijwel altijd kwetsbaarheden bekend!
- Zorg er voor dat je geen thema's en plug-ins van onbekende websites downloadt. Vaak zijn de "gratis" downloads van normaliter betaalde add-ons geïnfecteerd met dergelijke malware.
- Gebruik voor WordPress een plugin zoals WordFence om de veiligheid van jouw website te verhogen, voor Joomla kun je bijvoorbeeld naar Securitycheck kijken. Een gedetailleerdere uitleg voor het beschermen van je WordPress-website vind je in dit artikel.
- Schakel PHPmailer uit of zorg ervoor dat de websites geen gebruik kunnen maken van poort 25 om mail te verzenden (doe dit alleen wanneer je geen mailformulieren gebruikt op de website).
- Wanneer je wel van formulieren op jouw website gebruik wilt maken, zorg er dan voor dat hiervan het mailadres waar dit naartoe verzonden wordt niet direct aan te passen is. Als dat wel mogelijk is dan kunnen kwaadwillenden namelijk al direct via dat formulier spammen.
- Tegen website-gerelateerde abuse is het heel belangrijk om de juiste bestandspermissies in te stellen. Bijna alle frameworks & CMS'en hebben een lijstje met aanbevolen permissies. Hierdoor voorkom je bijvoorbeeld dat een kwetsbaarheid in een webapplicatie gebruikt kan worden om de core-bestanden van een framework aan te passen.
- Draai regelmatig een scan met bijvoorbeeld ClamAV of Linux Malware Detect (LMD) om dergelijke malafide bestanden zo snel mogelijk te vinden. Via een cronjob kan je er ook voor zorgen dat dit zonder jouw tussenkomst op regelmatige basis uitgevoerd wordt.
- Maak gebruik van onze VPS Mailservice zodat uitgaande spam al door ons geblokkeerd wordt.
- Om te voorkomen dat kwaadwillenden alsnog spam versturen doordat ze het wachtwoord van je mailadres hebben bemachtigd, gebruik op open draadloze netwerken nooit een verbinding zonder SSL (in dat geval wordt je wachtwoord in plain text verzonden) en kies een sterk wachtwoord.