
Grundinstallationen av WordPress är inte så säker som den skulle kunna vara. Detta är en guide för dig som vill ha bättre säkerhet för din installation av WordPress.
Detta är en renskriven artikel av blogginlägget 11 punkter för att säkra din WordPress-installation. Jag kommer hålla den här sidan uppdaterad med fler tips samt hålla den up-to-date med varje ny WordPress version.
Innan installation
Glöm inte bort att ange en hemlig nyckel
Det finns 4 rader i din wp-config.php som du inte bör ignorera innan du installerar. Det är bara att göra vad WordPress ber dig att göra och ange 4 unika fraser. De visar även en länk till en sida som automatiskt genererar dessa nycklar åt dig.

Säkra databasen
Det är tre grundläggande saker du bör tänka på när du skapar databasen för wordpress:
- WordPress använder bara ett fåtal tabeller men det är ändå bra att ge den en helt egen databas i stället för att låta den dela utrymme med andra. Detta för att enklare kunna ha koll på säkerheten.
- Skapa en användare till den nya databasen med begränsade rättigheter. Det enda som denna använder ska få göra är följande: (select, insert, delete, update, create, drop och alter).
- Välj ett starkt lösenord. Gärna långt och komplicerat då du inte kommer att behöva att komma ihåg det.
För många av oss så kan vi göra detta ganska enkelt via vårt webbhotells kontrollpanel. Men för MySQL-kunniga så kan du även använda följande databas-queries:
$ mysql -u root -p mysql> create database 'myblog'; mysql> grant select, insert, delete, update, create, drop, alter on myblog.* to 'bloguser'@'localhost' identified by 'mypassword'; mysql> flush privileges; mysql> exit;
Om du använder phpMyAdmin för att hantera dina database så är det lite enklare och det gäller bara att kryssa i rätt kryssrutor när du skapar användaren.

Konfigurering
Byt namn på administratörskontot
Vid en standardinstallation utav WordPress så heter administratörskontots login ”admin” och i 99% av fallen så ändras inte detta. Du bör döpa om administratörskontot från ”admin” till något som är svårare att lista ut. Att ändra användarnamnet till t.ex. ”Guybrush” gör det mycket svårare för brute-force attacker då de även måste gissa sig fram till ditt användarnamn.
För att byta namn på ”admin” så måste du in i databasen igen och ändra. Följande databas-query ändrar namn på användare ”admin”.
UPDATE wp_users SET user_login='Guybrush' WHERE user_login = 'admin';
Skapa en ny begränsad användare
Innan vi börjar här så bör du ta och installera Role Manager. Denna plugin låter dig sätta rättigheter för enskilda användare samt skapa nya grupper av användare och även redigera rättigheterna på de grupper som levereras med WordPress.
Jag rekommenderar att du skapar en ny användare åt dig själv där du endast ger dig de rättigheterna som du behöver för att blogga. Se dock till att ditt administratörskonto är kvar och det har rättigheter att göra allt det andra som att redigera teman, installera plugins och ändra inställningar.
Här kan du se ett exempel på en ny grupp som jag kallar för ”Bloggare” där jag har kryssat i de rättigheter som jag tycker att jag behöver för dagligt bloggande.
Använd SSL-kryptering för inloggning
För er som har SSL tillgängligt för er domän (Prata med ert webhotell för att få koppla på detta. Vissa tar extra betalt för denna tjänsten då det inte är jättevanligt) kan använda er av detta som extra säkerhet för inloggningen till administratörsgränssnittet.
Kopiera följande rad och lägg till i din wp-config.php.
define('FORCE_SSL_ADMIN', true);
Ta bort versions-informationen
Ett sätt att försvåra för ovälkomna gäster är att ta bort all information om vilken version av wordpress du kör. Då den informationen syns bland både meta-taggar och rss-flöden är det enda sättet (som jag känner till) att helt och hållet ta bort den funktion som spottar ut versionsinformationen. Lägg till följande kod i din functions.php så ser den till att det försvinner.
<?php remove_action('wp_head', 'wp_generator'); ?>
Stäng av möjligheten att låta besökare registrera sig
Grundinställnignarna i WordPress tillåter inte att besökare registrerar ett gäst-konto. Då det kanske finns fördelar med detta om du bygger ett community så är det bäst att låta detta vara avstängt om du kan, eftersom detta ibland utnyttjas av hackers. (Kryphålet är fixat i senaste senaste versionen av WordPress.)
För att kolla om du har det avstängt, logga in till administratörsgränssnittet och klicka på ”settings” och försäkra dig om att ”anyone can register” inte är ikryssat.
Filer och mappar
Begränsa åtkomsten av filer i ”wp-content”
I mappen wp-content så ligger alla teman, plugins och uppladdade filer. Då WordPress inte anropar de php-filer i denna mapp via HTTP så kan vi begränsa åtkomsten till endast vissa filer genom att lägga följande i vår .htaccess i mappen wp-content.
Order Allow,Deny Deny from all <FilesMatch "\.(jpg|gif|png|js|css|pdf|zip)$"> Allow from all </FilesMatch>
Låt inte Google indexera allt
Du kan blockera sökmotorer från att indexera de mappar som inte är väsentliga. Detta inkluderar alla mappar som börjar på ”wp-”. Enklaste sättet att göra detta är att lägga till dem i din robots.txt.
Disallow: /wp-*
Ingen ska få se innehållet i dina mappar
För att förhindra folk från att se vad du har liggande i dina mappar kan du antingen lägga en tom index.html i varje mapp eller lägga till följande i din .htaccess. Det hindrar webbservern från att automatiskt lista innehållet.
Options All -Indexes
Skydda åtkomsten av wp-config.php
En risk som finns är att om PHP-motorn slås ut eller stängs av så kan det resultera i att alla dina php-filer blir läsbara för vem som helst. De kan då lätt knycka uppgifter från din wp-config.php. För att skydda sig mot detta så kan du spärra alla från att läsa den filen genom att lägga till följande i din .htaccess.
<files wp-config.php> order allow,deny deny from all </files>
Lär dig sätta rätt rättigheter på filer och mappar
Alla ”folder permissions” ska vara 755. Filer ska har 644. Filer som du vill redigera i WordPress Theme editor ska ha 666. Använd aldrig 777 för din WordPress-installation. Då låter du alla användare på servern göra vad de vill med dessa filer & mappar. Har du delad hosting (som de flesta billigare webhotellen kör med) så kan detta innebära problem.
Anslutning till WordPress
Använd SSH/SFTP/SCP i stället för FTP
Kommunikationen som sker via FTP-protokollet är helt okrypterad så undvik detta om det är möjligt. Kommer någon över dina FTP-uppgifter så får de total kontroll över din blogg. Använd istället krypterade alternativ som SSH, SFTP eller SCP för att ladda upp till din server.
Kör du på ett billigt webbhotell så är det inte alltid alternativet finns men alla proffsiga lösningar har detta. Ännu bättre skydd är att helt blockera trafik från externa IP-adresser och endast tillåta att man ansluter lokalt. Då kräver det att det finns möjlighet att ansluta via VPN om man vill komma åt servern från annan plats.
Plugins för att öka säkerheten
AskApache Password Protect
En del hackers använder sig av ”brute-force”-metoden som helt enkelt gissar admin-lösenord tills den gissar rätt. För att försvåra detta så kan du lägga på ett ytterligare lager med lösenord.
AskApache Password Protect gör detta genom att sätta lösenord på precis allting i mappen wp-admin.
WP-MalWatch

WP-MalWatch är en säkerhetsplugin för WordPress söker efter filer och kod som inte här hemma.
När en blogg blir infiltrerad så kan de plantera php-filer och .htaccess filer i diverse mappar, infoga strängar i kodbasen av WordPress och smutsa ner ditt tema med länkar till deras webbplatser.
WP-MalWatch söker igenom din WordPressinstallation varje natt och letar efter dessa typer av malware och intrång och rapporterar i din dashboard allt det den hittar.
Antivirus
Liksom WP-MalWatch så är AntiVirus en plugin som söker igenom din blogg efter kod som inte hör hemma och filer som inte borde finnas.
WordPress File Monitor
WordPress File Monitor övervakar din wordpressinstallation och har koll på nya, ändrade och raderade filer. När en ändring uppmärksammas så skickas ett epostmeddelande till administratören eller annan vald adress.
User Locker
Standardinstallationen av WordPress är sårbar för brute-force och ordlistattacker, eftersom det inte finns någon gräns för hur många gånger en användare kan ge fel lösenord innan hon anger rätt. User Locker stänger denna luckan genom att introducera ett max antal inloggningsförsök.
Generella tips
Håll din blogg uppdaterad
Det absolut enklaste och bland det viktigaste är att hålla din blogg uppdaterad. Se till att du alltid använder den senaste versionen av WordPress och se till att dina plugins är uppdaterade. Kör du på en gammal version av WordPress så löper du ofta mycket högre risk att bli utsatt för attacker då de bakdörrar som finns är välkända och dokumenterade.
Använd långa och komplicerade lösenord
Att hålla sig till enkla lösenord som namn på familjemedlemmar eller dvärgarna i Snövit är kanske lätt att komma ihåg men inte så bra då de kan vara lätta att lista ut. Använd i stället långa och komplicerade lösenord som t.ex. ”@g0r4f0b1!eku|”. De är bra men dock väldigt svåra att komma ihåg.
Själv använder jag applikationen 1Password som även har en plugin till Firefox som håller reda på alla långa komplicerade lösenord åt mig. Finns nu även som app för din Iphone.
Ta backup regelbundet
Oavsett hur bra säkerhet du har så bör du alltid ta backup. Det finns inget värre än att förlora 2 års bloggposter bara för att man inte brytt sig om eller glömt av att ta backup.
WP-DB-Backup är en bra plugin till WordPress som låter dig ta backup på din databas på ett enkelt och smidigt sätt.
Ständigt under uppdatering
Jag uppdaterar denna lista regelbundet när jag upptäcker nya säkerhetstips så se till att spara undan den bland favoriterna.




Ditt tips hur man sätter om användarnamnet på admin-kontot är (förutom felstavningen på wp_users) direkt förödande på installationer med fler användarkonton eftersom det sätter om användarnamnet till Guybrush för samtliga användare.
UPDATE wp_users SET user_login='Guybrush' WHERE user_login = 'admin';
är det korrekta sättet.
Filrättigheter är ett svårt ämne och är i fallet wordpress beroende av vilken användare apachen kör som och hur ägarskapet är satt.
Man bör sätta ägare på filer och directoryn till sin egen user och group ownership till apache-gruppen och därefter 770 på directoryn och 660 på filer. Finns ingen anledning att ha några rättigheter för 'others' (sista siffran av de tre). Man kan tighta till ytterligare med 750 resp 640 på kataloger och filer som inte ska uppdateras via funktioner i WordPress admingränssnitt.
Att sätta 666 på filer innebär att vem som helst som loggar in på servern kan redigera filerna. Säger man ”använd aldrig 777″ ska man inte heller tipsa om att sätta 666 på filer.
Annars många bra tips! Ska installera flera av de pluginer du tipsar om.
Mvh Johan
Tack för dina rättningar, input och uppmuntran!
Jag ska uppdatera posten och rätta felen snarast! Under tiden så håller din kommentar ställningarna