Bezpečnosť

Bezpečnosť starých Joomla stránok

Bezpečnosť starých Joomla stránok

Staršia Joomla stránka môže navonok fungovať bez problémov. Články sa zobrazujú, formulár odosiela správy a administrácia je stále dostupná. To však neznamená, že je web bezpečný.

Najväčším rizikom nie je samotný vek stránky, ale skutočnosť, že jej jadro, rozšírenia, šablóna alebo serverové prostredie už nemusia dostávať bezpečnostné opravy. Útočník pritom nemusí hľadať konkrétnu firmu či organizáciu. Automatizované nástroje nepretržite prehľadávajú internet a skúšajú známe slabiny zastaraných systémov.

Starý Joomla web preto nemožno považovať za bezpečný iba preto, že je málo navštevovaný alebo sa niekoľko rokov nestal viditeľným terčom útoku.

Čo znamená „stará Joomla stránka“

Za starú možno považovať najmä stránku, ktorá používa:

  • nepodporovanú hlavnú verziu Joomla,
  • dávno neaktualizované komponenty, moduly alebo pluginy,
  • šablónu, ktorú výrobca už nevyvíja,
  • zastaranú verziu PHP alebo databázového servera,
  • vlastné úpravy znemožňujúce bežnú aktualizáciu,
  • rozšírenia bez dostupného aktualizačného servera,
  • používateľské účty a heslá vytvorené pred mnohými rokmi,
  • neudržiavané formuláre, editory alebo uploadovacie nástroje.

V čase prípravy článku, 4. augusta 2026, sú oficiálne podporovanými hlavnými vetvami Joomla 5 a Joomla 6. Aktuálnymi stabilnými vydaniami sú Joomla 5.4.7 a Joomla 6.1.2. Pravidelná podpora opráv vetvy 5.x je plánovaná do 13. októbra 2026 a bezpečnostná podpora do 12. októbra 2027. Vetva 6.x má dostávať bezpečnostné opravy do októbra 2029.

To znamená, že Joomla 4 a všetky ešte staršie hlavné verzie už nemožno považovať za bežne podporované produkčné riešenia. Pri verzii označenej ako end of life projekt Joomla neposkytuje ďalšie opravy stability ani bezpečnosti.

Prečo je nepodporovaný systém nebezpečný

Softvér sa nestane zraniteľným v deň ukončenia podpory. Problémom je, že od tohto momentu už jeho používateľ nemôže počítať s opravou novoodhalených chýb.

Ak sa v podporovanej verzii objaví bezpečnostný problém, vývojári pripravia opravu a používateľ môže aktualizovať systém. Pri nepodporovanej vetve však rovnaká chyba môže zostať nevyriešená.

Aktualizácie nie sú iba zdrojom nových funkcií. Odstraňujú napríklad:

  • nedostatočné filtrovanie vstupov,
  • chyby v kontrole používateľských oprávnení,
  • možnosti vloženia škodlivého skriptu,
  • SQL injection,
  • neoprávnené nahrávanie alebo čítanie súborov,
  • nedostatky pri spracovaní formulárov,
  • chyby v autentifikácii a práci s reláciami.

Joomla Security Strike Team rozlišuje medzi kritickými chybami umožňujúcimi prevzatie stránky, závažnými problémami typu SQL injection a miernejšími chybami, medzi ktoré patria napríklad XSS alebo porušenia oprávnení. Podporované verzie projektu sú aktívne monitorované a pri závažných problémoch môže byť vydaná mimoriadna oprava.

Aktuálny príklad

Ani moderná verzia CMS nie je automaticky bez chýb. V máji 2026 bola v inteligentnom vyhľadávaní com_finder opravená autentifikovaná blind SQL injection. Týkala sa Joomla 5.4.0 až 5.4.5 a Joomla 6.0.0 až 6.1.0. Používatelia podporovaných vetiev mohli problém odstrániť aktualizáciou.

Tento príklad ukazuje podstatný rozdiel: bezpečný web nie je systém bez chýb, ale systém, pre ktorý sú dostupné opravy a správca ich pravidelne nasadzuje.

Najväčším rizikom bývajú rozšírenia

Joomla stránka sa neskladá iba zo samotného jadra. Bežne obsahuje desiatky ďalších častí:

  • komponenty,
  • moduly,
  • pluginy,
  • editory,
  • šablóny,
  • knižnice,
  • jazykové balíky,
  • frameworky šablón,
  • nástroje na správu médií,
  • formuláre a uploadovacie prvky.

Starý komponent môže obsahovať zraniteľnosť aj vtedy, keď nie je viditeľný v menu. Ak zostáva nainštalovaný a jeho súbory sú dostupné zo servera, môže stále predstavovať vstupný bod pre útok.

Oficiálny bezpečnostný kontrolný zoznam Joomla upozorňuje, že významná časť problémov súvisí s rozšíreniami tretích strán. Odporúča preverovať zoznam zraniteľných rozšírení a pred inštaláciou alebo zásahom vytvoriť zálohu súborov aj databázy.

Aj odborná literatúra upozorňuje, že čím viac doplnkov web používa, tým viac kódu treba udržiavať a tým väčší môže byť priestor na chyby alebo zraniteľnosti.

Pri starom webe treba preto posúdiť každé rozšírenie samostatne:

Otázka Bezpečný stav
Je rozšírenie stále vyvíjané? Výrobca vydáva aktualizácie
Podporuje novú Joomla? Existuje kompatibilná verzia
Má aktualizačný server? Aktualizácie sa zobrazujú v administrácii
Bola nahlásená zraniteľnosť? Chyba je opravená alebo rozšírenie odstránené
Je rozšírenie potrebné? Má konkrétne využitie na stránke
Obsahuje vlastné úpravy? Zmeny sú zdokumentované a prenositeľné

Nepoužívané rozšírenie je vhodné odinštalovať, nie iba vypnúť. Vypnutím sa totiž nemusia odstrániť jeho súbory zo servera.

Zastarané PHP a serverové prostredie

Staré Joomla stránky sú často závislé od starých verzií PHP. Web môže napríklad fungovať iba na PHP 5 alebo na skorých vydaniach PHP 7, ktoré už samotný projekt PHP nepodporuje.

Takýto stav vytvára dvojitý problém:

  1. Joomla nemožno jednoducho spustiť na modernom serverovom prostredí.
  2. Staré serverové prostredie už nemusí dostávať bezpečnostné opravy.

Riziko sa netýka iba PHP. Skontrolovať treba aj:

  • verziu databázy,
  • webový server,
  • SSL/TLS konfiguráciu,
  • dostupné PHP rozšírenia,
  • plánované úlohy,
  • systémové knižnice,
  • nastavenia hostingu,
  • oprávnenia súborov a priečinkov.

Verziu PHP však netreba meniť priamo na ostrej stránke bez predchádzajúceho testu. Staré rozšírenia alebo šablóna môžu po zmene prestať fungovať a web môže skončiť s prázdnou stránkou alebo chybou servera.

Staré úpravy jadra a šablóny

Na starších weboch sa často robili úpravy priamo v súboroch Joomla, komponentov alebo šablóny. Takýto zásah síce mohol vyriešiť konkrétny problém, ale po rokoch komplikuje aktualizáciu.

Typické príklady sú:

  • upravené súbory jadra Joomla,
  • zmeny priamo v systémovom komponente,
  • prepísaný JavaScript alebo CSS dodávanej šablóny,
  • nezdokumentované zásahy do databázy,
  • odstránené bezpečnostné kontroly vo formulároch,
  • vlastný PHP kód vložený do článkov alebo modulov,
  • override založený na veľmi starej verzii výstupu.

Pri migrácii nestačí automaticky preniesť všetky pôvodné súbory. Staré úpravy treba analyzovať a rozhodnúť, ktoré sú ešte potrebné. Ich bezmyšlienkové kopírovanie môže preniesť do nového webu aj pôvodné chyby.

Moderné rozšírenia by mali počítať s filtrovaním vstupov, ochranou pred CSRF a XSS, bezpečnou prácou s databázou a obmedzením prístupu k súborom. Tieto oblasti patria medzi základné bezpečnostné postupy pri vývoji rozšírení Joomla.

Slabé heslá a zabudnuté účty

Starý web môže obsahovať účty bývalých zamestnancov, externých dodávateľov alebo testovacích používateľov. Niektoré z nich môžu mať oprávnenia Super User a heslo, ktoré sa celé roky nezmenilo.

Rizikové sú najmä:

  • rovnaké heslo použité vo viacerých službách,
  • krátke alebo ľahko uhádnuteľné heslá,
  • používateľské meno admin,
  • účty bývalých správcov,
  • zdieľaný administrátorský účet,
  • nepoužívané FTP a databázové účty,
  • prístupové údaje uložené v starých e-mailoch,
  • chýbajúce viacfaktorové overovanie.

Každý správca by mal mať vlastný účet. Pri bezpečnostnom incidente je potom možné zistiť, kto a kedy vykonal konkrétnu zmenu.

Pri audite treba zmeniť nielen heslá v Joomla, ale podľa situácie aj:

  • heslo hostingu,
  • FTP alebo SFTP prístupy,
  • databázové heslo,
  • heslá e-mailových schránok,
  • prístup do DNS a k registrátorovi domény,
  • API kľúče externých služieb,
  • heslá zálohovacieho systému.

Web môže byť napadnutý bez viditeľných príznakov

Nie každý útok zmení úvodnú stránku alebo zobrazí výhražné oznámenie. Útočník sa môže snažiť zostať skrytý čo najdlhšie.

Medzi možné príznaky kompromitácie patria:

  • nové alebo zmenené súbory PHP,
  • neznáme súbory v priečinkoch s obrázkami,
  • zmenené súbory index.php,
  • dodatočné pravidlá v .htaccess,
  • skryté administračné účty,
  • presmerovania na cudzie stránky,
  • spamové stránky viditeľné iba vo vyhľadávačoch,
  • podozrivé odosielanie e-mailov,
  • vysoké zaťaženie servera,
  • nezvyčajné záznamy v prístupových logoch,
  • neznáme plánované úlohy,
  • opakované obnovovanie odstráneného škodlivého kódu.

Samotné odstránenie jedného podozrivého súboru nemusí problém vyriešiť. Útočník mohol vytvoriť viacero zadných vrátok, zmeniť databázu alebo získať heslá k hostingu.

Ako bezpečne skontrolovať starú Joomla stránku

Kontrola by mala prebiehať systematicky. Náhodné aktualizovanie jednotlivých častí priamo na ostrom webe môže spôsobiť výpadok a zároveň zničiť stopy po prípadnom útoku.

1. Zistite presnú konfiguráciu

Zaznamenajte:

  • presnú verziu Joomla,
  • verziu PHP a databázy,
  • názov a verziu šablóny,
  • všetky nainštalované rozšírenia,
  • aktívne aj vypnuté pluginy,
  • používateľské účty a oprávnenia,
  • dostupné zálohy,
  • vlastné úpravy,
  • externé prepojenia,
  • spôsob odosielania e-mailov.

Pri veľmi starej stránke nemusí administrácia zobrazovať všetky potrebné informácie. Časť údajov bude potrebné zistiť zo súborov a databázy.

2. Vytvorte úplnú zálohu

Záloha musí obsahovať:

  • všetky súbory webu,
  • databázu,
  • konfiguračný súbor,
  • prípadné externé priečinky,
  • informácie o verzii PHP,
  • export DNS a serverových nastavení, ak sú dôležité.

Zálohu uložte mimo pôvodného servera. Následne overte, či ju možno skutočne obnoviť. Oficiálny bezpečnostný kontrolný zoznam Joomla odporúča zálohovať včas, pravidelne a mať otestovaný proces obnovy.

Ak existuje podozrenie na napadnutie, záloha môže obsahovať škodlivý kód. V takom prípade slúži aj ako analytická kópia, nie automaticky ako čistý bod obnovy.

3. Vytvorte testovaciu kópiu

Migráciu ani rozsiahlu aktualizáciu nerobte prvýkrát na ostrom webe. Testovacia kópia by mala byť:

  • oddelená od produkčnej stránky,
  • chránená heslom alebo obmedzením IP adries,
  • vyradená z indexovania,
  • nastavená tak, aby neposielala skutočné e-maily,
  • používaná s kópiou databázy.

Na testovacom prostredí možno preveriť kompatibilitu PHP, rozšírení a šablóny bez ohrozenia verejnej stránky.

4. Skontrolujte rozšírenia

Rozdeľte ich do štyroch skupín:

  1. Aktívne a podporované – možno ich aktualizovať.
  2. Nahraditeľné – funkciu možno vyriešiť jadrom Joomla alebo iným rozšírením.
  3. Nepotrebné – možno ich odstrániť.
  4. Kritické a nepodporované – vyžadujú náhradu alebo preprogramovanie.

Zoznam zraniteľných rozšírení spravovaný komunitou Joomla zhromažďuje hlásenia o bezpečnostných problémoch doplnkov. Joomla Security Strike Team rieši priamo najmä jadro a framework; problémy rozšírení sa majú hlásiť ich výrobcom a do príslušného zoznamu.

5. Skontrolujte súbory, databázu a logy

Dôležité je preveriť:

  • nedávno zmenené PHP súbory,
  • nezvyčajné názvy a umiestnenia súborov,
  • zápisy do .htaccess,
  • používateľov s vysokými oprávneniami,
  • podozrivé články alebo menu,
  • plánované úlohy,
  • záznamy webového servera,
  • neúspešné pokusy o prihlásenie,
  • odchádzajúce e-maily,
  • zmeny DNS.

Najlepším porovnaním je čistý inštalačný balík rovnakej verzie a pôvodné balíky rozšírení. Rozdiel medzi nimi môže odhaliť zmenené alebo doplnené súbory.

Aktualizácia alebo vytvorenie nového webu?

Pri starom Joomla webe existujú tri základné možnosti.

Priama aktualizácia

Je vhodná vtedy, keď:

  • stránka používa relatívne novú verziu,
  • rozšírenia majú podporované nástupnícke verzie,
  • šablóna je kompatibilná,
  • vlastných úprav je málo,
  • databáza je v dobrom stave.

Aktualizácia musí prebiehať po podporovanej ceste medzi jednotlivými hlavnými verziami. Nemožno predpokladať, že veľmi starý web sa jedným kliknutím zmení na Joomla 6.

Migrácia obsahu

Používa sa, keď pôvodná inštalácia nie je vhodná na priamu aktualizáciu, ale obsah a štruktúru možno preniesť.

Prenášať možno napríklad:

  • články,
  • kategórie,
  • používateľov,
  • menu,
  • kontakty,
  • obrázky,
  • vybrané údaje rozšírení.

Oficiálna stránka na prevzatie Joomla poskytuje samostatné migračné zdroje aj pre stránky založené na Joomla 1.5 a 2.5. Pri takýchto verziách už ide skôr o rozsiahlu migráciu než o bežnú aktualizáciu.

Kompletné vytvorenie nového webu

Nový web býva bezpečnejší a ekonomickejší, ak:

  • pôvodná stránka používa Joomla 1.5 alebo 2.5,
  • väčšina rozšírení už neexistuje,
  • dizajn nie je responzívny,
  • obsah je neprehľadný alebo zastaraný,
  • pôvodný kód bol rozsiahlo upravený,
  • existuje podozrenie na dlhodobú kompromitáciu,
  • nie je možné určiť, ktoré súbory sú dôveryhodné.

Pri novom webe sa prenesie iba potrebný a skontrolovaný obsah. Staré systémové súbory sa nekopírujú.

Dočasné opatrenia, keď migráciu nemožno urobiť okamžite

Dočasné zabezpečenie nenahrádza aktualizáciu, môže však znížiť riziko počas prípravy migrácie.

Vhodné opatrenia zahŕňajú:

  • obmedzenie prístupu do administrácie podľa IP adresy,
  • dodatočné HTTP heslo pred administráciou,
  • vypnutie nepoužívaných účtov,
  • zmenu všetkých dôležitých hesiel,
  • odstránenie nepotrebných rozšírení,
  • vypnutie registrácie používateľov, ak nie je potrebná,
  • obmedzenie nahrávania súborov,
  • pravidelné externé zálohy,
  • kontrolu zmien súborov,
  • sledovanie serverových logov,
  • použitie vhodne nastaveného webového aplikačného firewallu,
  • oddelenie starej stránky od ďalších webov na hostingu.

Tieto opatrenia sú iba preklenovacím riešením. Firewall môže blokovať známe vzory útokov, ale neopraví chybu v nepodporovanom jadre alebo komponente.

Premena na statický archív

Ak sa stará stránka už nebude meniť a slúži iba ako archív, možno zvážiť jej prevedenie na statické HTML stránky.

Takýto web:

  • nepotrebuje administráciu,
  • nepoužíva PHP ani databázu,
  • neobsahuje aktívne komponenty,
  • má podstatne menšiu útočnú plochu.

Statická kópia však nemusí podporovať formuláre, vyhľadávanie, prihlasovanie ani dynamický obsah.

Čo robiť pri napadnutej starej stránke

Ak existuje dôvodné podozrenie na kompromitáciu, prioritou nie je okamžité vizuálne opravenie stránky.

Odporúčaný postup je:

  1. Dočasne obmedziť alebo odstaviť web.
  2. Uchovať kópiu súborov, databázy a logov na analýzu.
  3. Zmeniť prístupové údaje z čistého zariadenia.
  4. Zistiť pravdepodobný vstupný bod.
  5. Odstrániť zraniteľné rozšírenie alebo pôvodný systém.
  6. Obnoviť iba z dôveryhodnej zálohy alebo vybudovať čistú inštaláciu.
  7. Aktualizovať všetky časti ešte pred opätovným spustením.
  8. Skontrolovať počítače správcov a uložené FTP heslá.
  9. Overiť DNS, e-mailové účty a ďalšie prepojené služby.
  10. Po spustení monitorovať zmeny súborov a prístupy.

Obnova starej zálohy bez odstránenia pôvodnej zraniteľnosti vedie často k opakovanému napadnutiu.

Kontrolný zoznam pre správcu

Starý Joomla web potrebuje bezodkladný zásah, ak platí aspoň niektoré z nasledujúcich tvrdení:

  • používa Joomla 4 alebo staršiu verziu,
  • neviete určiť presnú verziu systému,
  • aktualizácie sa nevykonali dlhšie než rok,
  • používajú sa nepodporované rozšírenia,
  • web funguje iba na zastaranom PHP,
  • neexistuje aktuálna a otestovaná záloha,
  • všetci správcovia používajú jeden účet,
  • nepoužívané účty zostali aktívne,
  • na serveri sú neznáme PHP súbory,
  • šablóna alebo komponenty boli upravované priamo,
  • výrobca šablóny už neposkytuje podporu,
  • stránka odosiela nevyžiadané správy,
  • prehliadač alebo vyhľadávač zobrazuje bezpečnostné varovanie.

Čím viac bodov platí, tým menej vhodné je pokračovať iba v drobných opravách.

Záver

Stará Joomla stránka nie je nebezpečná preto, že vyzerá zastarano. Nebezpečná je vtedy, keď používa softvér bez podpory, neaktualizované rozšírenia, staré serverové prostredie a účty, nad ktorými už nikto nemá prehľad.

Základom bezpečného riešenia je:

  • poznať presnú konfiguráciu webu,
  • vytvoriť a otestovať zálohu,
  • vykonať audit rozšírení a používateľov,
  • skontrolovať súbory a logy,
  • pripraviť migráciu na podporovanú verziu,
  • neaktualizovať prvýkrát priamo na ostrej stránke,
  • neprenášať neznáme staré súbory do nového webu.

Dočasné bezpečnostné opatrenia môžu znížiť riziko, ale nepodporovaný systém nedokážu zmeniť na dlhodobo bezpečné riešenie. Pri Joomla 4 a starších verziách by preto cieľom nemalo byť ich trvalé „udržanie pri živote“, ale riadne naplánovaná aktualizácia, migrácia alebo náhrada novým webom.

Image

môj CMS je slovenský informačný portál venovaný redakčnému systému Joomla. Prináša zrozumiteľné návody, praktické tipy, novinky, bezpečnostné upozornenia a informácie o aktualizáciách, šablónach a rozšíreniach pre začiatočníkov aj skúsených používateľov.