13. Övrigt

Skydda din wordpress sida

2011-01-25 06:30 #0 av: johan-ahlback

På grund av att wordpress popularitet finns det många sätt att hacka en wordpress sida. Men det finns ett par sätt som gör det svårare. Det är inga stora saker och jag brukar alltid gå igenom de här stegen när jag lägger upp en sida baserad på wordpress.

Ändra prefix för databasen


Standard för prefixet är wp_. Så bottar med avsikt att ta sig in i databasen söker oftast efter den. Därför brukar jag ändra prefixet till något annat som inte har med sidan att göra. Som golf_ eller bullartillkaffetsmakarmums_. Men jag vill även hålla reda på vilken databas som här till vad så då brukar jag behålla wp_. Som till exempel: wp_bullartillkaffetsmakarmums_. Försök att lista ut det prefixet om sidan är till ett företag som tillverkar delar till en rymdraket.

Men om du redan har en wordpress installation med prefixet wp_?

Frukta inte! Har du tillgång till phpmyadmin eller något annat sätt att komma åt databasen? Om du har det kan du köra det här skriptet som är för mysql (gör en backup av databasen innan du gör det här! Klicka på exportera och spara som sql fil!):

rename table wp_comments to xxx_comments;
rename table wp_links to xxx_links;
rename table wp_options to xxx_options;
rename table wp_postmeta to xxx_postmeta;
rename table wp_posts to xxx_posts;
rename table wp_terms to xxx_terms; 
rename table wp_term_relationships to xxx_term_relationships; 
rename table wp_term_taxonomy to xxx_term_taxonomy;
rename table wp_usermeta to xxx_usermeta; 
rename table wp_users to xxx_users;

Öppna sedan tabellen för "options" i databasen och hitta där det står prefix_user_roles (wp_user_roles om du har valt standard) och ändra det till dittnyaprefix_user_roles.

Sen öppnar du tabellen för usermeta och döper om alla fält som har den gamla prefixen.

sen ändrar du den här variabeln i wp-config.php: $table_prefix = 'mitt nya prefix';

Kolla om allt fungerar. Om det inte fungerar har du din gamla databas kvar i backupen du gjorde tidigare. (jag tar inget ansvar om du inte gjort en backup!).

En annan metod för att ändra prefixen är att spara databasen till en sql fil och ändra alla prefix där med sök och ersätt för att sedan ta bort alla gamla tabbeller ur databasen. Importera filen och allt är klart.

Ändra dina hemliga nycklar


Vilka nycklar? Vad snackar han om? Jo det är såhär:
Wordpress använder olika nycklar för att hålla sidan säker. Det betyder att wordpress använder olika metoder för att hålla sidan säker. Men från början kanske det står så här i config(kanske inte om du använt wordpress installations sida):

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');

inte så säkert kanske och de ska ändras. Jag brukar ändra med jämna mellanrum för att vara säker. Men hur kul är det att sitta och klicka in mer än 60 tecken för varje sak? De ska dessutom vara helt slumpmässiga. Surfa in på https://api.wordpress.org/secret-key/1.1/salt/ och ersätt de gamla med de där. Svårare än så behöver det inte vara.

Använd inte admin som konto.

I gamla versioner av wordpress skapades ett konto med användarnamn admin. Den ska ansolut inte användas utan när du loggar in första gången ska du skapa ett nytt superadmin konto. Logga ut och använda det nya kontot. Det gamla admin kontot ska du ändra behörighet till det lägsta (subscriber).

Stoppa hetlänkning!

Det här tipset gäller inte bara wordpress sidor utan alla som har tillgång till att använda htaccess fil. Det kanske inte har så mycket med säkerhet att göra men ändå. Klistra bara in det här i htaccess:


# HOTLINK PROTECTION
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g?|png)$ [NC]
RewriteCond %{HTTP_REFERER} !^https?://([^.]+\.)?domain\. [NC]
RewriteRule \.(gif|jpe?g?|png)$ - [F,NC,L]
</IfModule>


(tack till chris coyer och jeff starr för det tipset!)
sedan ändrar du domain till din domän. Så om jag har den på min sida som har http://www.madebyjohan.se så skriver jag in "madebyjohan" istället för domain. Nu kan ingen använda dina bilder på andra sidor genom att länka in dem. Enkelt och effektivt, precis som vi vill ha det. (kom ihåg att det betyder att du inte heller kan länka in dina bilder till andra sidor.)

Det här var bara tre enkla saker man kan göra. Det finns fler men för en vanlig sida behövs de oftast inte. Men om du känner dig lite paranoid kan du kolla in det här plugginet:
https://wpsecurity.net
registrera dig för att få en beta version.

Det var allt jag hade att säga om det här. Hoppas din sida får vara ifred från elakingar!

 

Ålder föder inte visdom. Eftertanke gör det.

Värd för Trackmania iFokus och medarbetare på Hemsidor iFokus

MadeByJohan.se

Anmäl
2011-01-30 15:54 #1 av: MichaelE

Ett annat sätt att skydda sig är att inte installera teman som inte kommer från wordpress.org, smashing magazine och woo themes. Anledningen är att många gratisteman har inkluderad php kod som är direkt skadlig för sidan och skapar ett säkerhetshål som hackare kan använda sig utav.

Anmäl

Bli medlem på iFokus

För att kunna delta i diskussionen måste du bli medlem på iFokus. Det går snabbt, enkelt, och kostar ingenting. Medlemskapet ger dig tillgång till över 300 sajter.