Všetky známe redakčné systémy spája jeden spoločný problém. Sú častým a obľúbeným cieľom útoku hackerov.
Joomla nie je výnimkou. Ide o celosvetovo druhý najviac využívaný redakčný systém vôbec. Preto vždy bude v hľadáčiku tých, ktorí hľadajú bezpečnostné diery a chyby v systéme.
V tomto návode zistíte, ako zabezpečiť svoju Joomla webstránku pred útokom a hacknutím.
13 jednoduchých krokov, ktoré pri troche snahy, zvládne aj sami.
100%-né zabezpečenie je nemožné. No ak dodržíte tieto typy, drvivú väčšinu útokov váš web odrazí.
1. Aktualizácia redakčného systému
Asi najzásadnejšie opatrenie ktoré môžete dodržiavať je aktuálnosť. Ak by ste mali robiť len jedinú vec pre bezpečnosť vašej stránky, je to práve tento bod. Od verzie 1.6 Joomla ponúka vstavanú komponentu, ktorá aktualizáciu zabezpečuje.
V administrácii nájdete upozornenie na novšie verzii na viacerých miestach. Jedno na vás bude svietiť hneď po prihlásení.
Kliknutím naň sa dostanete do aktualizačnej komponenty. Tu uvidíte hlásenie o tom, akú verziu máte a na akú idete aktualizovať. Odporúčam fungovať len v základnom nastavení a aktualizovať na stabilné verzie.
Tiež sledujte upozornenia a odporúčania (žltý rámček). Treba mať istotu že nainštalované rozšírenia sú kompatibilné s verziu na ktorú prechádzate. Najideálnejšie je tiež urobiť zálohu databázy a súborov. Ak zálohu pravidelne nezabezpečuje váš hosting, musíte zálohovať manuálne. Buď priamo stiahnutím všetkých súborov a databázy, čo je veľmi zdĺhavé, alebo použiť komponentu ktorá urobí zálohu sama.
Je tiež vhodné mať testovaciu verziu webstránky, kde si prípadné zložitejšie kroky viete vyskúšať.
Upozornenie:
Pozor na generačné aktualizácie medzi verziami 1 – 1.5 – 1.6 – 1.7 – 2.5 – 3. Tie je vhodné nechať na odborníka. Niektoré sa medzi sebou updatnúť nedajú, pri iných zase môžu prestať fungovať rozšírenia a tým aj celá stránka. O tejto problematike píšem viac tu.
2. Analyzovanie doplnkov a rozšírení
Doplnkové komponenty, moduly a pluginy môžu obsahovať bezpečnostné riziká, byť zastaralé či obsahovať chyby. Joomla vás na ich nové verzie upozorňuje a umožňuje nainštalovať nové verzie priamo z administrácie. Túto možnosť však musí podporovať aj samotné rozšírenie. Ak to nerobí, novú verziu si musíte stiahnuť zo stránky jej vývojára.
Rozšírenia nehodno podceňovať. Joomla je veľmi populárna, základňa vývojárov rozšírení je preto veľmi veľká. Nie všetci kladú prím na bezpečnosť ich aplikácie. Preto je dobré mať na stránke len tie, ktorým dôverujete. Tie u ktorých bola nájdená bezpečnostná chyba nájdete v zozname zraniteľných rozšírení – VEL.
Akými pravidlami sa riadiť pri výbere komponentov a pluginov pre CMS Joomla?
- Ak nemáte skúsenosti, používajte iba rozšírenia z katalógu JED
- Riaďte sa množstvom a kvalitnou ohodnotenia od používateľov
- Často dostupné nové aktualizácie sú pozitívnym signálom
- Ponúka vývojár možnosť automatickej aktualizácie priamo z administrácie?
- Vystupuje vývojár otvorene a ponúka možnosť ako ho kontaktovať?
- Doplnkovú podporu pri prípadných problémoch očakávajte len pri platených aplikáciách
Odinštalujte nepoužívané súčasti
Často sa najmä pri vývoji webstránky stáva, že vyskúšate viac aplikácií, kým si vyberiete tú najvhodnejšiu. Na tie ostatné nezabudnite. Najlepšie je všetko čo neplánujete využívať ihneď odstrániť.
Kompaktnosť a jednoduchosť systému je najlepšou cestou k vyššej bezpečnosti systému.
3. Výber spoľahlivého hostingu
Lepší hosting nie je len o tom, že možno zaplatíte viac. Lepší hosting je aj o lepších službách, lepšej architektúre a vyššej bezpečnosti. Môžete totiž robiť čokoľvek pre lepšiu ochranu, ak bude hosting obsahovať bezpečnostné diery a zlé nastavenie, bude vám to k ničomu.
Ako si vybrať správny hosting?
Pre každého je vhodné niečo iné, no my sa bavíme o Joomle. Siahol by som preto po takom hostingu, ktorý priamo s Joomlou počíta. Zistíte to napríklad tak, že vo svojich službách ponúka automatickú inštaláciu tohoto redakčného systému. Táto skutočnosť je predpokladom vhodného základného nastavenia.
4. Používajte silné heslá a nepoužívajte základný login
Veľmi „obľúbenou“ chybou je použitie jednoduchých a známych hesiel. V takom prípade sa neuchránite ani takzvanému Brute Force útoku. Pri ňom hacker, alebo na to vyvinutý robot, jednoducho skúša rôzne heslá, až kým nenájde to správne.
Ak sa vám niekto prihlási do administrácie, je akákoľvek ochrana len peknou pozlátkou.
Ako zostaviť správne heslo?
Je veľmi zložité uhádnuť personalizované heslo z aspoň 8 znakov, ak obsahuje veľké a malé pismeno, čislo a prípadne iný znak.
Zmeňte tiež základne prihlasovacie meno – admin. Je to prvá vec, ktorá bude pri útoku skúšaná. Druhou v poradí bude názov vašej stránky ;), takže to tiež nie je dobrá cesta.
5. Dvojfaktorová autentifikácia
Joomla ponúka funkciu dvojfaktorovej autentifikácie.
Čo to znamená?
Že sa musíte prihlásiť s dvomi heslami. Jedno, o ktorom píšem v prechádzajúcom bode, je vami vytvorené. Druhé je jednorázové heslo, ktoré je vždy iné. Bez neho nie je možné prihlásiť sa. Ak by ho aj niekto zistil, je mu na nič, pretože v krátkej dobe vyprší jeho platnosť a bude potrebovať heslo nové.
Máte dostupné dve rozdielne metódy tvorby premenlivého hesla:
- Google Authenticator – čo je aplikácia pre smartphone a PC
- Yubikey – využíva harvérový znak jedinečný pre vaše zariadenie
Viac detailov o dvojfaktorovom prihlásení nájdete na oficiálnej stránke.
6. Neprihlasujte sa z nedôveryhodných zariadení a na takýchto sieťach
Robiť akékoľvek dôležitejšie operácie na verejných sieťach, prípadne hromadne zdieľaných zariadeniach, je riskantné. Neviete kto, kedy a ako tieto prostriedky využil pre svoje pokusy a prospech. Preto už samotné prihlásenie sa na takomto mieste môže byť pre bezpečnosť stránky problémom.
7. Používajte súbor .htaccess
Pre hosting, ktorý beží na systéme Apache, ide o kritický konfiguračný súbor. Takýto server bude mať drvivá väčšina z nás.
Každá verzia Joomly ponúka v základnej inštalácii aj tento súbor. Nájdete ho v koreňovom adresári pod názvom htaccess.txt. Ak ho však chcete využiť, je nutné ho aktivovať.
To urobíte jednoducho. Premenujete súbor na .htaccess a umiestnite do koreňového adresára. Nie bodka na začiatku nie je chyba! Musí mať presne tento tvar.
S každou aktualizáciou sa stiahne nový súbor htaccess.txt. Pre istotu ho z času na čas skontrolujte či nie je zmenený a netreba použiť nový.
Pozn.:
Ak niekto váš web spravoval predtým, mohol do súbor pridať vlastné pravidlá. Napríklad rôzne presmerovania. Tie je potrebné skopírovať do nového súboru.
8. Používajte URL priateľské pre vyhľadávače - SEF
Okrem toho že sú ľahšie zapamätateľné pre ľudí a dôležité pre SEO, zabránia tiež ľahkej identifikácii komponent ktoré používate. Zamaskujete tak aspoň sčasti bezpečnostné chyby využiteľné hackerom.
9. Správne nastavenie oprávnení súborov
Každý súbor a adresár nahratý na vašom hostingu má priradené vlastné prístupové práva. Tie hovoria o tom, čo a hlavne kto, môže so súborom a adresárom robiť. Všetky adresáre Joomly by na servery mali mať prístupové práva 755 a všetky súbory práva 644. Výnimkou je len konfiguračný súbor configuration.php, ktorý by mal mať nastavenie bezpečnejšie. Zdroje sa rôznia. Buď 604 alebo 444.
10. Používajte SSL certifikát
SSL pripojenie pridáva extra vrstvu ochrany vašej stránky. SSL sprostredkúva šifrovanú komunikáciu medzi vami a serverom. Znamená to, že aj keby niekto odchytil komunikáciu medzi vami a serverom a dostal by sa takto k vašemu heslu, dostane ho v šifrovanej podobe, ktorá mu nebude na nič dobrá.
11. Nepoužívajte integrovanú FTP vrstvu.
Pre väčšinu administračných úkonov nie je potrebná. Preto je aj v základnom nastavení deaktivovaná. Ak ju potrebujete, zapnite ju len na nutný čas a potom znovu vypnite. Na prenos súborov na hosting a podobne používajte radšej externú aplikáciu, ktorú zapnete len keď ju potrebujete.
12. Ochráňte prihlasovaciu stránku do administrácie
Keďže je Joomla veľmi obľúbená, každý kto chce útočiť na web zostavený v tomto CMSku vie kde má začať.
Prihlasovaciu stránku môžete chrániť viacerými spôsobmi.
Prezrite si nastavenia hostingu a možno objavíte nastavenie heslovania adresárov. Zvoľte si adresár prihlásenia do administrácie, nastavte heslo a vaša prihlasovacia stránka má dvojitú ochranu.
Ak sa prihlasujete vždy len z jedného miesta a váš poskytovať internetového pripojenia vám pridelil statickú IP adresu, viete obmedziť prístup len pre túto jednu IPčku. Urobíte to vytvorením .htaccess súboru v administračnom adresári. Do neho vložíte nasledovný kód:
order deny,allow
deny from all
allow from VAŠAIP
Robte to ale naozaj len v pripade ak ste si istý, že máte statickú IP adresu a nepotrebujete sa pripájať z iného miesta.
Ďalšou možnosťou je zmeniť názov adresára do administrácie. To ale nemôžete urobiť jednoduchým prepísaním názvu, inak svoj web znefukčníte. Dá sa to však dosiahnuť pomerne jenoducho pomocou bezpečnostnej komponenty. Čitajte ďalší bod...
13. Použite bezpečnostnú komponentu
Ak chcete ochranu posunúť ešte o ďalší level vyššie, odporúčam nainštalovať si do Joomly bezpečnostnú komponentu. Okrem toho, že vám niektoré z predchádzajúcich krokov vie zjednodušiť, ponúkajú veľa možností, ktoré bez takejto nadstavby nikdy nedosiahnete.
Pozrime sa na niektoré z nich:
Proaktívna ochrana – vyberte si komponentu, ktorá ma integrovaný firewall. Zväčša ho nájdete ukrytý pod skratkou WAF – web application firewall. Poskytuje aktívnu ochranu proti rôznym druhom útokov. Takými môžu byť zmeny v súboroch, nahratie nežiadúcich súborov, napadnutie databázy a iné.
Ochrana administrátorského rozhrania – aplikácie dokážu rýchlo zmeniť dobre známu prihlasovaciu adresu. Napríklad zmenou názvu adresára, alebo pridaním parametra, bez ktorého prípadného útočníka ľahko identifikuje a zablokuje.
Obmedzenie počtu pokusov prihlásení – obľúbeným a jednoduchým útokom o ktorom sme už písali je „skúšanie správneho hesla“. Je preto dobré obmedziť počet neplatných pokusov o prihlásenie a v prípade ich prekročenia nastaviť adekvátnu reakciu.
Blokovanie známych IP adries – komponenty si uchovávajú záznamy o útokoch. O čo sa hacker pokúša a odkiaľ prichádza. Dajú sa nastaviť rôzne pravidlá, podľa ktorých je potom akákoľvek aktivita z previnilých IP adries blokovaná dočasne, prípadne aj natrvalo pridaním do blacklistu.
Funkcie sa samozrejme rôznia podľa použitej komponenty. Na oficiálnej stránke JED ich nájdete niekoľko desiatok. Ako pri výbere iných rozšírení, aj tu vyberajte dôsledne. Vyskúšajte si funkčnosť základnej verzie, ak je dostupná zadarmo. Odporúčam ale, zadovážiť si platenú PRO verziu, ktorá obsahuje plnú funkčnosť bezpečnostnej komponenty a tiež prípadnú pomoc od vývojárov, ak by vám niečo nefungovalo.
Záver
Bezpečnosť webovej stránky neberte na ľahkú váhu. Obzvlášť pri redakčných systémoch. Oplatí sa investovať zopár koruniek navyše do kvalitnejšej ochrany.
Ak budete nasledovať tieto body, významne znížite riziko šance byť hacknutý.
Riešiť havarijnú situáciu, keď už je váš web prelomený, je náročnejšie. Vyhľadávače na to taktiež reagujú veľmi citlivo ... a vo Váš neprospech. Takže cena za ľahostajnosť môže byť pomerne vysoká, ak je ňou strata návštevnosti.
A to isto nikto z nás nechce.