10 säkerhetshack för WordPress för att hindra dig från att bli hackad

11

WordPress är en enorm framgångssaga, inte bara när det gäller globala siffror, utan också, vad som kan förvåna vissa, när det gäller stora namn som använder plattformen.

På Internet när du har både en betydande installerad användarbas och högprofilerade användare kan du helt enkelt inte undvika att bli ett mål för hackare och spammare. Från att handla piller, till att främja skeva ideologier, till att stjäla data och bryta sajter bara för att de kan, att bli hackad kan lätt vara en stor huvudvärk för ditt företag.

I den här artikeln ska jag ta en titt på några av de tips, tricks och hacks som du kan använda för att ge dig själv mer skydd mot webbens förslappade underliv.

Ta tag i grunderna

Även om du kanske tycker att vissa av dessa element borde vara självklara, tänk bara på hur många gånger du har sett inte bara kunder utan andra utvecklare, designers och byråer som borde veta bättre göra sig skyldiga till några av dessa?

Börja med att göra dina lösenord svåra att gissa. Hur kan du göra det svårt för dem men lätt för dig? Kanske kan du glömma tvivelaktiga bokstavsersättningar som ‘h3ll0’, blanda kasus och slänga in skiljetecken och istället använda en minnesbok. Genom att länka samman tre eller fyra ord för att skapa en rolig bild blir ditt lösenord mycket lättare att komma ihåg än ‘t3r%?9.Fq!G’ och storleksordningar svårare att knäcka. Använd bara inte ‘CorrectHorseBatteryStaple’. För en fullständig och rolig förklaring av denna princip kolla in XKCD 936.

Du bör också hålla dina plugins och WordPress-kärna uppdaterade. Detta är nu lättare att göra med senare versioner av WordPress. Från WordPress 3.7 kan du konfigurera fyra typer av automatiska uppdateringar: kärnfiler, plugins, teman och översättningsfiler. Ett varningens ord – beroende på din inställning kanske du vill inaktivera några av dessa så att du kan testa innan du distribuerar uppdateringar. Även om du lämnar dem live och upplever problem har du fortfarande dagliga säkerhetskopior att lita på, eller hur?

Gör det lättare att hantera flera webbplatser, plugins och säkerhetskopior med något som InfiniteWP. De grundläggande funktionerna är gratis!

Det här är inte inloggningsuppgifterna du letar efter

Förutom överlägsen lösenordsstyrka bör du också titta på att flytta din standardadmin-URL och använda något annat än "admin" för ditt användarnamn. Om inte hackarna har ett specifikt mål i åtanke kommer de vanligtvis att försöka köra bots för att automatisera processen. Dessa bots letar efter WordPress, prova standardinställningarna och de vanligaste lösenorden – så låt oss gå bort från standardinställningarna för att göra den här uppgiften svårare.

Det kanske enklaste sättet att ändra din inloggningsadress är att ta en titt på plugins som HC Custom WP-Admin URL. Självklart – kör en säkerhetskopia först!

För att ändra ditt adminanvändarnamn är det enklaste sättet att skapa en ny adminanvändare med ditt valda användarnamn och ta bort det gamla. Om du är utelåst från din admin för att du inte kommer ihåg ditt användarnamn kommer du att behöva en lite mer drastisk lösning. Logga in på phpMyAdmin och ladda upp din WordPress-databas. Scrolla ner till vänster och leta efter tabellen ‘ks29so_users’. Hitta användarnamnet du ville ändra, dvs ‘admin’ och redigera user_login-värdet så att det blir ditt nya namn.

Ett sista ord om inloggningsprocessen

Innan vi går bort från inloggningsprocessen finns det ytterligare ett par uppgifter att ta itu med. Kommer du ihåg de botarna som gissar lösenord? Låt oss göra det svårare för dem genom att säga att du bara kan göra så många försök inom en viss tidsram och att innan du gör det måste du korrekt transkribera en CAPTCHA. För Captcha kan du prova att installera detta plugin och så är du iväg. Sidofördelar – premiumversionen integreras med BuddyPress och Contact Form 7 för att skydda dina kontaktformulär från skräppost.

För att begränsa inloggningsförsök kan du antingen lägga till plugins som Limit Login Attempts eller så kan du fråga din värdleverantör som kan ha en lösning – Wpengine har till exempel detta konfigurerat som standard.

Säkra WordPress med ändringar av .htaccess

Jag hoppas att du är redo att bli lite smutsig när vi går vidare till förslag som är lite svårare än att "installera ett plugin"! Lägg till dessa förslag efter #END WORDPRESS-raden.

Det första elementet att lägga till kommer att hjälpa till att skydda wp-config.php, den här filen skulle vara farlig i fel händer eftersom den innehåller viktig information om din webbplats och dess databas.

<Files wp-config.php>
orderallow,deny
deny from all
</Files>

Det är en bra början, vad mer kan vi göra? Tja, vi kan blockera nyfikna folk från att titta runt dina filer och mappar – jag tror att fördelarna med detta är ganska självförklarande!

Följande är en overall för att blockera katalogbläddring:

# directory browsing
Options All -Indexes

Om du vill blockera en fil specifikt, använd följande:

<Files "private.php">
Order allow,deny
Deny from all
</Files>

Nu börjar vi göra framsteg – tar bort åtkomst från de som inte behöver det. För att ta detta till sin logiska slutsats, låt oss titta på hur vi kan förbjuda någon vi vet är en dålig skådespelare från att komma åt vad som helst på din server.

När du väl känner till IP-adressen lägger du bara till dessa rader och ersätter 127.0.0.1 med den dåliga IP-adressen:

Order Deny,Allow
Deny from 127.0.0.1

För att uppdatera detta med nya IP-adresser lägg helt enkelt till nya "neka från"-rader. Om du behöver blockera ett helt sortiment är det bara att lämna intervallet i fråga. Med andra ord, för att blockera allt från 127.0.0.0 till 127.0.0.255 skulle du lägga till:

Deny from 127.0.0.

Det sista tipset i det här avsnittet är att skydda själva .htaccess. Det finns en hel del webbplatser som cirkulerar metoder som är bra, men inte bra. Följande metod kommer med tillstånd av Jeff Starr på Perishable Press och är mycket mer grundlig:

# STRONG HTACCESS PROTECTION
<Files ~ "^.*.([Hh][Tt][Aa])">
 order allow,deny
 deny from all
 satisfy all
</Files>
Databasförbättringar

En annan fördel med WordPress för hackare är att de i en standardinstallation vet vad dina databastabeller heter. WordPress använder prefixet ‘ks29so_’ som standard, genom att ändra detta går vi återigen bort från hackarnas antaganden.

Först berättar vi för wp-config.php att vi ändrar tabellprefixet. Öppna den filen och redigera följande:

$table_prefix = 'ks29so_';

Lägg till några siffror eller bokstäver:

$table_prefix = ‘ks29so_3drt5_’;

Du måste sedan gå igenom och ändra vart och ett av tabellnamnen i din databas. För var och en av dina 11 tabeller kör ett kommando i följande form:

RENAME TABLE ‘ks29so_commentmeta‘ TO ‘ks29so_3drt5_commentmeta‘;

Det kommer förmodligen att finnas några andra referenser till det gamla prefixet du behöver rensa bort. Kör den här frågan för att lista allt från alternativtabellen med det gamla prefixet:

SELECT * FROM ` ks29so_3drt5_options` WHERE `option_name` LIKE'%ks29so_%'

Tyvärr måste du gå igenom var och en och uppdatera.

Sedan måste vi titta på UserMeta-tabellen, samma process som tidigare:

SELECT * FROM ` ks29so_3drt5_usermeta` WHERE `meta_key` LIKE'%ks29so_%'

Slutligen kan du också begränsa din MySQL-databasanvändare till att endast ha följande läs- och skrivbehörigheter: SELECT, INSERT, UPDATE och DELETE. Således kan du återkalla privilegier för databasstruktur och admin: DROP, ALTER och GRANT. Detta kan dock göra det svårt att uppdatera kärnan och lägga till nya plugins eftersom de verkligen kan behöva ändra databasstrukturen. Om du går den här vägen måste du vara noggrann med dina säkerhetskopior och tester.

Nya nycklar tack

Dina hemliga nycklar lagras i wp-config.php. De är dock inte så hemliga om du lämnar dem som standardvärden! Förbättra din säkerhet genom att ändra dessa – jag rekommenderar dock att du inte litar på din egen känsla av slumpmässighet och komplexitet. Använd något som den här tjänsten – detta definierar inte bara nycklar för dig, utan det gör dem alla på en gång i rätt format så att du kan klistra in den direkt i din fil. Att trycka på Uppdatera visar att du får en ny uppsättning nycklar varje gång du laddar upp detta.

Ursprunglig receptkälla

Plugins är en tillräckligt stor attackvektor när exploateringar upptäcks och distribueras bland hackare, så du bör åtminstone se till att du litar på källan till plugin-programmet. Annars kan du vara den som placerar exploateringen på din egen webbplats genom att lägga till ett tvivelaktigt plugin som innehåller skadlig programvara.

Vårstädning

Eftersom teman och plugins är en potentiell sårbarhet håller vi dem uppdaterade när vi kan. Om du har slutat använda ett plugin/tema, radera det helt. Att inaktivera är inte tillräckligt bra – bara bli av med det! Om ett plugin har övergetts av sin utvecklare skulle det också vara en bra idé att hitta något nytt och ta bort det gamla – om en säkerhetsrisk upptäcks kommer den inte att korrigeras och att få en anpassad korrigering gjord kommer sannolikt att bli mycket dyrt.

På samma sätt radera alla inloggningar du inte längre behöver. Du kanske litar på dina före detta anställda, och det är bra, men det här handlar inte helt om förtroende. Det handlar också om att minska det tillgängliga attackområdet där du kan, begränsa människor till den lägsta nivå av åtkomst de behöver. Vanligtvis behöver en före detta anställd eller författare ingen åtkomst – jag är säker på att de kommer att förstå!

Entrépolicy gäller – Tillåt endast ATrusted Admin IP

Jag har separerat detta från de andra .htaccess-tipsen eftersom detta potentiellt är ett lite mer allvarligt steg att överväga. Till skillnad från det tidigare steget att förbjuda kända dåliga IP-adresser, handlar det här om att endast tillåta kända bra. Det förbättrar din säkerhet men till en kostnad för din bekvämlighet eftersom du kommer att vara begränsad till var du kan logga in för att arbeta på din webbplats. Gå vidare med det om du inte kommer att röra dig mycket, om du har varit utsatt för konsekventa attackförsök eller helt enkelt om du tycker att det är värt den där extra sinnesfriden.

orderdeny,allow
allow from 127.0.0.1
deny from all

(igen, ersätt 127.0.0.1 med din IP).

SSL

Du bör inte komma åt din administratör på en offentlig Wi-Fi-tjänst – om du gör det skickas inloggningsuppgifterna genom luften i vanlig text. Den ondskefulla hackaren kan sitta bredvid dig, smutta på en latte och i hemlighet göra en man i mittenattacken för att få dina lösenord och andra känsliga detaljer.

Men om du måste kan du åtminstone erbjuda dig själv lite mer skydd genom att aktivera SSL. Se först till att din server stöder det, öppna sedan filen wp-config.php och lägg till följande rad:

define('FORCE_SSL_ADMIN', true);
Andra saker att titta på

Det är det för mina huvudsakliga tips men det finns andra aspekter att titta på. Du kan förstärka din .htaccess ytterligare, till exempel genom att stoppa php-skript som körs där de inte borde vara. Du kan också se till att dina filbehörigheter är korrekt inställda – inte bara i dina WordPress-filer utan på hela servern.

Mitt sista viktiga tips är dock att backa. Hela den här artikeln är baserad på tanken att förebyggande är bättre än att bota, men regelbundna, användbara, testade säkerhetskopior bör finnas där bara om du behöver dem. Låt mig betona både regelbunden och testad – en säkerhetskopia från ett år sedan är i princip ingen säkerhetskopia för de flesta webbplatser som kommer att ha vuxit kraftigt under den tiden. Om säkerhetskopiorna inte testas har du ingen säkerhetskopia. Du vill seriöst inte komma till den punkt där en backup behövs och måste bara hålla tummarna och hoppas att det fungerar!

Vad har du gjort för att säkra din WordPress-webbplats? Var drar du gränsen mellan säkerhet och tillgänglighet/användbarhet? Låt mig veta i kommentarerna.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More