Mammals / Ola Anderson

Detta är bloggen för min enskilda firma Mammals. Den innehåller sådant jag är intresserad av eller vill berätta om.
Teckensnitts storlek: +

Hur man ökar säkerheten i en Joomlasite genom att gömma administrator-mappen

halo 250x140

I och med att Joomla! är ett så stort och vanligt CMS så finns det massor med människor som försöker bryta sig in i din Joomla-site. För att göra det svårare så kan man, förutom att ha riktigt bra användarnamn och lösenord, även göra några saker till. I denna artikel visar jag hur man gömmer mappen Administrator för crackers och hackers och sätter upp en bakdörr till administrator-mappen för användare som skall ha tillgång till den.

I en tidigare artikel tipsade jag även om att defaultanvändaren (den med ID=62 som brukar heta admin) INTE skall vara en Super Administrator i Joomla-siten, utan en helt vanlig sådan. 

Tips: Stäng av "första" admin-kontot i Joomla! (Super Admin med ID=62)

Hur du gömmer /administrator för crackers och hackers

Här är vad vi vill skall ske, den besökare som går till mappen /administrator direkt skall möta detta:

forbidden

Användare som skall ha tillgång till den mappen, besöker istället en annan (hemlig) mapp och blir knuffade till /administrator automatiskt. Det gör det betydligt svårare för crackers då de inte kan gissa lösenord på inloggningssidan om och om igen för de får inte fram den. Byter man namnet på den bakdörren då och då blir det ännu säkrare.

Tyvärr är Joomla! så byggt att mappen /administrator måste heta just administrator, alltså kan du inte helt sonika döpa om den. Gör du det kommer din site att helt sluta fungera och bli helt vit.

Men om du har Apache som webserverprogramvara som har stöd för sk htaccess-filer (svenska, engelska), så kan du:

  • Lägga upp en .htaccess-fil som vägrar släppa in personer som försöker besöka mappen direkt. Den kastar alltså ut personer som inte har en kaka satt i webbläsaren.
  • Skapa en ny mapp, en bakdörr, som innehåller en php-fil som sätter rätt kaka och knuffar dig vidare till /administrator/, där du släpps in och kan logga in precis som vanligt.

För att det hela skall fungera så måste då .htaccess vara på på webbservern, vilket det i den webbserverogramvara jag har Mac OS X Server, alltså inte är. Men det är inte så svårt att fixa.

Om du har ett webhotell så brukar htaccess vara på, kolla på dina supportsidor eller fråga supporten om de kan sätta på.

1. Skapa en HTaccess-fil

htaccess

Du kan med ditt vanliga FTP-program skapa en ny fil inuti mappen /administrator. 

Döp den filen till .htaccess (det är alltså en punkt först i filnamnet).

Filens innehåll skall vara följande (eller läggas till i slutet på en existerande htaccessfil):

# Ett trick for att styra om crackers.
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/administrator
RewriteCond %{HTTP_COOKIE} !JoomlaAdminSession=tandkram-och-apelsinjuice-ar-inte-gott-tillsammans
RewriteRule .* - [L,F]

Notera att frasen: "tandkram-och-apelsinjuice-ar-inte-gott-tillsammans" är alltså kakans namn, och det är den frasen som skall finnas både i htaccessfilen och index.php-filen (se nedan).

2. Skapa en "hemlig" mapp 

Detta är din bakdörr och den mapp du som känner till det vet att du skall besöka för att administrera din Joomlasite. Denna mapp kan heta precis vadsomhelst som är ledigt och svårt att gissa. I detta exempel döper jag den till supersecretbackdoortoadministrator.

3. Skapa en phpfil i den mappen

Med ditt FTP-program kan du skapa en ny fil inuti din hemliga mapp "supersecretbackdoortoadministrator" som du döper till index.php.

Den filen skall innehålla följande, notera att frasen som är kakans namn som kontrolleras i htaccess-filen ovan, alltså sätts häri (mellan citattecknen).

?php 
$admin_cookie_code="tandkram-och-apelsinjuice-ar-inte-gott-tillsammans";
setcookie("JoomlaAdminSession",$admin_cookie_code,0,"/");
header("Location: /administrator/index.php");
?>

4. Sätt på htaccess, så att webbservern faktiskt läser de filerna

I Mac OS X Server som jag kör är htaccess alltså avstängt som default. Det är dock lätt att med Server Admin (programmet) koppla på det. Starta det, klicka dig till Webserver > din webbsite > Options > Kryssa för "Allow all overrides".

allow all overrides

Nu är det klart att testa.

 

Kasta även ett getöga i serverloggarna på vilka IP-nummer som besöker /administrator. Alla de är hackers utom du själv och dina administratörer.

 

Postfix – hur man tar bort tusentals mail i mailkö...
Jag gillar mailinglistor och programmet Mailman - ...
 

Kommentarer

Kommentarer saknas