A legtöbb Joomla! támadások alapját a beépülőmodulok/komponensek sebezhetősége, a gyenge jelszavak, valamint az elavult szoftverek használata okozzák.

Talán az egyik legnagyobb hátránya a nyílt forrású CMS-rendszereknek használatának, hogy bárki letöltheti a teljes forráskódot, amelynek segítségével a támadó könnyebben meghatározhatja, hogy melyik oldal fut Joomla! alapokon, így célzottabb támadást tud alkalmazni, hiszen tudni fogja az adott rendszer gyengeségeit.

Legyünk motiváltak: az oldalainkon akár 100-1000 jogosulatlan belépési kísérlet is történhet nap mint nap. A legtöbb esetben a hackerek az úgynevezett Brute force (Nyers erő) támadási módszert alkalmazzák a weboldalakra való bejutásához. A legfontosabb, hogy minimalizálnunk kell a feltörés kockázatát, ezért bizonyos óvintézkedéseket kell tennünk az oldalunk védelmének érdekében.

1. Készítsünk bizonyos időközönként biztonsági másolatot a működő oldalunkról. Ebben lehet segítségünkre az Akeeba Backup nevű bővítmény, amely egy fájlba tömöríti a teljes rendszerünk, amelyet lementhetünk a saját gépünkre. Fontos, hogy biztonsági másolatot soha ne hagyjunk a tárhelyünkön. Bővebb leírás itt olvasható. (Erősen ajánlott)

2. Győződjünk meg arról, hogy mindig a legfrissebb verzióját használjuk a Joomla! alaprendszernek és a külső fejlesztők által készített bővítményeknek. Ebben lehet segítségünkre a Joomla! belső frissítési rendszere, amely segítségével pár kattintás segítségével frissíthetjük a meglévő bővítményeinket. Megjegyzés: Célszerű olyan bővítményeket használnunk, amelyek támogatják a Joomla! beépített frissítő rendszerét, amely íméles értesítést küld a felhaszálónak új frissítés elérhetősége esetén. (Erősen ajánlott)

3. Rejtsük el az adminisztrációs felületünk belépési oldalát - ez alapértelmezetten a /administrator hivatkozás. Ebben lehet segítségünkre az AdminExile nevű bővítmény, amely használatával tetszőlegesen módosíthatjuk a belépési URL-t. Bővebb leírás itt olvasható. (Erősen ajánlott)

4. Rejtsük el oldalunk forráskódjából Joomla! generator címkét. Ebben segítségünkre lehet a ByeByeGenerator bővítmény, amellyel eltávolíthatjuk az árulkodó metát. Bővebb leírás itt olvasható.

5. Klasszikus példája a gyenge biztonságnak, ha továbbra is az „admin” felhasználói nevet alkalmazzuk Super Users-ként (legmagasabb jogosultságkörrel rendelkező felhasználók). Mivel ezt a felhasználói fiókot próbálják legelőször támadni, így ne vesztegessük az időt, nevezzük át a Felhasználókezelőben, valamint rendeljünk hozzá egy erős jelszót.

Erős jelszó:

  • Legalább nyolc karakter hosszúságú
  • Ne használjunk jelszavunkhoz általános szavakat, például: pass, admin, admin123, 12345, qwert stb.
  • Kerüljük a személyes információk jelszóként való használatát, például: kereszt- vagy családnevet stb.
  • Kerüljük a nyilvános jelszógenerátorokat. A jelszógenerátorok különböző generáló algoritmusokat alkalmaznak, melyek visszafejtésével, könnyedén kitalálhatja a támadó a jelszavunkat.
  • Használjunk speciális karaktereket ( *!@#)$ ), számot valamint nagybetűt a jelszavunknál, ha lehetséges.

6. Használjunk kéttényezős hitelesítést az adminisztrációs/felhasználói felületünk belépésénél, amelynek lényege, hogy a felhasználói név és jelszó pároson kívül a mobiltelefonunk által 30 másodpercenként váltakozó 6 jegyű karaktersorozatot is meg kell adnunk a belépéshez. Használatához engedélyeznünk kell a Kéttényezős hitelesítés - Google hitelesítés beépülőmodult, valamint szükségünk van még egy okos telefonra és egy rátelepített kulcsgeneráló alkalmazásra. Bővebb leírás itt olvasható.

7. Kapcsoljuk be a keresőoptimalizálást, hogy elrejtsük a Joomla!-ra jellemző hivatkozásainkat. Ezt a Globális konfigurációban található Webhely fülön tehetjük meg, ahol állítsuk Igen értékre a Keresőbarát URL-címek, az URL-átírás használata valamint az Unicode-aliasok (opcionális, engedélyezi az ékezetes hivatkozásokat) opciókat. Végül a gyökérben található htaccess.txt fájlt nevezzük át .htaccess-re.

8. Az előző pontban átnevezett .htaccess fájlhoz adjuk hozzá a következő sorokat - a RewriteEngine On érték alá - amely segítségével blokkolhatjuk a Joomla! ellenőrzésén kívüli scriptek futtatását:

RewriteCond %{REQUEST_URI}  ^/images/  [NC,OR]
RewriteCond %{REQUEST_URI}  ^/media/  [NC,OR]
RewriteCond %{REQUEST_URI}  ^/logs/  [NC,OR]
RewriteCond %{REQUEST_URI}  ^/tmp/
RewriteRule .*\.(phps?|sh|pl|cgi|py)$ - [F]

9. Ha nincs rá szükségünk a felhasználói oldalon, akkor blokkoljuk le az új felhasználók regisztrációját. Ezt a Felhasználókezelő Beállítások menüpontjában tilthatjuk le.

10. Soha ne hagyjuk fájljainkat vagy könyvtárainkat 777 jogosultsági értékkel, mivel evvel a beállítással mindenki számára elérhetővé/módosíthatóvá/futtathatóvá tesszük azokat.

11. Használjunk „tűzfal” bővítményeket, mint például az ingyenes Marco’s SQL Iniection vagy a fizetős RSFirewall!, amely védelmet nyújthatnak olyan népszerű támadási módszereknek ellen, mint az SQL injekciók, távoli kódfuttatás vagy az XSS alapú támadások. Egyes bővítmények használatához elengedhetetlen a curl() függvény bekapcsolása a szerveren.

12. Mindig megbízható forrásból telepítsük a bővítményeinket, és ne használjunk nem tiszta forrásból származó kiegészítőket, mivel ezek nagy százaléka már ártó kódot tartalmaz. A megbízható bővítmények kiválasztásában nagy segítséget nyújthat a JED-en (Joomla! bővítmények hivatalos gyűjteménye) található értékelő rendszert.

13. Nem használt sablonjainkat, komponenseinket, beépülőinket távolítsuk el, főleg ha már nem támogatottak.

Összegzés

Ez az útmutató ugyan nem védhet minden eshetőség ellen, de ennek a pár egyszerű lépésnek a betartásával, még biztonságosabbá tehetjük weboldalukat, evvel is csökkentve a feltörés kockázatát.