Väčšina napadnutých Joomla webov nepadne cez nejakú geniálnu dieru v jadre.
Padne cez neaktualizované rozšírenie, slabé heslo alebo starý web, na ktorý všetci zabudli. Dobrá správa: obranu proti 90 % útokov zvládneš týmto zoznamom za jedno popoludnie.
Prejdi to zhora nadol. Nie je to teória — je to to, čo reálne drží weby v bezpečí.
1. Aktualizuj jadro aj rozšírenia — a nie „raz za rok"
Neaktualizovaná Joomla alebo rozšírenie je najčastejšia vstupná brána. Zapni si upozornenia na aktualizácie a rob ich pravidelne. Web na verzii po konci podpory (napr. Joomla 3) sa nemá čím brániť — migruj.
2. Zapni dvojfaktorové overenie (2FA)
Joomla má 2FA priamo v jadre. Zapni ho aspoň pre administrátorské účty. Ukradnuté heslo bez druhého faktora útočníkovi nestačí.
3. Silné heslá a žiadny účet „admin"
Prihlasovacie meno admin je prvé, čo bot skúša. Používaj neutriviálne mená účtov a naozaj silné heslá (správca hesiel, nie hlava).
4. Ochráň /administrator
Backend nemusí byť dostupný celému internetu. Možnosti:
- obmedz prístup na IP (cez nginx/.htaccess alebo firewall),
- pridaj HTTP autentifikáciu pred samotné prihlásenie Joomly (druhá vrstva),
- rozšírenie ako Admin Tools vie backend „zamknúť" a pridať firewall pravidlá.
5. Správne oprávnenia súborov
Priečinky 755, súbory 644, configuration.php po inštalácii 444. Súbory nech patria používateľovi stránky, nie root. Zle nastavené práva = otvorené dvere aj bez „hacku". (Podrobne v setupe na CloudPanel + nginx.)
6. Vyhoď opustené a nepoužívané rozšírenia
Každé rozšírenie je vstupný bod. Ak sa nevyvíja alebo ho nepoužívaš, odinštaluj ho. Menej kódu = menšia útočná plocha. Rozšírenia ber len z dôveryhodných zdrojov (extensions.joomla.org alebo priamo od autora).
7. HTTPS všade a správne
Certifikát (Let's Encrypt cez CloudPanel je zadarmo) a presmerovanie HTTP → HTTPS. Skontroluj, že sa nič nenačítava po HTTP (mixed content). Bez šifrovania cestujú prihlasovacie údaje otvorene.
8. Skry verziu a zbytočné informácie
Nedávaj útočníkovi zadarmo vedieť, čo bežíš. Odstráň ukážkové dáta z inštalácie, nezobrazuj chybové hlásenia s cestami na produkcii (Error Reporting → None/Default).
9. Zálohuj — a otestuj obnovu
Bezpečnosť nie je len prevencia, ale aj schopnosť vrátiť sa. Pravidelná záloha webu aj databázy (napr. Akeeba Backup), uložená mimo servera. A aspoň raz si vyskúšaj, že sa zo zálohy vieš naozaj obnoviť — záloha, ktorú si nikdy neobnovil, je len nádej.
10. Sleduj, čo sa deje
Monitoring dostupnosti a aspoň občasná kontrola logov / zmien súborov. Napadnutý web sa dá zvyčajne odhaliť skôr, než napácha škodu — ak sa niekto pozerá. (Ako spoznať a vyčistiť napadnutý web.)
Toto nie je raketová veda — je to hygiena. Weby nepadajú preto, že by sa nedali ubrániť, ale preto, že sa na tú hygienu zabudlo.
Nechceš to riešiť sám?
Bezpečnostný audit a zabezpečenie Joomly (vrátane vyčistenia napadnutého webu) robíme ako službu. webportaly.sk.
Súvisiace: Migrácia z Joomly 3 na 5 · CloudPanel + nginx