Zabezpečení adresy administrace

19.09.2019 12:51 302 zhlédnutí
Autor článku
Cony
Článek uživatele

Asi již každý, kdo používá Joomlu, nebo jakýkoliv jiný webový systém, čelil množícím se útokům robotů na prolomení hesla do administrace. I když nedojde k prolomení hesla, situace může být nepříjemná z důvodu přetížení serveru. Roboti se neustále dokola snaží do administrace přihlásit, čímž server dokáží přetížit.

Způsobů zabezpečení Joomly je mnoho, některé jsou placené jiné zdarma. V tomto článku bych rád nastínil jednoduchý způsob, jak zabezpečit přístup do administrace Joomly proti nechtěným návštěvníkům. Způsob používám na mnoha svých webech a dokázal odstínit velkou část pokusů o prolomení hesla.

Joomla v základu nepodporuje změnu adresy administrace. Na každém serveru je tedy adresa administrace /administrator. Toho roboti zneužívají a na tuto adresu posílají fiktivní požadavky na přihlášení. Prosté přejmenování adresáře administrator nelze použít, některé komponenty spoléhají na tento název adresáře a přejmenováním by přestali fungovat.

Jak tedy "změnit" adresu administrace? V první řadě si zvolte pod jakou adresou chcete do administrace přistupovat. Řekněme např. /sprava (volby typu /admin apod. bych nedoporučoval, pod touto adresou se skrývají mnohdy administrace jiných systémů, které roboti také zkoušejí).

V kořenové složce Joomly pak vytvořte adresář se zvoleným názvem, v našem případě tedy sprava. V tomto adresáři vytvořte textový soubor nazvaný index.php obsahující následující kód

<?php
  $admin_cookie_code = 'MujTajnyKlic';
  $admin_cookie_name = 'MujTajnyNazevCookie';
  setcookie($admin_cookie_name, $admin_cookie_code, 0, '/');
  header("Location: /administrator/index.php");

Hodnoty MujTajnyKlic a MujTajnyNazevCookie nahraďte libovolnými texty, název cookie musí splňovat pravidla pro návy cookie (ideálně jen písmena a číslice).

V druhém kroku si připravte textový soubor nazvaný .htaccess (včetně té tečky na začátku) a vložte do něj následující obsah:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/administrator
RewriteCond %{HTTP_COOKIE} !MujTajnyNazevCookie=MujTajnyKlic
RewriteRule .* - [L,F]

Hodnoty MujTajnyKlic a MujTajnyNazevCookie musí odpovídat těm zvoleným v prvním kroku, tedy zapsaným v souboru index.php.

Soubor uložte a nahrajte do složky /administrator v Joomle. A máte hotovo. Zkuste nyní otevřít adresu /administrator svého webu - Oops - chyba 403 - přístup zamítnut. Zadejte adresu /sprava - a hle administrace je tu :)

Jak to celé funguje?

Soubor .htaccess ve složce administrator zajišťuje, že komukoliv, kdo otevře adresu /administrator a nemá nastavenou Cookie s příslušným názvem a hodnotou se ukáže stránka 403 - přístup zamítnut. Kdo nastavenou Cookie má, může pokračovat a nic se neděje. A kde se Cookie vezme? O to se postará soubor index.php ve zvoleném adresáři. Ten neudělá nic jiného, že prohlížeči nastaví Cookie s platností po dobu sezení (zjednodušeně tedy než zavřete prohlížeč), a přesměruje uživatele na reálnou administraci.

Díky tomu, že o kontrolu nastavení Cookie se stará soubor .htaccess, a ne až nějaký plugin v Joomle, nedojde ani ke spuštění PHP skriptu, zatížení serveru je tedy minimální, a velmi se sníží riziko přetížení serveru.

Funguje to vždy?

Řešení je velmi jednoduché, v podstatě jediný předpoklad je, že hosting podporuje modul pro přesměrování a soubory .htaccess. Odvážil bych se tvrdit, že to je ale dnes snad již standard.

Druhým předpokladem je instalace Joomly na kořeni domény. Pokud máte Joomlu instalovanou v podadresáři, museli by se příslušně upravit adresy v obou soborech.

Stačí toto zabezpečení proti hackerům?

Určitě ne. Je to jen jeden ze způsobů jak útočníkům ztížit pokus o prolomení se do administrace.

Vůbec tomu nerozumím...

Nevadí, stáhněte si přiložený zip soubor, a nainstalujte jej v Joomla jako jakékoliv jiné rozšíření. Po úspěšné instalaci se hned ukáže chyba 403 - přístup zamítnut. Nelekejte se - prostě jen v adresním řádku prohlížeče změňte /administrator za /sprava a jste v administraci zpět. Od teď je vaše administrace na adrese /sprava, tedy např. www.example.com/sprava

Když se zabezpečení budete chtít zbavit, nainstalovaný balíček opět běžným způsobem odinstalujete.

Informace o autorovi Cony

Líbil se vám článek?
(7 hlasů)
Jak vložit vlastní kód do článku?
Předchozí článek autora Cony  30.11.2018 1623
Jak vložit vlastní kód do článku?
Článek uživatele
V pravidelných intervalech se na diskusním fóru objevuje dotaz, jak vložit HTML / PHP /...

Štítky: bezpečnost Návod

19.09.2019 12:51 303 zhlédnutí
Vývojářské tipy
Zabezpečení adresy administrace
Zabezpečení adresy administrace

Asi již každý, kdo používá Joomlu, nebo jakýkoliv jiný webový systém, čelil množícím se útokům...

30.11.2018 00:00 1623 zhlédnutí
Vývojářské tipy
Jak vložit vlastní kód do článku?
Jak vložit vlastní kód do článku?

V pravidelných intervalech se na diskusním fóru objevuje dotaz, jak vložit HTML / PHP / Javaskript...

26.11.2018 13:56 1393 zhlédnutí
Vývojářské tipy
Bootstrap ve WYSIWYG editoru
Bootstrap ve WYSIWYG editoru

Většina aktuálních Joomla šablon je založena na CSS knihovně Bootstrap, která nabízí mnoho...

Nové články

Článek uživatele
Novinky
Joomla 3.9.13
Článek uživatele
Komunita Joomlaportal.cz
Petr Coufal
Článek uživatele
Novinky
Vyšla Joomla! 4 Alpha 12
Článek uživatele
Rozšíření a eshopy pro Joomla!
Phoca Cart

Související články