Zabezpečení Joomla webu proti útoku a kontrola administrátorských účtů

Útok na Joomla weby: jak zabezpečit Joomla a co dělat po napadení

Publikováno: 7. září 2026|Affiliate prohlášení

Slovenský hosting HostCreators rozeslal zákazníkům varování: útočníci se přes neaktualizované Joomla weby dostali ke spouštění vlastních skriptů na hostingových serverech. Není to ojedinělý případ a netýká se jen Joomly. Tento článek projde, proč je zastaralý web problém pro celý server, jak Joomla web aktualizovat, jak zkontrolovat administrátorské účty a co dělat, když už je web napadený.

Slovenský hosting HostCreators rozeslal zákazníkům upozornění, že jeho servery čelily útoku zaměřenému na weby postavené na systému Joomla. Útočníci se přes nezabezpečené a neaktualizované instalace dostali ke spouštění vlastních skriptů přímo na serverech. Poskytovatel útok zachytil a servery ochránil, ale zákazníky požádal o to, co měli udělat už dávno: aktualizovat Joomlu, projít rozšíření a zkontrolovat administrátorské účty. Tenhle scénář se neopakuje poprvé a nezůstane u jednoho hostingu, proto ho rozeberu obecně. Co se děje, když je na sdíleném serveru zastaralý web, co s Joomlou udělat dnes a jak poznat, že už je pozdě.

Proč je neaktualizovaná Joomla problém pro celý server

Joomla je pořád jeden z nejrozšířenějších redakčních systémů a zároveň má nadprůměrný podíl starých instalací. Weby postavené kolem roku 2015 na Joomle 3 často běží dodnes bez jediné aktualizace, protože „fungují". Joomla 3 přitom nedostává bezpečnostní záplaty od srpna 2023 a Joomla 4 skončila s podporou v říjnu 2025 (přehled verzí a jejich podpory je v oficiální dokumentaci Joomla). Každá známá díra v těchto verzích má veřejně dostupný popis a zpravidla i hotový exploit.

Útočník takový web nehledá ručně. Automatizované skenery procházejí miliony domén, podle hlaviček a cest poznají verzi Joomly a při shodě se známou zranitelností nahrají webshell, tedy malý PHP skript, přes který pak na serveru spouštějí, co chtějí. Přesně to se stalo i v případě, který HostCreators popsal.

Na sdíleném hostingu to není problém jen jednoho webu. Skript běží pod účtem zákazníka na stejném stroji jako stovky dalších stránek. Rozesílá spam, těží kryptoměny, útočí na jiné servery nebo se pokouší dostat k sousedním účtům. Poskytovatel to řeší izolací a dohledem, ale i při dobře nastaveném serveru zatěžuje kompromitovaný web procesor a IP adresu serveru, která může skončit na blacklistech. Proto hostingy v takové situaci tlačí na zákazníky a v krajním případě infikovaný web vypnou.

Krok 1: Aktualizuj jádro Joomla na podporovanou verzi

První věc, kterou je třeba udělat, je zjistit, jakou verzi Joomly vlastně provozuješ. Najdeš ji v administraci vpravo dole nebo v nabídce Systém → Systémové informace. Pokud je to cokoliv nižšího než aktuální podporovaná řada, nejde o aktualizaci, ale o migraci, a tu je potřeba naplánovat.

  • Joomla 5.x a 6.x se aktualizují přímo z administrace přes Systém → Aktualizace Joomla. Před spuštěním udělej zálohu souborů i databáze.
  • Joomla 4.x má přímou cestu na Joomlu 5 přes stejný nástroj, ale nejdřív si ověř kompatibilitu šablony a rozšíření. Většina moderních rozšíření už Joomlu 5 podporuje, starší nemusí.
  • Joomla 3.x se na 4 a dál migruje přes oficiální Pre-Update Check a je to reálný projekt: šablony z Joomly 3 na 4 nefungují a část rozšíření nemá nástupce.

Pokud je migrace mimo tvoje možnosti, udělej aspoň to, co jde bez ní: zvyš verzi PHP na hostingu na nejvyšší, se kterou web ještě běží, omez přístup do administrace a nastav zálohování. Nic z toho nenahradí záplaty, ale zúží prostor pro útok, než migrace proběhne.

Krok 2: Rozšíření, která nepoužíváš, jsou jen další dveře

Většina úspěšných útoků na Joomlu nejde přes jádro, ale přes rozšíření: komponenty, moduly a pluginy třetích stran. Jádro má vývojový tým a bezpečnostní proces, rozšíření od jednoho vývojáře, který ho před pěti lety přestal udržovat, nemá nic.

Projdi si seznam v Systém → Rozšíření a u každého si polož tři otázky. Používám ho? Má dostupnou aktualizaci? Má ještě vůbec vývojáře? Co nepoužíváš, odinstaluj, ne jen vypni. Vypnuté rozšíření má pořád soubory na disku a ty jsou dostupné přímo přes URL bez ohledu na to, jestli ho Joomla načítá. U rozšíření, která zůstávají, ověř, že vývojář ještě existuje a že nejsou na oficiálním seznamu zranitelných rozšíření (Vulnerable Extensions List).

Zvláštní pozornost si zaslouží rozšíření, která umožňují nahrávat soubory, cokoliv s formuláři, galeriemi nebo editorem. Právě přes ně se nejčastěji dostane na server PHP soubor tvářící se jako obrázek.

Krok 3: Zkontroluj administrátorské účty

Tohle je bod, který HostCreators zdůraznil, a právem. Útočník, který se jednou dostal do webu, si zpravidla založí vlastní administrátorský účet, aby mu přístup zůstal i poté, co aktualizuješ Joomlu a zavřeš původní díru.

V administraci otevři Uživatelé → Správa a vyfiltruj skupinu Super Users. Projdi každý účet:

  1. Znáš ho? Účty, které jsi nevytvořil ty ani nikdo z týmu, jsou podezřelé bez ohledu na název. Útočníci používají nenápadná jména typu admin2, support nebo kopii existujícího jména s jedním znakem navíc.
  2. Kdy se naposledy přihlásil? Sloupec Datum poslední návštěvy prozradí účty, které byly aktivní v době, kdy jsi na webu nic nedělal.
  3. Jaký má e-mail? Cizí doména v e-mailu administrátora je jasný signál.

Pokud podezřelý účet najdeš, jeho smazání je nutný, ale ne dostačující krok. Útočník, který si uměl vytvořit účet, měl přístup k celému webu a s vysokou pravděpodobností tam nechal ještě něco jiného: webshell ve složce se šablonou, upravený soubor jádra, naplánovanou úlohu nebo záznam v databázi, který účet znovu vytvoří. Smazaný účet je důkaz kompromitace, ne její vyřešení.

Jak poznat, že je web napadený

Část napadených webů vypadá navenek úplně normálně, protože útočníkovi vyhovuje, když si ničeho nevšimneš. Přesto existují signály, které se dají zkontrolovat za pár minut:

  • Neznámé PHP soubory ve složkách images, tmp, cache nebo media. V těchto složkách nemá být žádný spustitelný kód.
  • Změněná data souborů jádra, například index.php nebo configuration.php upravené v době, kdy jsi nic neaktualizoval.
  • Přesměrování na cizí weby, která se objeví jen při návštěvě z mobilu nebo z vyhledávače, ne při přímém zadání adresy.
  • Cizí stránky ve výsledcích Google: zadej site:tvojedomena.cz a podívej se, jestli se tam neobjevují stránky, které jsi nevytvořil, typicky lékárny, kasina nebo falešné e-shopy.
  • Upozornění od hostingu na vysokou zátěž procesoru, odcházející spam nebo blokovanou IP adresu.
  • Varování v Google Search Console nebo červená obrazovka prohlížeče před návštěvou webu.

Pokud platí byť jen jeden bod, ber web jako kompromitovaný, dokud se neprokáže opak.

Co dělat, když je web kompromitovaný

Pořadí kroků je důležité. Nejčastější chyba je smazat, co je vidět, a pokračovat dál. Za týden je infekce zpátky, protože vstupní díra zůstala otevřená.

  1. Udělej kopii napadeného webu včetně databáze, ještě před jakýmkoliv čištěním. Bude potřeba ke zjištění, kudy útočník přišel.
  2. Změň všechna hesla najednou: Joomla administrátorů, FTP a SSH přístupů, databáze v configuration.php a účtu do hostingu. Pokud měl útočník přístup k souborům, měl i přístup k heslu databáze.
  3. Nahraď jádro Joomly čistou kopií z oficiálního balíčku stejné verze. Přepsání souborů jádra odstraní upravené soubory, ale nedotkne se cizích souborů, které do jádra nepatří.
  4. Projdi rozšíření, šablonu a složky s nahranými soubory a hledej cizí kód. Typicky jsou to soubory se zakódovaným obsahem (base64_decode, eval), nedávno změněné soubory a PHP soubory ve složkách na obrázky.
  5. Zkontroluj databázi, hlavně tabulku uživatelů a rozšíření, kde může být účet nebo plugin, který infekci obnoví.
  6. Obnov ze zálohy z doby před napadením, pokud takovou máš. Vyžaduje to vědět, kdy se útok stal, a dostatečnou retenci. Jak se v tomhle liší jednotliví poskytovatelé, jsem rozebral v článku o tom, jak zálohují české hostingy.
  7. Zavři vstupní vektor: aktualizuj Joomlu, rozšíření a PHP, jinak celý postup zopakuješ za pár týdnů.
  8. Požádej o přehodnocení v Google Search Console, pokud byl web označený jako nebezpečný. Jak varování Googlu vypadají a v jakém pořadí postupovat, rozebírá samostatný článek o tom, co dělat, když Google hlásí nebezpečný web.

Celý postup je u většího webu práce na hodiny až dny a vyžaduje čtení cizího kódu. Pokud na to nemáš kapacitu nebo si nejsi jistý, že jsi našel všechno, je rozumnější web svěřit někomu, kdo to dělá pravidelně. V DIGITAL WOLF nabízíme odvirování webů včetně analýzy vstupního vektoru a zabezpečení proti opakování, ne jen smazání viditelných souborů.

Prevence: co dělat, aby se to neopakovalo

Napadený web se zpravidla dá vyčistit. Dražší je to, co se děje mezitím: výpadek, spam z tvojí domény, ztráta pozic ve vyhledávání a důvěry zákazníků. Prevence je oproti tomu levná a většinou spočívá v rutině.

  • Aktualizuj pravidelně, ne jednou za rok. Bezpečnostní záplaty Joomly vycházejí přibližně měsíčně a rozšíření podle potřeby. Vyhrazený termín jednou měsíčně stačí, pokud se opravdu dodrží.
  • Zapni dvoufaktorové ověření pro všechny administrátory. Joomla ho má vestavěné a heslo uniklé z jiné služby pak nestačí.
  • Omez přístup do administrace na konkrétní IP adresy nebo aspoň za další heslo přes .htaccess. Automatizované útoky na /administrator tím ztratí smysl.
  • Drž aktuální PHP. Stará verze PHP je stejný problém jako stará Joomla a hostingy ji často nechávají na zákazníkovi.
  • Zálohuj mimo server a jednou za čas si obnovu vyzkoušej.
  • Sleduj web, aspoň jednoduchým monitoringem dostupnosti a kontrolou Search Console. Napadení, které zjistíš za den, je jiný problém než to, které zjistíš za půl roku.

Pokud je pro tebe web nástroj a ne hobby, celá tahle rutina se dá delegovat. Pravidelná správa webů v DIGITAL WOLF pokrývá aktualizace jádra i rozšíření, monitoring, zálohy a bezpečnostní kontroly, takže e-mail od hostingu s výzvou „jednejte neprodleně" není důvod k panice, ale jen potvrzení, že se už jednalo.

Často kladené otázky

Mám Joomlu 3 a web funguje. Opravdu musím migrovat?

Ano, pokud má web zůstat online. Joomla 3 nemá záplaty od roku 2023 a každá nová zranitelnost v ní zůstane navždy otevřená. Web „funguje" i tehdy, když z něj třetí měsíc odchází spam. Migrace je jednorázový projekt; údržba neudržovaného systému je trvalý problém.

Stačí smazat cizí administrátorský účet?

Ne. Cizí účet znamená, že útočník měl plný přístup a téměř jistě si nechal další cestu dovnitř: webshell, upravený soubor nebo záznam v databázi. Účet smaž, ale ber ho jako důkaz, že web je třeba projít celý.

Proč mi hosting hrozí vypnutím webu, když je napadený?

Protože kompromitovaný web na sdíleném serveru škodí ostatním zákazníkům: zatěžuje server, rozesílá spam a dostává IP adresu serveru na blacklisty. Hosting chrání zbývajících několik set webů a vypnutí jednoho je nejrychlejší způsob.

Jak často mám Joomlu aktualizovat?

Bezpečnostní vydání hned, jak vyjdou, ostatní v měsíční rutině. Před každou aktualizací udělej zálohu. Pokud se aktualizace bojíš, protože „se může něco pokazit", je to signál, že web nemá testovací prostředí ani zálohu, a to jsou větší problémy než samotná aktualizace.

Týká se to i WordPressu a jiných systémů?

Úplně stejně. Joomla je v tomto případě jen systém, na který útok mířil. Neaktualizovaný WordPress, PrestaShop nebo Drupal je pro útočníka stejná příležitost a hostingy s nimi zacházejí stejně.

Útok, na který HostCreators upozornil, nebyl cílený na konkrétní firmu ani na konkrétní hosting. Byl to automat, který našel staré Joomly a využil je. Stejný automat dnes běží proti každému serveru na internetu a jediná obrana, kterou má majitel webu v rukou, je nudná: aktualizovat, uklidit rozšíření, zkontrolovat účty a zálohovat. Pokud to nechceš dělat sám, nech si to dělat, ale nenech to nedělat. Jak se jednotliví poskytovatelé liší v tom, co za tebe v oblasti bezpečnosti řeší, projdeš v porovnání webhostingu.

O autorovi

Tomáš Mahrík

Tomáš Mahrík

Full stack developer s 15+ lety praxe, který se na hosting nedívá jen jako uživatel, ale jako člověk zodpovědný za provoz vlastních projektů na denní bázi.

Zůstaňte informováni

Získejte nejnovější hostingové nabídky, kupóny a odborné tipy přímo do vašeho emailu.

Útok na Joomla weby: jak zabezpečit Joomla a co dělat po napadení