Přihlásit se
Škodolibý člověk by si teď mohl mnout ruce a sledovat, jak se v posledních dnech rozšířil fenomén "Hacklá Joomla". V souvislosti s příchodem nové verze Joomly 1.5.6 a zveřejněním problému, kvůli kterému se bezpečnostní aktualizace objevila, se stále více doposud bezstarostných správců setkalo s tím, že jejich stránky byly pozměněny. Na základě častých dotazů jsme pro vás připravili kompilaci tipů a návodů, jak se pokusit celou situaci zvládnout.

Na úvod jedna důležitá věc. Žádný web nelze nikdy stoprocentně zajistit proti hacknutí. Nikdy. Pokud se někdo na váš web zaměří, dříve či později se mu útok zdaří. Ale aspoň se můžete pokusit mu to řádně ztížit. Existuje sada různých triků, které mohou být účinné, mnohdy však přináší komplikace ať už ve správě (kroky navíc, které musí být navíc po každé změně provedeny znovu) nebo při práci se stránkami (různé Captcha systémy , dodatečná registrace, povolování článků či autorizace).

Časté omyly a mýty

Nejlépe je začít vyjmenováním častých omylů a mýtů, které jsou mezi uživateli značně rozšířeny. Asi ten z hlavních je fakt, že pro zabezpečené stránky stačí Joomlu pravidelně aktualizovat.

Ano, toto je jeden z pilířů bezpečnosti, ale sám o sobě nestačí. Vaše stránky založené na Joomle jsou jako skládačka. Je zde nějaké jádro, které vydává vývojářský tým, ale drtivá většina lidí si na své stránky přiinstalovává dodatečné komponenty. Proto existuje oficální fórum, kde se o problémech komponent hovoří. Základní pravidlo totiž říká, že nejbezpečnější je jádro, jakékoliv dodatky už žádné speciální kontrole nepodléhají a tak mohou obsahovat chyby (a také je obsahují). Drtivá většina úspěšných napadení je totiž vedena právě přes přidaná rozšíření, která mají nějaký bezpečnostní problém. Jak už bylo řečeno, této problematice je věnováno speciální fórum na originálních stránkách, pokud chcete "jít s dobou", pravidelně jej monitorujte. Existuje i seznam "děravých" rozšíření .

Často se také stává, že uživatelé nemyslí na zálohování svých stránek. Buď je to vůbec nenapadne nebo jej provádějí nesprávně. Nestačí totiž jen pomocí FTP serveru stáhnout na bezpečné úložiště (v podobě vlastního PC např.) všechny soubory z instalace Joomly. Podstatnou částí je totiž i databáze, která je na databázovém serveru příslušného hostingu. Pokud to chcete provádět sami, použijte komponentu phpMyAdmin , kterou hostingové firmy obvykle nabízejí pro správu databází (i té vaší) a proveďte tzv. SQL dump tj. kompletní export databáze. V případě potřeby pak budete schopni pomocí phpMyAdmin tuto databázi opět improtovat a provést tak vlastně obnovení. Čím častěji budete tuto proceduru opakovat, tím lépe. Ideální je třeba 2x za den u webů, kde je velký pohyb čtenářstva či změn.

Aby bylo provádění této procedury příjemnější, jsou k dipozici doplňky přímo do Joomly, které to dokáží řešit. K nejpoužívanějším patří asi JoomlaPack a JoomBackup.

Na místě je tedy otázka na Váš webhosting, jak často a jak dlouho uchovávají zálohy vašich dat a zda je obnova dat ze zálohy zdarma nebo placená (běžná praxe u zahraničních hostingů). Říká se : "Důvěřuj, ale prověřuj!" a tak není na škodu nechat si na zkoušku obnovit data ze zálohy, i když žádný problém nenastal, abychom viděli, že se na zálohování webhostingu můžeme spolehnout.Cool

Co se vlastně v tuto chvíli děje a proč tolik povyku s hackováním?

Děje se to, že vývojářský tým byl upozorněn na chybu, kterou promptně opravil a vydal novou verzi 1.5.6. Zároveň s tím však vznikla nutnost urychleně aktualizovat, protože se toho chopily nenechavé ruce některých hackerů a začaly prostě a jednoduše pro zábavu napadat weby s CMS Joomla!. Nejjednodušší je změna administrátorského hesla, což předá kompletní přístup ke stránkám. Vývojáři totiž zvěřejnili popis opravené chyby a proto jsou útoky jednodušší. Pokud aktualizaci neprovedete a hacker si vás najde, nemáte šanci. V tuto chvíli je nejúčinnější provést urychlený upgrade na verzi 1.5.6, což vám pro tentokrát ušetří nejvíce nervů a nepoužívat pro superadmin přístup účet Admin. Pak se podívejte na další věci.

Jak se bránit útoku?

Na úvod jedno podstatné upozornění - 100 % ochrana neexistuje. Můžete však udělat hodně, abyste to hackerovi, co nejvíce ztížili.

Tip 1 : Použití CHMOD

Pohrajte si s přístupovými právy. Dělá se to pomocí příkazu CHMOD skrz FTP klienta. Jako rychlá pomoc se nabízí nastavení CHMOD 755 na všechny složky v instalaci Joomly, na soubory použijte CHMOD 644. Speciální pozornost si zaslouží také soubor configuration.php, tomu můžete nastavit CHMOD 444. Vše ovšem záleží na tom, co máte nainstalováno a je třeba si s tím vyhrát. Při provádění změn v globálním nastavení joomly, je ale potřeba na přechodnou dobu změnit u configuration.php změnit CHMOD na 755 a po provedení změn ho zase "zamknout".

Tip 2 : Soubor .htaccess

Pokud máte hosting provozovaný na operačním systému Linux, můžete .htaccess použít. Jedná se o speciální soubor, ovlivňující nastavení vašeho prostoru přiděleném vám hostingem. Dovoluje běžným uživatelům individuálně měnit nastavení serveru bez zásahu správce. Ve vaší instalaci již je jeden výchozí soubor uložen, stačí přejmenovat soubor htaccess.txt na .htaccess. Důležité upozornění - používání souboru .htaccess musí podporovat hosting, proto se ptejte své podpory.

Ukázka použitelného souboru .htaccess :

##########  Použitelný .htaccess
#  mod_rewrite
RewriteEngine On
##########  Začátek - Pravidla pro blokování nejběžnějších exploitů
# Blokování skriptů pokoušejícíh se nastavit hodnotu mosConfig přes URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]
# Blokování skriptů snažících se použít base64_encode pro přístup přes URL
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
# Blokování skriptů které obsahují tag < script> v URL
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
# Blokování skriptů pokoušejících se nastavit proměnnou PHP GLOBALS skrz URL
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
# Blokování skriptů pokoušejících se upravit proměnnou _REQUEST skrz URL
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR]
# Blokování skriptů které se pokoušejí nastavit CONFIG_EXT (chyba com_extcal2)
RewriteCond %{QUERY_STRING} CONFIG_EXT([|%20|%5B).*= [NC,OR]
# Blokování skriptů, které se pokoušejí nastavit sbp nebo sb_authorname skrz URL (simpleboard)
RewriteCond %{QUERY_STRING} sbp(=|%20|%3D) [OR]
RewriteCond %{QUERY_STRING} sb_authorname(=|%20|%3D)
# Přesměrování všech blokovaných požadavků na úvodní stránku s 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
########## Konec - Pravidla pro blokování nejběžnějších exploitů

Tip 3 : Zálohování

O zálohování byla již řeč, pomůže vám v obnově stránek po útoku, preventivně jej dělejte provedení změn na webu, abyste vždy měli nenapadnutou kopii.

Tip 4 : Monitorujte fóra věnovaná bezpečnosti

Existují fóra, která se věnují bezpečnosti, pravidelně je monitorujte :

Tip 5 : Nepoužívejte výchozí předponu v Joomla databázi

Nejvíce útoků pomocí SQL injection pro hacking Joomly je nastaveno tak, aby získávalo data z tabulky jpd_users. Tak se dá totiž získat uživatelské jméno a heslo supersprávce. Pokud tuto předponu změníte na něco náhodného, docela dost útoků bude neúspěšných.

Předponu můžete nastavit při instalaci Joomly! a jde to změnit i u již nainstalované Joomly! a to takto (pozor proveďte si zálohu, budete pracovat s tabulkami s možností jejich úplného vymazání, opravdu to není legrace!!!):

  1. Přihlašte se do správcovské části Joomly!
  2. Běžte do Globálního nastavení a hledejte část Server, na ní část Nastavení databáze
  3. Změňte předponu (např. : qwezxcasd_) a klikněte na Uložit.
  4. Spusťte phpMyAdmin.
  5. Běžte na Export, ponechte všechny výchozí hodnoty a klikněte na Spustit. Export chvíli trvá.
  6. Po provedení zkopírujte kompletní kód do poznámkového bloku či jiného editoru
  7. V phpMyAdmin, zvolte všechny tabulky a vymažte je (pozor, opravdu zkontrolujte, že máte zálohu)
  8. V poznámkovém bloku proveďte nahrazení (Ctrl + H). Hledejte výraz jpd_ a změňte na vaši předponu (Example: např. : qwezxcasd_).
  9. Celý kód vyberte a zkopírujte do phpMyAdmin, jděte na SQL, vložte kód a klikněte na Spustit.

Tip 6 : Nainstalujte doplněk Joomla Tools Suite

Existuje speciální doplněk umožňující provést jakýsi bezpečnostní audit. Najdete jej zde.

Co dělat, když u mne dostali?

Pokud už dojde k napadení, měli byste se pokusit zjistit, jakým způsobem se k vám hackeři dostal. Zkoumání však ponechte na pozdější dobu.

  • Nejprve proveďte obnovu ze zálohy (pokud možno nenapadnuté)
  • Aktualizujte na poslední verzi Joomly
  • Aktualizujte použité doplňky na poslední verze
  • Projděte si logy a zkuste vysledovat nějaké nestandardní operace


Co dělat pro změnu hesla správce, které mi hackeři změnili?

Poslední hacky se vyznačují tím, že je obvykle změněno heslo správce. Na diskuzním fóru se objevil odkaz na video návod, který ukazuje, jak pomocí phpMyAdmin (a dalších prográmků) změnit heslo na to, které potřebujete. Uvedenou animaci najdete zde. Existuje ještě jeden velmi neortodoxní způsob - použít hackerský kód pro změnu hesla na to, jaké chci já. Ptejte se strýčka Googla.

Závěr

Tento článek vznikl jako kompilace z několika různých zdrojů a snaží se podchytit to, na co se často ptáte ve fóru. Pokud chcete, přispějte i svými postřehy do diskuze pod článek.

 

Sváťa (redigoval HonzaG)