Hackad eller infekterad hemsida
En hackad eller infekterad hemsida är en där en angripare har injicerat skadlig kod, lagt till falska konton eller planterat skräppostinnehåll. Symptomen sträcker sig från uppenbara (besökare omdirigeras till en kasinosajt) till subtila (en dold bakdörrsfil som inte gör något synligt).
Vanliga tecken på en infekterad hemsida
- Nya, misstänkta administratörskonton. Administratörsanvändare som du inte känner igen dyker upp på webbplatsen.
- Oväntade omdirigeringar. Besökare skickas till en extern hemsida som de aldrig hade för avsikt att besöka.
- Nya sidor eller inlägg som du inte skapade. Ofta skräppost om onlinekasinon, läkemedel eller förfalskade varor.
- Falska Cloudflare-"captchas". En sida låtsas vara en Cloudflare-verifiering av mänskligt beteende och ber dig sedan kopiera och klistra in ett kommando i en terminal eller Windows Kör-dialogrutan. Gör aldrig detta - det kör skadlig programvara på din egen dator.
- Oväntad Google Search Console-verifiering. Google mejlar dig att en ny ägare har verifierats för din webbplats. Angripare verifierar ägarskap genom att ladda upp en
google*.html-fil och skickar sedan in skräppost-sitemaps eller avindexerar dina sidor. - Skräppostaktiga sökresultat för din webbplats. Att söka efter din webbplats på Google returnerar sidor eller beskrivningar som du aldrig publicerat.
- Varningar i webbläsare eller Google. Besökare ser "Vilseledande webbplats framöver" eller "Den här webbplatsen kan vara hackad" när de öppnar webbplatsen.
Hur hemsidor blir infekterade
De flesta infektioner kommer in genom:
- Föråldrade tillägg eller teman med kända, opatchade sårbarheter. Detta är den överlägset vanligaste orsaken.
- Läckta administratörslösenord. Den vanligaste orsaken vi ser är en angripare som loggar in direkt i WP Admin som administratör med ett lösenord som läckt ut eller återanvänts någon annanstans.
- Cross-site scripting (XSS) och andra brister på applikationsnivå som låter en angripare agera som en inloggad administratör.
Hur vi rensar en infekterad hemsida
När vi upptäcker eller blir informerade om en infektion utför vi en rensning efter bästa förmåga:
- Lösenordsskydda webbplatsen så att infektionen inte kan spridas vidare eller återinfektera medan vi arbetar.
- Spåra inträdespunkten. Vi letar efter nyligen ändrade filer och matchar dem mot webbplatsens åtkomstloggar för att hitta hur angriparen kom in.
- Sätt i karantän och bygg om. Vi flyttar skadliga filer till en säker karantänkatalog och installerar sedan om WordPress-kärnan och tillägg från rena kopior:
wp core download --force wp plugin install <plugin_name> --version=<version> --force - Granska administratörer. Vi listar administratörer direkt från databasen (skadlig kod kan dölja dem från den normala administratörslistan), tar bort falska konton, återställer alla administratörslösenord och granskar applikationslösenord:
wp user list --role=administrator
Vi regenererar också salterna iwp-config.php, vilket loggar ut alla aktiva sessioner, inklusive alla som angriparen fortfarande har. Se vilka lösenord som ska ändras efter en infektion. - Uppdatera allt. Vi tillämpar de senaste uppdateringarna för kärnan och tillägg för att stänga sårbarheten som utnyttjades.
- Ta bort skräppostinnehåll. Vi raderar alla skräppostsidor eller inlägg som angriparen publicerat.
- Meddela dig eller din byrå, tillsammans med rekommendationer för att hålla webbplatsen säker.
Efter en rensning - vår eller din egen - kör en fullständig skadlig programvarusökning med Wordfence för att bekräfta att inga infekterade filer finns kvar. När skanningen kommer tillbaka ren kan du ta bort tillägget igen, eller behålla det installerat för fortsatt trygghet.
Ta bort en angripare från Search Console
Om Google meddelade dig att en ny ägare har verifierats:
- Ta bort alla
google*.html-verifieringsfiler från din webroot. De behövs bara vid verifieringstillfället, så att ta bort dem är säkert när din webbplats är verifierad. - I din Search Console-egenskap, öppna Settings → Users and permissions och ta bort alla användare du inte känner igen.
- Öppna Settings → Ownership verification och av-verifiera alla ägare eller metoder som du inte ställt in.
Varför det inte räcker att återställa en backup
Backuper kompletterar en rensning, de ersätter inte en. Att radera alla filer innan återställning garanterar att infekterade filer tas bort, men det är tunghänt och vi behandlar det som en sista utväg.
Vilka lösenord som ska ändras efter en infektion
En infektion kräver rotation av exakt två autentiseringsuppgifter - de som en angripare faktiskt kan ha:
- Administratörslösenord - återställ alla. Ett läckt eller återanvänt administratörslösenord är ett av de vanligaste sätten hemsidor blir hackade från första början.
- Salt och nycklar - regenerera
AUTH_KEY,SECURE_AUTH_KEYoch de andra saltraderna iwp-config.php. Detta ogiltigförklarar alla befintliga inloggningscookies, så alla som använder en stulen session loggas ut direkt. Alla måste logga in igen, inklusive dig. Via SSH är det ett kommando:wp config shuffle-salts
Dina SFTP/SSH- och Templ-kontolösenord exponeras inte av en infektion - de finns utanför hemsidan - så de behöver inte roteras.
Databaslösenordet är inte ett av dem
Att ändra databaslösenordet stänger inte ute en angripare, så vi gör det inte som en del av en rensning.
Databasen är bara nåbar från insidan av servern, och allt som körs där kan läsa det nya lösenordet direkt från wp-config.php i samma ögonblick som du ställer in det.
Vad som låser ute en angripare är att ta bort den skadliga koden och stänga sårbarheten som släppte in den.
Förebygga framtida infektioner
- Håll WordPress-kärnan, tillägg och teman uppdaterade.
- Skanna efter kända sårbarheter i dina tillägg och teman.
- Aktivera tvåfaktorsautentisering på ditt Templ-konto och i WP Admin.
- Använd starka, unika lösenord för varje administratör.
- Inaktivera den inbyggda filredigeraren, så att en komprometterad inloggning inte kan redigera kod från instrumentpanelen, genom att lägga till
define( 'DISALLOW_FILE_EDIT', true );iwp-config.php(precis före raden/* That's all, stop editing! Happy publishing. */).
För den fullständiga listan över vad Templ säkrar automatiskt och vad du själv ska ställa in, se säkerhet på Templ.