Skadlig kod finns även i databasen
Skadlig kod finns inte bara i filerna. Angripare lägger också in konton och innehåll direkt i databasen, och där hittas de inte av de verktyg som bara skannar filer. En sajt kan se ren ut efter att alla misstänkta filer tagits bort, men ändå innehålla ett dolt administratörskonto, injicerade länkar i inlägg eller ändrade inställningar som ger angriparen fortsatt kontroll. Därför granskar Business IT Support databasen systematiskt när en sajt har varit utsatt, och som en del av en förebyggande kontroll. Vi tittar på användare, inlägg och sidor, inställningar och metadata, och vi jämför med hur en ren installation ser ut. Arbetet kräver både kunskap om WordPress databasstruktur och vana vid att läsa av avvikelser, eftersom angriparna ofta försöker likna legitima poster. Det är också ett arbete som görs med försiktighet: vi tar alltid en säkerhetskopia av databasen först, så att inget går förlorat om en åtgärd skulle visa sig vara fel eller om vi behöver gå tillbaka för att utreda saken ytterligare. Därför ser vi databasen som en lika viktig del av säkerhetsarbetet som själva filerna på servern.

Användare och behörigheter
Det första vi kontrollerar är användarna. Tabellen wp_users listar alla konton, och tabellen wp_usermeta visar deras roller i fältet för behörigheter. Vi sorterar efter registreringsdatum och letar efter konton som skapats vid misstänkta tidpunkter, som har ovanliga namn eller e-postadresser eller som har administratörsroll utan att någon känner igen dem. Angripare skapar ofta flera konton med slumpmässiga namn för att ha reservvägar in, och de kan även ge befintliga konton högre behörighet. Vi tar bort obehöriga konton, kontrollerar att inga legitima konton har fått förhöjda rättigheter och byter lösenord för alla administratörer. Dessutom ogiltigförklarar vi alla aktiva sessioner genom att byta WordPress säkerhetsnycklar i wp-config. Ett konto som lämnas kvar ger angriparen ny åtkomst efter städningen, och därför är detta ett av de viktigaste stegen. Vi dokumenterar vilka konton som togs bort och när de skapades, vilket också hjälper till att avgöra när intrånget skedde och hur länge det pågick. Resultatet blir en tydlig bild av vem som har haft åtkomst och vilka konton som verkligen behövs.

Inlägg, inställningar och metadata
Därefter granskar vi innehållet. Tabellen wp_posts innehåller sidor och inlägg, och vi söker efter inbäddad kod som inte hör hemma, till exempel script-taggar, iframes eller dolda länkar. Vi letar även efter inlägg som skapats utan att någon känner till dem, ofta med främmande språk eller produktnamn som ska ge spam i sökresultaten. Tabellen wp_options innehåller inställningar, och här kontrollerar vi webbplatsens adresser, aktiva plugin och schemalagda uppgifter, eftersom angripare kan ändra dem för att styra om trafik eller återinstallera skadlig kod. Metadata kan också vara ändrad, till exempel SEO-fält som har fått spamvärden. Resultatet av en sökning ger en lista över misstänkta poster, som vi granskar en och en innan något tas bort. Vi rensar bara sådant som vi är säkra på att det är skadligt, och vi sparar bevis över vad som hittats. På så sätt blir städningen både noggrann och kontrollerad, och vi undviker att råka ta bort legitimt innehåll som sajten behöver för att fungera. Den noggrannheten gör att sajten kan fortsätta fungera som vanligt medan vi rensar bort det som inte hör hemma.

wp-config, nycklar och databasprefix
Filen wp-config.php innehåller databasuppgifter och säkerhetsnycklar, och vid ett intrång måste den behandlas som komprometterad. Vi byter databaslösenordet, uppdaterar nycklarna och kontrollerar att filen inte innehåller okänd kod. Filrättigheterna sätts strikt, och filen skyddas så att den inte kan läsas utifrån. Ett eget databasprefix, alltså något annat än standardprefixet, är en liten extra försvårande åtgärd mot automatiska attacker som utgår från standardnamn, men det ersätter inte annat skydd och ska inte ses som huvudsaklig säkerhet. Det viktigaste är att databasanvändaren bara har de rättigheter som krävs och att den inte kan nås utifrån. Vi kontrollerar även att inga extra databasanvändare eller fjärråtkomst har tillkommit. När allt är åtgärdat testar vi sajten, övervakar den en tid och kontrollerar att inga nya konton eller poster dyker upp. Först då anser vi att utredningen är klar, och vi lämnar en rapport över vad som hittades, vad som gjordes och vad som rekommenderas framöver. Det ger en trygg grund att bygga vidare på när sajten åter är i drift.

Kontakta Datorkirurgen AB om databassäkerhet
Misstänker ni att er databas innehåller något som inte ska finnas där? Business IT Support, en del av Datorkirurgen AB, granskar och städar WordPress-databaser åt företag i hela Sverige, både efter incidenter och som förebyggande kontroll. Vi börjar med en säkerhetskopia, och därefter kontrollerar vi användare, inlägg, inställningar och metadata. Vi tar bort det som inte hör hemma, byter nycklar och lösenord och härdar konfigurationen. Samtidigt granskar vi filer, plugin och serverinställningar, eftersom ett intrång sällan sitter bara på ett ställe. Efteråt övervakar vi sajten och rapporterar vad som hittades och vilka åtgärder som gjorts. Eftersom vi arbetar med servrar, databaser och IT-säkerhet kan vi hantera hela kedjan, från webbserver till databasen. Kontakta oss så går vi igenom er situation och föreslår en lösning. Ju tidigare ni agerar, desto mindre blir skadan, och desto snabbare kan sajten och förtroendet hos både kunder och sökmotorer återställas till normalt skick.

Vanliga supportfrågor
Frågor om databasen
- Hur kontrollerar man WordPress-databasen efter ett intrång?
- Vilka tabeller finns i WordPress-databasen?
- Vad är wp_users och wp_usermeta?
- Hur hittar man okända administratörer i databasen?
- Hur söker man efter injicerad kod i wp_posts?
- Vad innehåller wp_options?
- Hur tar man backup på WordPress-databasen?
- Vad är mysqldump?
- Hur återställer man en WordPress-databas?
- Hur kommer man åt databasen med phpMyAdmin?
Frågor om användare och inställningar
- Hur tar man bort ett obehörigt administratörskonto?
- Hur ser man när ett konto skapades i WordPress?
- Hur byter man alla lösenord i WordPress?
- Hur loggar man ut alla användare i WordPress?
- Hur byter man säkerhetsnycklar i wp-config?
- Vad är databasprefix i WordPress?
- Är det värt att byta databasprefix?
- Hur kontrollerar man schemalagda uppgifter i WordPress?
- Hur kontrollerar man siteurl och home i databasen?
- Hur hittar man dolda plugin?
Frågor om skydd och support
- Hur skyddar man wp-config.php?
- Vilka rättigheter ska databasanvändaren ha?
- Hur byter man databaslösenord i WordPress?
- Hur skyddar man databasen mot SQL-injektion?
- Hur ser man om databasen är åtkomlig utifrån?
- Hur vet jag att sajten är ren efter städning?
- Hur hittar man bakdörrar i databasen?
- Kan ni städa vår WordPress-databas?
- Hur lång tid tar en databasgranskning?
- Hur kontaktar jag er om databassäkerhet?
[dk_natverk compact=”1″]