VIDEO: Zabezpečení přihlašování do administrace Joomla

21.11.2018 18:59 326 zhlédnutí
Autor článku
coleoptera
Článek uživatele

Jak zabránit robotickým útokům na přihlašovací formulář administrace Joomla.

Určeno pro administrátory, kteří vědí, jak se používá přenos souborů pomocí FTP. (www.mojedomena.cz je ilustrativní označení, které musíte nahradit názvem vlastní domény)

Princip zabezpečení je jednoduchý. Zabráním robotovi v přímém přístupu do složky s přihlašovacím formulářem vstupu do Back-endu (administrace) Joomla. Využívám k tomu serverovou autentifikaci pro přístup do té složky. V praxi by tedy robot musel "prorazit" přihlašování do složky formuláře přihlašování administrátora a pak ještě do Joomla. Věřím, že 99.999% robotických útoků si na tomhle vyláme zuby.

Volím nejjednodušší variantu serverové autentifikace a to je přihlašování jedním jménem a heslem. Pro aktivaci serverové autentifikace musím vygenerovat soubory .htaccess a .htpasswd a oba pak nahrát do adresáře, který chci chránit.
Využívám volně dostupné nástroje například na adrese http://www.htaccesstools.com/htpasswd-generator/

  1. První krok je jednoduchý, zadám přihlašovací jméno a heslo, které bude server ověřovat a kliknu na tlačítko "Create .htpasswd". Zobrazí se obsah pro soubor .htpasswd.
    Otevřu si poznámkový blok, obsah tam zkopíruji a soubor uložím pod jménem ".htpasswd". Ta tečka na začátku opravdu je a žádnou druhou příponu soubor nemá. Žádné TXT ani nic dalšího.
  2. Druhý krok. Kliknu na odkaz v textu "htaccces Authentication generator".
    Zde jsou k vyplnění dvě pole. Do prvního vepíšu text, který se bude zobrazovat ve formuláři serverové autentifikace, třeba "Autorizace admina".
    Ale druhé pole chce vyplnit plnou cestu do adresáře z pohledu PHP. To ale není www.mojedomena.cz/administrator, je tu odkaz na nástroj, kterým si to zjistím.
  3. Odbočka. Otevřu si v jiné záložce odkaz "find the full path to a file using PHP". Tady je ke zkopírování obsah pro vytvoření PHP souboru, který ke zjištění plné cesty využiji. Otevřu poznámkový blok, zkopíruji ten obsah PHP a uložím si ho třeba jako "cesta.php". Tenhle soubor pomocí FTP překopíruji do složky www.mojedomena.cz/administrator/ a v prohlížeči soubor zavolám www.mojedomena.cz/administrator/cesta.php a výsledek mám před sebou.
    Z druhého zobrazeného řádku v prohlížeči si zkopíruji cestu za lomítkem (bez úvodní mezery) až do konce řádku.
  4. Vrátím se na předchozí záložku s formulářem a cestu vložím do pole ".htpasswd File Location". Kliknu na "Create .htaccess file" a otevře se mi obsah pro soubor .htaccess. Do poznámkového bloku nakopíruji obsah vygenerovaného textu a soubor uložím jako .htaccess (zase s tečkou na začátku a bez druhé přípony).
  5. Zbývá soubory .htaccess a .htpasswd pomocí FTP nakopírovat do adresáře www.mojedomena.cz/administrator/ a serverová autentizace je hotová.


Takhle jsem ochránil asi stovku webů s Joomla a žádný robotický útok zatím tudy neprošel.

Celý postup můžete shlédnout také zde: https://youtu.be/V0Y5u5KlVXk

Komunitu Joomla zdraví
Aleš O.

Informace o autorovi coleoptera

Líbil se vám článek?
(5 hlasů)

Štítky: Návod bezpečnost

11 komentáře

Petra - STAWEBNICE.com
napsal(a) Petra - STAWEBNICE.com/21. lis 2018 21:49

Dík, ta stránka na generování .htaccess se šikne, i když zrovna toto za mě dělá firewall v Joomla!
Jen bych lidi upozornila na to, že pokud už v rootu nějaký .htaccess mají (kvůli přesměrování na www, https atd.), tak to pravidlo jen přidat, ne si ten soubor přepsat

Odkaz Komentáře
Cony
napsal(a) Cony/21. lis 2018 21:56

Doplnil bych, že existují nástroje do přímo do Joomly, které tento postup umožní provést přímo v administraci. Osobně používám Admin Tools, kde je nástroj "Ochrana administrace heslem", který vygeneruje oba uvedené soubory. Některé hostingy nabízí také ochranu adresářů heslem přímo v administraci hostingu. Nicméně vždy je dobré vědět co je "pod kapotou" :)

Odkaz Komentáře
Rudolf Baláš
napsal(a) Rudolf Baláš/21. lis 2018 22:09

Děkuji za článek, přesně tento postup používáme již několik let jako jednu z částí zabezpečení.
Petro, httacess v rootu a ve složce administrator jsou přeci dva rozdílné soubory, tam by nemělo dojít k přepsání :)

Odkaz Komentáře
Petra - STAWEBNICE.com
napsal(a) Petra - STAWEBNICE.com/21. lis 2018 22:19

Omlouvám se, přehlédla jsem tu cestu. I když i tam může mít někdo cokoliv...ale pravděpodobně ví, že to tam dal a nepřepíše si to.
Zbytek platí beze změny ;) = užitečná adresa, a RSfirewall, ale i jak říká Cony

Odkaz Komentáře
HonzaG
napsal(a) HonzaG/21. lis 2018 22:42

Popsaný způsob je dobrý i pro skrytí nově vytvářeného webu před zvědavými návštěvníky včetně robotů...
Osobně mám radši zákaz přístupu v htaccess s výjimkou vybraných IP. To pak vypadá takto:
deny from all
allow from první IP druhá IP atd.

Třeba JP to takhle používal mnoho let:-)

Odkaz Komentáře
Petra - STAWEBNICE.com
napsal(a) Petra - STAWEBNICE.com/21. lis 2018 23:15

a co toto dělá, když se do toho pustí robot nebo člověk opakovaně? třeba RSfirewall jeho IP adresu po zvoleném počtu, např. 3 zobrazí captchu a když přes ni nepřejde, hodí ho na blacklist a už se nedostane ani sem

Odkaz Komentáře
Ernst
napsal(a) Ernst/21. lis 2018 23:42

tohle tě nepustí dál, když nemáš heslo, nic víc, nic míň.
žádnou IP ani nic jiného blokovat nebude, je to pasivní

Odkaz Komentáře
Cony
napsal(a) Cony/22. lis 2018 02:30

Blokovat IP umějí Admin Tools také, ale je to dvousečné - při sdílené IP si tak můžete zablokovat větší část lidí (stalo se mi, že člověk zkoušel heslo, a pak se celá redakce o cca 20-ti lidech nedostala na server :), při dynamické zas ve finále blokujete úplně někoho jiného než jste chtěli. Ale jak píše Ernst, to je úplně jiná kapitola, v tomto případě by to musel řešit server (Apache - mně tak napadá dopsat do článku poznámku, že na Nginx, IIS apod. to nemusí fungovat), ale nevím zda má Apache nějaký podobný mechanismus - hosteři mezi námi možná poradí...

Odkaz Komentáře
Cony
napsal(a) Cony/22. lis 2018 02:35

Ještě mne tak napadá, v angličtině je ustálená doména na příklady example.com, dokonce je k tomu přímo určená. Existuje ekvivalent na cz doméně?

Odkaz Komentáře
Bart
napsal(a) Bart/22. lis 2018 09:10

Díky :)

Odkaz Komentáře
Karel Neugebauer jr. - itx.cz
napsal(a) Karel Neugebauer jr. - itx.cz/22. lis 2018 12:52

Nejlepší řešení píše HonzaG. htaccess Blacklist All a Whitelist na IP (lze i wildcard na měnící se konce adres). Roboti nic nezkouší a jsou odpáleni rovnou. Jakmile roboti mají možnost něco zkoušet, budou to dělat opakovaně a zbytečně zatěžovat. A pro ty, co se jim mění IP adresa doplnit scriptem na přidávání IP adres do whitelistu (URL na script je neveřejná - např. ukazka.cz/povolIP-2494.php). Takto to řešíme na hostime.cz (script pro klienty je v ceně hostingu).

Odkaz Komentáře

Nové články

Článek uživatele
Novinky
Trochu povyku pro nic na Active24
Článek uživatele
Vývojářské tipy
Univerzální oprava instalace Joomly
Článek uživatele
Komunita Joomlaportal.cz
Zúčastněte se průzkumu
Článek uživatele
Novinky
Wordpress

Související články