Hacket!

En af vores WordPress-installationer blev hacket tidligere på ugen, så vi måtte bruge en dags tid på at finde ud af hvad der var sket og sikre mod gentagelser (vi har heldigvis god backup, så selve det at rulle tilbage til en ikke-hacket version af siden var det mindste problem).

Det viste sig at der var gået to ting galt:

  • Hackeren havde skaffet sig adgang til filsystemet på en anden konto på serveren (ikke en af vores)
  • wp-config.php i vores WordPress installation var ved et uheld blevet efterladt med world "read" tilladelse

Banditten havde så udnyttet en svaghed i Linux / Apache til at læse indholdet af wp-config.php. Dette gav ham adgang til WordPress' MySQL database, hvorfra han var i stand til at ændre et password og derefter logge ind som WordPress admin. Og så kan man jo gøre hvad som helst - næsten.

Teknikken der blev brugt til at trænge ind var et "symlink bypass". At dømme efter de YouTube videoer man kan finde rundt omkring der illustrerer teknikken, er det simpelt at gennemføre når først man har skaffet sig adgang til en konto på serveren (hvilket også er let nok, adgangsbilletten til en shared webhost er jo bare et kreditkort). Det er ikke just noget der kræver "mad skillz" at udføre, man skal blot have tålmodighed til at se et par videoer, downloade det rigtige værktøj og så gå i gang med at lede efter svagheder.

Umiddelbart er det også let at beskytte sig mod denne type angreb, man skal bare huske at sætte de rigtige tilladelser på filer og mapper (FileZilla kan bruges hvis man ikke har kommando-linje adgang). Man bør sætte mapper til 755, filer til 644, og wp-config.php til 400 eller 440 (640 kan også være OK, tjek evt. med hostingfirmaet hvad de anbefaler).

Til gengæld illustrerer det også nogle af svaghederne ved at dele en webhost med andre når man kan komme i en situation hvor rettigheder på filniveau bliver afgørende for sikkerheden. Hvis der kun er ét niveau af sikkerhed mellem en hacker og en website, så er det formodentlg kun et spørgsmål om tid og tilfældigheder inden det sker igen. Så hvis man kører på delt hosting, sådan som de fleste mindre websites gør, så er det helt afgørende at man har et effektivt backupsystem på plads.