Beskyt din WordPress-installation

Internet securityWordPress er en meget udbredt og populær udgivelsesplatform. Desværre medfører populariteten også, at WordPress bliver et interessant emne for hackere, og man risikerer at ens side bliver angrebet. Det er derfor utrolig vigtigt, at  man beskytter sin WordPress-installation bedst muligt. Det kan dog ofte være besværligt og uoverskueligt at finde ud af, hvad der er det rigtige at gøre.

Jeg har derfor lavet en del research og sammenfattet de bedste råd til at beskytte din hjemmeside. Jeg vil ikke love, at din hjemmeside bliver 100% sikker, da det praktisk talt er en umulig opgave, men husk på at nogen beskyttelse altid er bedre end ingen. Jeg ved, at det er et omfattende indlæg, men du vil med garanti få stort udbytte af de fremhævede sikkerhedsråd, som forhåbentlig kan holde uvedkommende fra at rode med din hjemmeside.

1. Hold WordPress og plugins opdateret

En elementær del af en sikker WordPress-side er altid at have den nyeste udgave af WordPress og plugins. Når der udgives nye versioner af WordPress, er det bl.a. for at lukke eksisterende sikkerhedshuller. Til hver opdatering er der en medfølgende “Changelog”, hvor aktuelle ændringer er listet. Dermed bliver tidligere sikkerhedshuller gjort tilgængelige for offentligheden og dermed også de ondsindede personer, der herved nemmere kan anvende denne information til at angribe ældre WordPress-versioner.

2. Skift navnet på admin-kontoen

Det er hensigtsmæssigt at ændre navnet på admin-kontoen til noget andet end “Admin”. Mange bots er konfigureret netop til at gå efter brugeren “Admin”, da det er en standardværdi i WordPress. Hvis du valgte et andet  brugernavn under installationen af WordPress, skal der ikke gøres mere. Hvis du har brugeren “Admin”, kan du ændre denne konto ved at gøre følgende:

1. Log ind i WordPress’ kontrolpanel med din admin-konto.

2. Gå til menuen “Brugere” og vælg “Tilføj ny”.

3. Opret en ny admin-konto med et andet navn end “Admin”.

4. Log ud af kontrolpanelet med brugen “Admin” og log derefter ind med den nyoprettede bruger.

5. Gå til menuen “Brugere” og videre til “Alle brugere” og slet kontoen “Admin”.

6. Du får mulighed for at flytte indlæg oprettet af “Admin” til den nye konto under sletningen.

3. Benyt en stærk adgangskode

Det er utrolig vigtigt, at du anvender en stærk adgangskode bestående af både tal, tegn, store OG små bogstaver.

Du bør undgå adgangskoder bestående af: navne, firmanavne, brugernavne, ord fra ordbøger og adgangskoder , der udelukkende består af tal. Du kan anvende den indbyggede kontrol af adgangskodestyrke i WordPress til at få en idé om, hvornår din adgangskode er stærk nok.

Du kan skifte din adgangskode i WordPress’ kontrolpanel ved at gå til “Brugere” og vælge “Din profil”.

4. Tag jævnligt backup

Hvis uheldet skulle være ude, og du bliver udsat for chikane/spam på din hjemmeside, er det vigtigt at have mulighed for at gendanne et tidligere stadie af siden. Derfor bør du jævnligt tage backup. Intervallet for anbefalet backup varierer, alt efter hvor ofte der oprettes nyt indhold på din side. Plugin’et WP DB Backup er fantastisk til nemt at lave backup af din database, og det kan endda konfigureres til automatisk at lave backup og evt. sende denne til din e-mail.

Det anbefales, at du opbevarer dine backupfiler et andet sted end på webserveren, da de her kan være udsatte ved eventuelle angreb. Du bør derfor gemme filerne på et ekstern medie, fx e-mail, lokal computer eller på en cloud-tjeneste.

5. Anvend de korrekte filtilladelser

Begræns adgangen til filer og mapper ved at definere de mest optimale filtilladelser. Ifølge WordPress udgivernes egne sikkerhedsråd anbefales det, at alle mapper har filtilladelse CHMOD 755, og alle filer har filtilladelse CHMOD 644 for optimal sikkerhed.

Du kan ændre filtilladelserne via de fleste FTP klienter:

1. Log ind på din hjemmeside med din foretrukne FTP klient.

2. Højreklik på de ønskede filer og vælg “Filtilladelser” eller “File permissions” alt efter hvilket program du anvender.

3. Mapper skal have tilladelsen 755.

4. Filer skal have tilladelsen 644.

6. Beskyt filen wp-config.php

Filen wp-config.php er én af de vigtigste filer for dit system, da den indeholder information omkring adgangskoden til din database og megen andet vital information. Det er derfor utrolig vigtigt, at denne fil ikke falder i hænderne på de forkerte, da det kan have katastrofale følger for din side. Du kan beskytte din wp-config.php-fil ved at gøre følgende:

1. Flyt filen “wp-config.php” ét (og KUN ét) niveau op i forhold til din WordPress-installation. Dvs. hvis WordPress er installeret i mappen “/www/hjemmesidemappe/wordpress/”, så skal filen flyttes til stien “/www/hjemmesidemappe/”. Dermed bliver filen mindre tilgængelig for uvenkommende.

2. Opret en fil kaldet “.htaccess” i samme mappe som “wp-config.php” er placeret og tilføj følgende kode:

<files wp-config.php>
order allow, deny
deny from all
</files>

Dette forhindre adgang til filen “wp-config.php”.

3. Tilføj koden nedenfor for at beskytte filen “.htaccess”:

<files .htaccess>
order allow, deny
deny from all
</files>

4. Filtilladelserne til både “.htaccess” og “wp-config.php” bør være CHMOD 640, som vil medføre en “403 Forbidden”-fejl ved alle eksterne forespørgsler.

7. Cookie kryptering

WordPress generer cookies bl.a. for at holde styr på, hvem der er logget ind. Det er derfor vigtigt, at disse cookies bliver krypteret for at beskytte data. Hvis din WordPress-installation ikke allerede kryptere cookie-data, kan du tilføje det ved at gøre følgende:

1. Åbn filen “wp-config.php”.

2. Gå til WordPress.org secret-key service for at genere en tilfældig kode til din kryptering (refresh siden et par gange for at få en tilfældig kode).

3. I filen “wp-config.php” skal du finde:

define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');

Og erstatte denne kode med koden, der blev generet under punkt 2. Dine cookies bliver nu krypteret med en unik nøgle.

4. Du kan ændre denne kode til enhver tid for at lave en ny krypteringsnøgle. Det eneste der sker er at brugere, som er logget ind, bliver nødt til at logge ind på ny.

8. Sikkert database prefix

Som standard er “wp_” defineret som database prefix. Diverse bots og angreb er derfor ofte målrettet dette. For at sikre tabellerne i databasen, er det en god idé at ændre dette standard prefix til noget andet – det skal gerne defineres som noget unikt, lidt ligesom en adgangskode. Du kan definere et valgfrit database prefix under installationen, men hvis du har en konfiguration af WordPress, som allerede bruger “wp_”, kan du ændre det på følgende måde:

1. Åbn filen “wp-config.php”.

2. Ret værdien i linjen $table_prefix  = 'wp_'; til et nyt vilkårligt prefix fx $table_prefix  = 'z5gnd57s_'; – det er helt op til dig, hvad du vælger. Det anbefales dog, at afslutte med “_” for at gøre administration af tabeller mere overskuelige.

3. Ret tabellerne i din database, som brugte dit gamle prefix, til det nye prefix. Dette gøres via dit MySQL administrationsværktøj fx PHPMyAdmin.

9. Sikring af wp-includes

Du kan sikre wp-includes ved at anvende mod_rewrite i .htaccess-filen. Du skal tilføje følgende kode i toppen af .htaccess-filen, der er placeret i rodmappe af din wordpress-installation (før linjen # BEGIN WordPress).

# Block the include-only files.
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]

10. Undgå indeksering

Undgå at dine “wp-” mapper bliver indekseret (directory browsing). Det bliver sværere for uvedkommende at tilgå dine filer og mapper og derved “opdage” hvilke smuthuller, der evt. kunne være i din installation. Du skal tilføje nedenstående kode til filen .htaccess, der er placeret i rodmappen af din WordPress-installation:

Options All -Indexes

11. Beskyttelse med robots.txt

Undgå at søgemaskiner indekserer dine “wp-” mapper. I rodmappen af din WordPress-installation skal du oprette filen “robots.txt” og tilføje følgende kode:

Disallow: /wp-*

12. Beskyt mappen wp-admin

Det er forholdsvist nemt at øge sikkerheden på din wp-admin mappe. Ved at beskytte mappen wp-admin med HTPASSWD kan du beskytte din mappe wp-admin imod uvedkommende. Enhver, der forsøger at tilgå mappen, vil blive bedt om et login. Der bliver altså tilføjet et ekstra lag af sikkerhed. For at tilføje denne ekstra sikkerhed, skal der oprettes to filer – “.htpasswd” og “.htaccess”.

Filen .htpasswd indeholder brugernavne og krypterede adgangskoder, og filen .htaccess angiver, at der skal bruges et login til noget bestemt indhold.

.htpasswd

1. Lav en fil kaldet “.htpasswd”

2. Anvend dette værktøj til at generere indholdet til filen “.htpasswd”. Du skal indtaste dit ønskede brugernavn  og adgangskode.

Værktøj vil generere noget i stil med:

Navn1:$apr1$jO.hv36e$fpoTxeKwR2DPBUHPsWQjg/

Navn2:$apr1$K0Ta0bu6$r9VXB9uTiAu0LDKaRYq210

3. Kopier nu det genererede indhold ind i .htpasswd-filen.

4. Upload .htpasswd-filen til rodmappen af dit webhotel. Filtilladelserne for filen bør være CHMOD 640.

Nu vil der være et ekstra lag af sikkerhed, inden man kommer til selve login i WordPress. Herved er man yderligere beskyttet.

.htaccess

1. Lav en fil kaldet “.htaccess”.

2. Kopier nedenstående kode ind i .htaccess-filen og tilpas den til dine oplysninger:

AuthType Basic
AuthName "Loginbesked"
AuthUserFile /den/absolutte/sti/til/.htpasswd
Require user Brugernavn

Hvis vi vil lave et login med beskeden Login, den absolutte sti til filen .htpasswd er /var/www/.htpasswd og brugernavnet er Navn1, vil koden komme til at se ud som nedenstående:

AuthType Basic
AuthName "Login"
AuthUserFile /var/www/.htpasswd
Require user Navn1

3. Upload .htaccess-filen til mappen “wp-admin” i din WordPress-installation. Filtilladelserne for filen bør være CHMOD 640.

Hver gang nogen forsøger at tilgå WordPress’ kontrolpanel/wp-admin, vil der blive bedt om en yderligere autentifikation.

 

13. Slet inaktive plugins

Plugins kan desværre gøre din WordPress-installation usikker. Derfor er det vigtigt, at du sletter inaktive plugins for at mindske denne sikkerhedsrisiko. Jo flere plugins der er installeret, des større er risikoen for, at du har et plugin, der indeholder sikkerhedshuller. Det er derfor vigtigt, at du kun installerer plugins, som du har tillid til. Som hovedregel er det godt at gå efter plugins med mange downloads og positiv feedback. Det anbefales desuden, at du så vidt muligt kun installerer plugins fra den officielle WordPress-side eller via dit kontrolpanel.

14. AntiVirus – [Plugin]

AntiVirus scanner dine templatefiler for malware og spam. Desuden kan plugin’et konfigureres til automatisk at scanne dine templatefiler hver dag og sende dig en rapport.

Du kan downloade AntiVirus her.

15. Bad behavior – [Plugin]

Bad behavior forsøger at blokere spam-meddelelser og de robotter, der anvendes til at generere spam.

Du kan downloade Bad behavior her.

16. Exploit Scanner – [Plugin]

Exploit Scanner er et plugin, der kan bruges til at scanne filerne i din WordPress-installation og kommentar- og indlægstabellerne i databasen for suspekt indhold. Det er herefter op til brugeren at tage stilling til, om filerne skal fjernes eller redigeres.

Du kan downloade Exploit Scanner her.

17. Limit Login Attempts – [Plugin]

Limit Login Attempts er et super godt og brugervenligt plugin, der kan anvendes til at begrænse uberettiget loginadgang. Hvis en bruger forsøger at logge ind med forkerte oplysninger, vil brugeren blive låst efter et defineret antal forsøg. Det er endda muligt for administratoren at blive orienteret omkring dette “lockout” via e-mail.

Du kan downloade Limit Login Attempts her.

18. Secure WordPress – [Plugin]

Secure WordPress er endnu et plugin, der kan være med til at sikre din WordPress-installation bedre. Der er mulighed for en række indstillinger, så som: Fjerne WordPress versionnummer, skjule tilgængelige opdateringer for “ikke-admins”, oprette en index.php fil i mappen “/plugin/” og mere til.

Du kan downloade Secure WordPress her.

19. WP-DB-Backup – [Plugin]

WP-DB-Backup er et værktøj til nemt at tage backup af din database. Det er et utroligt simpelt og overskueligt plugin. Det er en vigtig faktor, da det derfor bliver nemt for alle at tage backup af sin database. En rigtig god funktion er, at det er muligt at lave automatisk backup, fx hver time, dagligt eller engang om ugen, alt efter hvor ofte ens hjemmeside opdateres. Det er endda muligt at få tilsendt den automatiske backup til en brugerdefineret e-mailadresse.

Du kan downloade WP-DB-Backup her.

20. WP Security Scan – [Plugin]

WP Security Scan er et plugin, der kan give et overblik over nogle af de sikkerhedshuller, der måtte være i din WordPress-installation. Hvis der opdages sikkerhedshuller, giver WP Security Scan også råd om, hvad man bør gøre for at rette op på dette.

Du kan downloade WP Security Scan her.

Da mange hackere og robotter er ude efter “lette” ofre, kan selv små sikkerhedstiltag være nok til, at de ikke gider bruge tid på at skaffe sig adgang til din side. Det kan være svært, for ikke at sige umuligt, at beskytte sin hjemmeside 100%, men det er vigtigt at huske, at nogen beskyttelse er bedre end ingen.

Nøgleord: , .Bogmærk Permalink.

Et svar til Beskyt din WordPress-installation

Skriv et svar

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