Modul 7 · 7.5
Hacket: genkende, reparere og forebygge
Modul 7: Sikkerhed · Læsetid: 10 minutter
Læringsmål: Efter denne lektion kan du genkende et hack, reparere det i den rigtige rækkefølge og forhindre, at det sker igen.
Nøglebegreber: tegn på et hack, dokumentere, isolere, udskifte alle adgangskoder og salts, finde indgangen, logfiler, ren backup, ren geninstallation, kontrolsummer, ukendte administratorer, PHP i uploads, mu-plugins, Search Console, anmelde databrud
Hvad et hack er
Et websted er hacket, hvis nogen uden tilladelse har fået kontrol over (en del af) dit websted: vedkommende kan ændre filer eller databasen eller få kode til at køre. Ofte bliver vedkommende inde via en bagdør: en skjult fil eller et stykke kode, som gør det muligt at komme tilbage senere, selv hvis du lukker det oprindelige hul.
Det sidste er kernen i denne lektion: det er ikke nok kun at fjerne den synlige skade. Så længe bagdøren findes, eller hullet som vedkommende kom ind igennem stadig er åbent, sker det igen. Ofte inden for få dage.
Genkende
Tegn (nogle ser du, andre skal du lede efter):
- Google melder ved dit websted "Dette websted kan være hacket", eller Search Console melder et sikkerhedsproblem.
- I søgeresultaterne (
site:example.com) findes der sider, du ikke kender, ofte på et andet sprog eller om medicin, gambling eller falske butikker. - Besøgende bliver omdirigeret, ofte kun hvis de kommer via Google eller fra en mobiltelefon. Du ser det ikke selv, fordi du er logget ind, eller fordi du bruger et bogmærke. Test i et privat vindue via et søgeresultat.
- Under Brugere står der en administrator, du ikke kender.
- Der er PHP-filer i
wp-content/uploads, eller filer med mærkelige navne i rodmappen eller iwp-content/mu-plugins. - Din hostingudbyder eller en malware-scanner melder inficerede filer; din mail bliver afvist, eller din pakke sender spam.
- Webstedet er pludselig langsomt, eller dit lagerplads løber fuld.
Trinplanen
1. Hold roen og dokumentér
Smid ikke straks alt væk. Noter hvad du ser og siden hvornår, tag skærmbilleder, og lav en kopi af den nuværende tilstand (filer og database, eller en ekstra backup via din hostingudbyder). Den kopi skal du bruge til at finde indgangen, og som bevis. Læg den ikke i webmappen.
2. Stop skaden for besøgende
Sluk webstedet midlertidigt eller sæt det bag en vedligeholdelsesside, især hvis besøgende bliver omdirigeret til malware eller phishing. I DirectAdmin kan du suspendere domænet; andre steder kan en adgangskode på hele webstedet eller en midlertidig index.html med en besked bruges.
3. Udskift alle adgangskoder og nøgler
Gå ud fra, at indtrængeren kender hver adgangskode, der kunne findes på eller via webstedet. Udskift dem, helst fra en anden (ren) computer:
- adgangskoden til dit hostingpanel og til alle FTP- og SFTP-konti (fjern konti, du ikke bruger);
- adgangskoden til databasebrugeren, og tilpas den i wp-config.php;
- adgangskoderne til alle WordPress-administratorer, og fjern konti, du ikke kender;
- nøglerne og salts i wp-config.php (lektion 1.3). Dermed udløber alle login-cookies, også indtrengerens;
- applikationsadgangskoder (lektion 3.3) og API-nøgler til integrationer;
- e-mailadgangskoder, hvis der blev sendt spam via en mailboks.
Slå derefter totrinsbekræftelse til på alt (lektion 7.3).
4. Find indgangen
Uden at kende indgangen kan du ikke være sikker på, at den er lukket. De mest almindelige årsager (lektion 7.1), og hvor du kigger:
- Et forældet plugin eller tema: hvilke dele var bagud? Slå navnene op i en sårbarhedsdatabase (lektion 5.3).
- En lækket adgangskode: se i login-historikken i dit hostingpanel og på FTP.
- Webserverens logfiler: led omkring det tidspunkt, hvor de første mærkelige filer dukkede op, efter POST-forespørgsler til ukendte filer eller til plugin-filer, ofte fra samme IP-adresse.
- Filer efter dato: sorter i Filhåndtering eller via SFTP efter ændringsdato. Filer der er ændret samtidig, især uden for en opdatering, fortjener opmærksomhed.
5. Oprydning
To veje, og ofte en kombination:
A. Gendan en ren backup fra før hacket (lektion 8.2). Vælg en backup fra sikkert før de første tegn, for indtrengere venter nogle gange i uger. Gendan fuldstændigt, så tilføjede filer også forsvinder. Opdatér derefter straks alt (ellers ligger hullet der igen). Ulempe: alt efter backuppen (indlæg, ordrer) er væk.
B. Genopbyg rent med det eksisterende indhold:
- Udskift selve WordPress med en frisk kopi fra wordpress.org (wp-admin, wp-includes og de enkelte filer; ikke wp-content og wp-config.php). Med WP-CLI kan du først se, hvad der er ændret:
wp core verify-checksums
wp plugin verify-checksums --allDisse sammenligner dine filer med de officielle versioner og melder hver ændret eller ekstra fil (den anden kun for plugins fra pluginmappen på wordpress.org).
- Fjern alle plugins og temaer og installér dem igen fra kilden, i den nyeste version. Det du ikke har brug for, kommer ikke tilbage.
- Kontrollér
wp-content/uploadsfor PHP-filer og andre filer, der ikke er medier, ogwp-content/mu-plugins. - Kontrollér
.htaccessfor mærkelige omdirigeringsregler, og wp-config.php for regler, du ikke kender. - Kontrollér databasen: ukendte administratorer, indstillingerne
siteurl,homeogactive_pluginsiwp_options, og søg i indlæg efter indsat script (<scriptmed mærkelige adresser). - Se på planlagte opgaver: cronjobs i dit hostingpanel og WP-Cron (med et plugin eller
wp cron event list).
En malware-scanner (fra din hostingudbyder eller et plugin) hjælper med at finde ting, men stol ikke blindt på den: hvad den ikke finder, kan stadig være der.
6. Luk og kontrollér
- Opdatér alt, hærd (lektion 7.4) og slå webstedet til igen.
- Er dit websted markeret som usikkert hos Google? Bed i Search Console under Sikkerhedsproblemer om en ny vurdering, først når alt er rent.
- Hold øje med ugerne efter: nye filer, nye administratorer, meldinger fra din scanner. Kommer det tilbage, er indgangen eller en bagdør endnu ikke fundet.
Personoplysninger: anmelde et databrud
Kunne indtrengere tilgå personoplysninger (kundeoplysninger fra en webshop, formularindsendelser, medlemslister, brugerne på dit websted), er der tale om et databrud i henhold til GDPR. Du skal så anmelde det inden for 72 timer efter du opdagede det til Datatilsynet, medmindre det er usandsynligt, at det udgør en risiko for de personer, det vedrører (artikel 33 GDPR). Er risikoen høj, skal du også selv underrette de personer (artikel 34). Dokumentér under alle omstændigheder, hvad der skete, og hvad du gjorde, også selvom du ikke anmelder det. Er du i tvivl, så se på Datatilsynets hjemmeside (lektion 9.3).
Bed om hjælp
At rydde op efter et hack kræver tid og erfaring. Er du ikke sikker på, at du har fået det hele, så bed om hjælp: din webudvikler, en specialiseret virksomhed, eller din hostingudbyder (nogle hostingudbydere, også WebOké, tilbyder dette, som regel mod betaling). Giv dem kopien fra trin 1, hvad du har set og hvornår, og hvad du allerede har gjort.
Opsummering
- Et hack efterlader ofte en bagdør; det er ikke nok kun at fjerne den synlige skade.
- Rækkefølge: dokumentere, beskytte besøgende, udskifte alle adgangskoder og salts, finde indgangen, rydde op, lukke og kontrollere.
- Oprydning kan ske med en ren backup fra et godt stykke tid før hacket, eller ved at installere WordPress, plugins og temaer friskt og gennemgå uploads, mu-plugins, .htaccess og databasen.
wp core verify-checksumsviser, hvilke filer fra WordPress der er blevet ændret.- Drejede det sig om personoplysninger, så anmeld databruddet inden for 72 timer til Datatilsynet, medmindre en risiko ikke er sandsynlig.
Quiz
Opgave
Opgave D7.5: Din beredskabsplan ved et hack. Udfyld beredskabsplanen for dit eget websted, så du ikke skal finde på den, når det gælder: hvor ligger dine backups, og hvor langt tilbage går de, hvem har hvilke adgangskoder, og hvordan udskifter du dem alle (liste), hvor finder du logfilerne fra din hosting, hvem ringer du til for hjælp, og hvilke personoplysninger findes der på dit websted (til spørgsmålet om du skal anmelde et databrud). Lav derefter øvelsen: hvilke fem trin tager du i den første time, hvis du får meldingen "Dette websted kan være hacket", i hvilken rækkefølge, og hvorfor den rækkefølge?
Opgave D7.5: Din beredskabsplan ved et hack
Denne opgave laver du selv; ingen tjekker den. Afkryds hvad du har gjort, og markér opgaven som udført.
Dokumentér først (skærmbilleder, gem logfiler) før du smider noget væk; beskyt besøgende (websted offline eller en vedligeholdelsesside); skift alle adgangskoder og salts; find indgangen; gendan derefter rent. Hvis du kun gendanner uden at lukke indgangen, står døren stadig åben.
Dine afkrydsninger og noter forbliver kun i denne browser; vi sender dem ingen steder hen. Er du logget ind, gemmer vi kun i Mine kurser, at du har udført opgaven.
Læs mere
Disse artikler beskriver trinene i panelerne hos WebOké; i andre paneler fungerer de på lignende vis.
- DirectAdmin vejledning 18.2: Min hjemmeside er hacket: trin for trin plan
- Hjælp! Mit websted er blevet hacket. Hvordan løser eller forebygger jeg det?
- DirectAdmin vejledning 15.11: Imunify360: scan din hjemmeside for malware
- DirectAdmin vejledning 17.2: Oversigt og logs for websted: fejlloggen og adgangsloggen
- DirectAdmin vejledning 3.4: Loginhistorik: hvem loggede ind hvornår?
- Databrud (den nederlandske databeskyttelsesmyndighed (Autoriteit Persoonsgegevens)): https://www.autoriteitpersoonsgegevens.nl/themas/beveiliging/datalekken
- FAQ: mit websted er hacket (wordpress.org, Engelsk): https://wordpress.org/documentation/article/faq-my-site-was-hacked/
