Menu Luk

PHP-sårbarheder og hackerangreb – er din backup egentlig sikker?

Sikkerhedskopiering og gendannelse af websites efter hackerangreb og PHP-sårbarheder
De seneste kritiske PHP-sårbarheder har skabt en del omtale og bekymring blandt websiteejere. Med en alvorlighedsscore på 9,2 ud af 10 er der naturligvis god grund til at tage sikkerhedsadvarslerne alvorligt. I min tidligere artikel om PHP-sårbarheder og spørgsmålet om, hvorvidt der er grund til panik stillede jeg spørgsmål ved, om nogle af reaktionerne var ude af proportioner med den faktiske risiko for det enkelte website. Det ændrer ikke på, at sikkerhedshuller skal lukkes hurtigst muligt. Men omtalen af PHP-sårbarhederne giver anledning til et andet spørgsmål, som jeg synes er mindst lige så interessant:  Hvad gør man egentlig, hvis ens website bliver hacket – og hvor sikker er den backup, man regner med at kunne gendanne?

En backup er ikke nødvendigvis en ren backup

Mange websiteejere har en aftale med deres webhotel om automatisk backup. Nogle får taget sikkerhedskopier hver dag, andre ugentligt.

Det er naturligvis fornuftigt.

Men der er et problem, som ofte bliver overset.

Et hackerangreb behøver ikke at blive aktiveret, umiddelbart efter at en angriber har fået adgang til et website.

Der kan være placeret skadelig kode, skjulte PHP-filer eller en bagdør, som ligger passivt i installationen i flere måneder, før den bliver benyttet.

I mellemtiden fungerer websitet måske helt normalt.

Hvis man i denne periode tager daglige sikkerhedskopier, kan den skadelige kode blive gemt i samtlige backupfiler.

Det betyder, at man risikerer at genskabe den samme kompromittering, når man lægger en ældre backup tilbage på serveren.

Og så er man i princippet tilbage, hvor man startede.

Hvad nytter en backup, hvis den indeholder hackerens kode?

Forestil dig et WordPress-website, hvor en angriber har fået adgang gennem et sårbart plugin.

Angriberen placerer en skjult PHP-bagdør i installationen, men foretager sig ikke yderligere i første omgang.

Tre måneder senere bliver bagdøren aktiveret, og websitet begynder at sende spam, omdirigere besøgende eller udføre andre uønskede handlinger.

Websiteejeren opdager problemet og beder webhotellet om at gendanne en backup fra sidste uge.

Websitet fungerer igen, men bagdøren ligger stadig i installationen.

Dette er et tænkt eksempel, men det illustrerer et reelt problem: En sikkerhedskopi kan være teknisk korrekt og fuldstændig, selv om den indeholder skadelig kode.

Derfor bør en backup fra et kompromitteret website ikke uden videre lægges tilbage i drift.

Sikkerhedskopier bør undersøges før gendannelse

Hvis et website har været udsat for hacking, bør backupfilerne undersøges i et isoleret miljø, inden de gendannes på produktionsserveren.

Det indebærer blandt andet scanning for malware og mistænkelige PHP-filer, men også kontrol af databasen, administratorbrugere og eventuelle ændringer i systemets konfiguration.

En almindelig virusscanner kan være et godt udgangspunkt, men den finder ikke nødvendigvis specialudviklede bagdøre eller kode, der er blevet ændret på en måde, som ikke genkendes af scannerens signaturer.

Derfor kan det være nødvendigt at sammenligne installationens filer med originale versioner af WordPress, plugins og templates.

I nogle tilfælde vil den mest forsvarlige løsning være at installere CMS-systemet på ny og kun overføre indhold og data, som er blevet kontrolleret.

Samtidig skal det oprindelige sikkerhedshul findes og lukkes.

Ellers risikerer man, at angriberen blot får adgang igen.

Hvor langt tilbage bør man gemme sine backups?

Der findes ikke én løsning, som passer til alle websites.

En webshop med mange daglige transaktioner har andre behov end et mindre informationswebsite, der kun opdateres et par gange om måneden.

Men efter min mening bør man have en backupplan, der omfatter flere historiske versioner.

Det kan eksempelvis være daglige sikkerhedskopier for den seneste periode, ugentlige kopier over en længere periode og månedlige kopier, som gemmes i flere måneder.

Hvor længe de skal opbevares, afhænger blandt andet af virksomhedens behov, datamængder og krav til opbevaring.

Man skal dog være opmærksom på, at selv en seks måneder gammel backup kan indeholde skadelig kode, hvis kompromitteringen begyndte endnu tidligere.

Alderen på en backup er derfor ikke i sig selv nogen garanti for, at den er sikker.

Backupfiler bør desuden opbevares uden for det aktive servermiljø, så de ikke forsvinder sammen med websitet ved et servernedbrud eller bliver ødelagt under et angreb.

Den løbende vedligeholdelse bliver ofte glemt

De aktuelle PHP-sårbarheder har fået stor opmærksomhed, men PHP er kun én del af den samlede installation.

Et website kan køre på en fuldt opdateret PHP-version og stadig være sårbart på grund af gamle plugins, templates, manglende sikkerhedsrettelser eller svage administratoradgange.

Derfor bør almindelig vedligeholdelse blandt andet omfatte opdatering af CMS, plugins og templates, kontrol af PHP-versionen, gennemgang af administratorrettigheder og undersøgelse af usædvanlig aktivitet i serverlogs. Det er samtidig en naturlig del af arbejdet med teknisk SEO og vedligeholdelse af websites, hvor servermiljø, kode og tekniske fejl også har betydning for websitets funktion og synlighed.

Det kan også være nyttigt at registrere mistænkelig aktivitet på websitet. Med værktøjer som Webstedslog fra Online Marketing er det blandt andet muligt at undersøge crawleraktivitet og requests, der kan være tegn på forsøg på at finde sårbare filer eller andre sikkerhedsproblemer. Registrering af mistænkelig aktivitet er dog ikke i sig selv dokumentation for, at et angreb er lykkedes.

Plugins og funktioner, der ikke længere benyttes, bør fjernes.

Det er også vigtigt at kontrollere, at opdateringerne ikke medfører fejl på websitet. Særligt ældre installationer med specialudviklet kode kan kræve ekstra opmærksomhed.

Og naturligvis bør der foreligge en brugbar sikkerhedskopi, inden man foretager større ændringer.

Har du nogensinde prøvet at gendanne dit website?

Det er måske et af de vigtigste spørgsmål, man kan stille en websiteejer.

Mange ved, at der bliver taget backup, men har aldrig undersøgt, om sikkerhedskopierne faktisk kan bruges.

En backup kan være ufuldstændig, databasen kan mangle, eller filerne kan være beskadigede.

Der kan også være problemer med PHP-versioner, serveropsætning eller andre afhængigheder, når et website skal flyttes til et nyt hostingmiljø.

Derfor bør man med mellemrum teste en gendannelse i et separat miljø.

Det giver samtidig mulighed for at kontrollere, hvor lang tid en gendannelse tager, og hvilke oplysninger der skal være til rådighed, hvis det oprindelige webhotel ikke længere kan benyttes.

Sikkerhed handler om mere end den seneste PHP-advarsel

Jeg mener fortsat, at de kritiske PHP-sårbarheder skal tages alvorligt, og at berørte installationer skal opdateres hurtigst muligt.

Men den store omtale af sikkerhedshullerne bør også bruges til at se på den generelle vedligeholdelse af vores websites.

For hvad hjælper det at have den nyeste PHP-version, hvis WordPress ikke er opdateret, eller hvis der ligger gamle plugins med kendte sikkerhedshuller?

Og hvad hjælper det at have 30 sikkerhedskopier, hvis de alle indeholder den samme skjulte bagdør?

En god backupplan handler ikke kun om at kunne genskabe et website. Den handler om at kunne genskabe et rent, sikkert og fungerende website.

Det er en væsentlig forskel, som jeg synes fortjener mindst lige så meget opmærksomhed som de aktuelle PHP-sårbarheder.

FAQ – ofte stillede spørgsmål om backup og websitesikkerhed

Er en backup nok til at beskytte mit website mod hacking?

Nej. En backup kan hjælpe med at gendanne et website, men den forhindrer ikke hackerangreb. Løbende opdateringer, adgangskontrol og sikkerhedsovervågning er stadig nødvendige.

Kan en backup indeholde virus eller skadelig kode?

Ja. Hvis websitet allerede var kompromitteret, da sikkerhedskopien blev taget, kan den indeholde skadelige PHP-filer, skjulte bagdøre eller ændringer i databasen.

Kan et hackerangreb ligge skjult i flere måneder?

Ja. En angriber kan placere en bagdør, som først bliver brugt langt senere. Derfor kan også ældre sikkerhedskopier være kompromitterede.

Bør man scanne en backup, før den gendannes?

Ja, især hvis websitet har været hacket. Backupfiler bør undersøges i et isoleret miljø med relevante malware-scannere og kontrol af filer, database og brugeradgange. En scanning kan dog ikke garantere, at alle trusler bliver opdaget.

Hvor mange sikkerhedskopier bør man gemme?

Det afhænger af websitet. En kombination af daglige, ugentlige og månedlige sikkerhedskopier kan give flere muligheder for gendannelse. Backupfiler bør opbevares adskilt fra produktionsserveren.

Er et website sikkert, hvis PHP er opdateret?

Ikke nødvendigvis. Et website kan stadig have sårbarheder i CMS-systemet, plugins, templates eller adgangskontrollen. Hele installationen skal vedligeholdes.

Hvordan ved jeg, om min backup faktisk virker?

Det undersøges bedst ved at gennemføre en testgendannelse i et separat miljø. Her kan man kontrollere, om filer og database er komplette, og om websitet fungerer korrekt efter gendannelsen.

Fakta om forfatter og virksomhed

Faglig baggrund

René Madsen har arbejdet professionelt med søgemaskiner og SEO siden 1999. Han har gennem årene arbejdet med teknisk SEO, analyse af websites, servermiljøer og vedligeholdelse af WordPress og andre PHP-baserede CMS-systemer.

Artiklen bygger på praktiske erfaringer med drift, opdateringer, sikkerhedskopiering, gendannelse og sikkerhed på websites samt teknisk dokumentation om PHP-sårbarheder.

Kort om Online Marketing

Virksomhedsnavn: Online Marketing
CVR: 18930099
Etableret: 1995
Professionel SEO siden: 1999
Officiel virksomhedsregistrering:
Datacvr

Posted in Internettet

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *