Ik was in lichte paniek onlangs. Mijn andere site daar over film (Deel Twee) zat vol spam maar ik kon het niet vinden en ik begreep er helemaal niets van.
Begin deze week waren er server problemen, het ging hier extreem traag en soms niet. Een onderzoek heeft niets opgeleverd, maar een aantal niet gerelateerde zaken zijn wel aan het licht gebracht. Zorgbarende zaken. Spam zaken. Op mijn server.
Als je niet geïnsteresseerd bent in de aanloop en wil je gewoon weten wat er aan de hand was dan scroll je best door naar het einde.
FPT login leak?
Een tijdje terug was mijn ftp gekraakt. Geen idee hoe het gebeurd is, mijn host is wel vaker het doelwit van slechte zielen, maar misschien is het iets dat ik gedaan heb.
De index.php file van deze site was vol gepompt met spam links. Iets dat wel opvalt want de site breekt dan gewoon. Het probleem was vrij snel opgelost. In alle paniek heb ik al mijn ftp én mysql paswoorden aangepast. Voor de zekerheid heb ik ook al de andere sites door mij gehost nagekeken. Buiten die ene index.php was er niets veranderd. Dacht ik.
Spam in google cache
Af en toe zoek ik mijn eigen sites op in google, alle webmensen doen dat. Narcisme/chauvinisme/... We willen weten hoe de site het doet.
Het was mij opgevallen dat Deel Twee opdooek in google vol spam. De url die google opgaf klopte wel, maar de titel en excerpt waren spam. Ik begreep er niets van. Ik bekeek de bron van Deel Twee, maar vond nergens de spam terug. De cache was al een paar dagen oud, van voor de ftp leak, dus ik dacht dat het probleem zichzelf zou herstellen.
Een paar weken later doken de meeste Deel Twee pagina's nog altijd op met spam in de google cache. En deze keer was de cache wel ververst. Dus ik heb updates uitgevoerd op de site en ik heb google doorzocht voor antwoorden, maar ik vond niets en de spam bleef.
Hier het resultaat van een google site search in deeltwee op loft: site:deeltwee.be loft
En de bron van één van de pagina's in google cache:
Ik begon me wel zorgen te maken over mijn google ranking. Als dit te lang zou aanslepen zou google me gewoon uit hun index smijten.
Gehackte theme.inc
Nu met de slechte performance van mijn hosting was het Deel Twee probleem nog eens naar boven gekomen, niet dat het lang heeft stil gelegen. Ik was op zoek naar processen die veel draaiden op één van mijn sites, omdat deze site en Deel Twee mijn grootste sites zijn ging mijn aandacht voornamelijk daar naartoe.
Ik vond toen op de ftp van Deel Twee een bestand 'page.php' in de root dat ik lokaal niet heb staan, en ik hou beide steeds gesynchroniseerd. Page.php is ook geen bestand dat gebruikt wordt door Drupal, het CMS waarop Deel Twee gebouwd is.
In de bron stond een script dat een call deed naar een andere server en een paar acties uitvoerde. Ik heb een paar tests gedaan en ik kon snel concluderen dat het niet werd opgeroepen door Drupal. Maar ik heb het bestand wel proper gewist. (Sindsdien is de server weer wat stabieler, dus misschien had het wel effect).
Het spam probleem was er wel nog. En dan kwam ik het volgende tegen, wat mij een bepaalde denkrichting gaf. Spam dat enkel opduikt als een zoekmachine langskomt. Blijkbaar de nieuwste rage, vooral WordPresser zouden er last van kunnen hebben.
Via een simpele techniek heb ik mijn browser omgetoverd in een Googlebot en heb ik Deel Twee opnieuw bezocht en lo and behold de bron zat vol vol vol verborgen spam links. En lang leve Drupal ook, want die gaf mij, als admin, een error dat er in mijn theme.inc bestand iets raar gebeurde.
Onderaan de pagina was er een string tekst ingevoerd. Jibberish, wartaal dat niet te zoeken/vinden valt. Ze hadden de code gecodeerd en in een base64_decode() gestoken zodat het minder goed op te sporen was. En dat zat dan in een eval(). Er werd niets gereturned/geprint tenzij een zoekmachine passeerd. Als gewone gebruiker zal je er nooit iets van gemerkt hebben.
Lessen geleerd
Eigenlijk moet je dat wel bewonderen die spammers. Niet opgeven. Die theme.inc zit ik ook al wat dieper dan gewoon de index.php in de root aanpakken.
Het is dus geen verloren tijd om jezelf eens te googlen. Als je je sites niet in de gaten houdt kan het snel mislopen.
Ik heb de code snel verwijderd en een paar Drupal updates gedaan om zeker te zijn dat alle sporen gewist waren. De komende weken blijf ik het nauw in de gaten houden. Een aantal pagina's duiken al weer proper op in de google cache, maar er zijn er nog een hele hoop die nog opgepikt moeten worden. Hopelijk is het niet te laat.
Dit incident en voorgaande is voor mij de zoveelste op rij dat mij een hoop onnodige stress bezorgt. Ik ben goed van hart en heb veel geduld, maar er zijn toch steeds grote issues bij mijn huidige host. Ik heb al een opvolger uitgekozen en zal de komende maanden langzaan aan alles overzetten. It was long overdue.