Hogyan tegyük biztonságossá Joomla rendszerünket?

Hogyan tegyük biztonságossá Joomla rendszerünket?

A Joomla tartalomkezelő rendszerek biztonsági fejlesztése

Aki manapság weboldalt üzemeltet vagy weboldalkészítéssel foglalkozik, és különösen, ha ehhez nyílt forráskódú rendszereket használ, naponta szembesül ezeknek a rendszereknek a népszerűségével, amely nemcsak a felhasználók körében tapasztalható, de – sajnos – olykor nagyon kedveltek a különféle támadásokra specializálódott hackerek körében is. A probléma kivétel nélkül jelentős az összes népszerű CMS rendszer esetében (Wordpress, Drupal, Magento stb.) mi azonban ebben a bejegyzésben kifejezetten a Joomla rendszerek biztonsági kihívásait és ezek megnyugtató kezelését tekintjük át. Mindenek előtt azonban nézzük meg, hogy mik szólnak a nyílt forráskód mellett és ellen egy-egy projekt tervezésénél.

Egyedi fejlesztés vagy nyílt forráskód?

Aki weboldalt szeretne létrehozni vállalkozása számára, az hamar szembesül az „egyedi fejlesztésű rendszer vagy nyílt forráskódú rendszer?” dilemmájával. Itt nyilván mindenkinek saját magának kell eldöntenie az egyik vagy másik előnyei és hátrányai alapján, hogy melyik irányban hoz döntést, amit nem nehéz kitalálni, hogy csak kompromisszumokkal lehetséges.

Míg az egyedi fejlesztésű projektekkel rendkívül egyedi és személyre szabott funkciókat és működéseket lehet leprogramozni, és nagy valószínűséggel a kód is egyszerűbb, gyorsabb, és talán biztonságosabb lesz, árban – általában – nagyságrendekkel többet kell, hogy fizessünk érte. Emellett ellene szólhat még az olykor nehezebben kezelhető adminisztrációs felület, valamint a későbbi frissítés és fejlesztés nehéz átruházhatósága. Például, ha megszűnik a fejlesztő cég, vagy mással szeretnénk tovább fejleszteni az oldalt, az sokszor akadályokba ütközhet. Olykor azonban elkerülhetetlen az egyedi fejlesztés, amikor olyan egyedi funkciókra van szükség egy weboldalnál, melyet nyílt forráskódú rendszerekkel nem lehet megoldani.

A Joomla rendszer előnyei

A nyílt rendszerek legfőbb előnye ezzel szemben az ingyenesség, a könnyű kezelhetőség, a nagyszámú ingyenes vagy olcsó kiegészítő, a számtalan gyönyörű sablon, a laikusok számára is viszonylag könnyű kezelhetőség, és a folyamatosan fejlesztett rendszermag. Ezen kívül Joomla rendszerre rendkívül sokan fejlesztenek weboldalt, így ha akár évek múlva szeretnénk frissíteni, továbbfejleszteni oldalunkat, könnyen találhatunk hozzá megfelelő szakembert. Mindezek az előnyök azt eredményezik, hogy ha nincs kifejezetten különleges igény, és nincs hatalmas anyagi keret a fejlesztésre, akkor a legtöbben a nyílt forráskódú (pl. Joomla) rendszerek mellett döntenek.

A biztonság kérdése

A nyílt forráskódnál azonban hiába örülünk az ingyenességnek/olcsó árnak, ha ugyanezzel a nyíltsággal együtt járó biztonsági kockázatokat nem kezeljük megfelelően. Előre kell bocsájtanunk, hogy a megfelelő kezelés mellett és az ajánlott biztonsági előírások, valamint az alábbiakban részletezett néhány biztonsági kiegészítő alkalmazása mellett a Joomla tartalomkezelő rendszerek használata semmivel sem kockázatosabb, mint bármilyen más megoldás. Ezért nyugodtan használjuk őket, ennek az írásnak is az a célja, hogy ügyfeleinket, valamint a Joomla rendszert használókat ellássuk néhány hasznos információval ezzel kapcsolatban. Ezen biztonsági összetevők elvégzéséhez nem szükséges komolyabb szakértelem, gyakorlatilag az oldal bármely adminisztrátor felhasználója el tudja végezni, illetve ha szeretne segítséget igénybe venni hozzá, forduljon hozzánk bizalommal, és kérjen ajánlatot egy biztonsági audit elvégzésére.

Lássuk tehát, hogy mik a leglényegesebb pontok biztonságunk érdekében.

Rendszeres verziófrissítés

Talán bagatellnek tűnik a tanács, hogy végezzük el a rendszermag időről-időre megjelenő frissítését, azonban a tapasztalat azt mutatja, hogy ezt a nagyon komoly biztonsági lehetőséget sem veszik nagyon sokan igénybe. A Joomla rendszermagját folyamatosan fejlesztő közösség szabályos időközönként közreadja a rendszer frissítését, amely sok fejlesztett funkció mellett a biztonsági javításokat is tartalmazza. A Joomla 3-as verziójában a rendszerfrissítéseket már „egy gombnyomásos”, nagyon egyszerű telepítési lehetőséggel találjuk meg, amelyre rákattintva lefut a teljes frissítés, tőlünk semmilyen más beavatkozásra nincs szükség.

A rendelkezésre álló rendszerfrissítéseket az adminisztrátori oldalon, a belépés után közvetlenül egy piros gombbal jelzi a rendszer, amit a fent leírtak alapján mindig vegyünk is igénybe, hogy hozzájussunk a legfrissebb biztonsági javításokhoz.

A komponensek frissítési lehetőségeire szintén felhívja a figyelmet az admin felület kezdőlapja, ezeket is ajánlatos időről-időre frissíteni.

A frissítés előtt, biztos, ami biztos, ajánlott elvégezni egy biztonsági mentést a weboldalunkról, például az Akeeba Backup komponenssel. Amennyiben nem ismeri a kezelését, kérjen segítséget. Az Akeeba Backup újabb verzióiban már be van építve a Joomla verziófrissítés előtti automatikus mentés.

Amennyiben az automatikus frissítés nem működik, egy hibaüzenetet kapunk. Ennek több oka lehet, előfordulhat, hogy a fájl, ill. könyvtár írási jogosultságokkal van gond, amelyeket ideiglenesen meg kell változtatni, vagy a frissítés előtti automatikus mentés ütközik akadályokba, és emiatt nem fut le a frissítési folyamat. Ezek megoldását, ha nem vagyunk biztosak magunkban, inkább bízzunk szakértőre, vagy kérjen ajánlatot tőlünk.

A frissítés után, ha szükséges, javítsuk ki az adatbázist a beépített javítási gombbal.

A régebbi Joomla verziók frissítése (Joomla 1.0, 1.5, 1.6, 1.7, 2.5, 3.x)

A Joomla 1.5 fejlesztése és frissítése évek óta megszűnt, a 2.5-ös verzió fejlesztése pedig 2014 decemberében fejeződött be. Ezért a biztonság szempontjából mindenkinek ajánlott, hogy aki még ilyen verziószámú weboldallal rendelkezik, az minél hamarabb frissítsen a legújabb verzióra. Azt is hozzátehetjük, hogy minél régebbi a verzió ez annál fontosabb. Joomla 1.5-ről vagy 2.5-ről 3-ra frissíteni azonban már egy komolyabb beavatkozást igényel, amelyet bízzunk inkább szakértőre. Amennyiben ehhez segítségre van szüksége, kérjük keressen minket bizalommal. A régebbi verziók frissítése során különösen az a kihívás, hogy miközben megőrizzük a weboldal szöveges és képes anyagait (migráljuk) gyakorlatilag körülötte minden mást cserélni vagy szintén frissíteni kell. A régebbi verziók sablonjai az esetek legnagyobb részében nem kompatibilisek az újabb verziókkal, ezért alapból sablont kell cserélni. Ehhez kapcsolódóan újra kell definiálni a modulhelyeket, cserélni illetve frissíteni kell a komponenseket, adatbázis importokat kell alkalmazni, és még sorolhatnánk. Tapasztalat és szaktudás nélkül ne vágjunk bele. Joomla verziófrissítési ajánlatunkat itt találja.

A felhasználóneved neked is ”admin”?

Ha már a legújabb verzión fut a Joomla oldalunk, továbbmehetünk egy másik általános probléma megbeszélésére. Egy másik alapvető biztonsági kérdés az adminisztrátori felület belépési felületén adódik. Erre a kérdésre még a későbbiekben visszatérünk, amikor a belépési felület elrejtéséről lesz szó, egyelőre csak egy nagyon alapvető dologról szólnánk. Egyes felmérések szerint a jelszavas belépési felületeknél a leggyakrabban használt felhasználónév az „admin”. (Itt még megemlíthetjük továbbá a „qwerty”, „1234” „felhasználónév”, szintén Darwin díjas változatokat ) Vagy ezeken kívül valamilyen személyes adatunk, pl. keresztnév, becenév, a weboldal domain neve, stb a felhasználónevünk vagy jelszavunk. Talán mondanunk sem kell, hogy ha a miénk is ezekhez hasonló, akkor sürgősen változtassuk meg, a már biztosan sokszor halott recept szerint: a névnek/jelszónak tartalmaznia kell kisbetűt, nagybetűt, számot, és jó, ha van benne valamilyen speciális karakter is (pl. %, !, stb.) emellett minimum 8 karakter hosszú. Bár ezt nagyon sokan tudják, mégsem alkalmazzák, pedig csupán ezzel már egy komolyabb biztonsági szintre kerülne a weboldaluk. Igyekezzünk megtalálni a kompromisszumot a még megjegyezhető, de már megfelelően összetett jelszóra, mert a jelszó leírását, feljegyzését, biztonsági okokból nem javasoljuk. (Az a kedvencem, amikor a weboldal neveit és a tárhely jelszavait egy „user.doc” vagy hasonló nevű dokumentumban a szerveren tárolják.)

A felhasználói jogosultságok beállítása

A felhasználói jogosultságok kezelésénél szintén olyan területre érkezünk, amelynek helyes beállításaival nagymértékben növelhetjük weboldalunk biztonságát. Amennyiben weboldalunknak több adminisztrátora van, igyekezzünk a még megfelelő legkisebb jogosultság elvét alkalmazva kiosztani a jogosultságokat, tehát egy olyan munkatársnak, aki csak az aktuális cikkeket/blogbejegyzéseket helyezi el az oldalon, felesleges „Super user” szintű hozzáférést adni, elegendő egy „Administrator” szintű hozzáférés. Ezzel sok felesleges kockázatot spórolhatunk meg.

Lehetőleg az oldalnak csak egyetlen Super user szintű felhasználója legyen, a fentebb részletezett értelmes (és biztonságos) felhasználónév/jelszó kombinációval. A további munkatársak hozzáféréseit lehetőleg az oldal fő adminisztrátora adja meg, ne bízzuk a munkatársakra akik általában a legkönnyebben megjegyezhető (nem biztonságos) jelszavakat alkalmazzák.

A regisztrált látogatók biztonságos kezelése

Egy másik ide vágó kérdés az oldalon regisztrált látogatók biztonságos kezelése. Akinek nagy forgalmú weboldala van, ahol engedélyezve van a regisztráció, az bizonyára találkozott már az olykor rendkívül nagy számú spam-regisztrációkkal. Ezek általában ukrán, lengyel, orosz, litván... stb. email címekkel rendelkező „fgkjhkkJkl” „felhasználónevű”, hacker-programok által regisztrált „látogatók”, amelyek nagyon megnehezíthetik a regisztráltak kezelését, és alkalom adtán veszélyesek is lehetnek. Azonban ezek kiszűrését is meg lehet oldani átgondolt beállításokkal:

1. Amennyiben megoldható, a felhasználókezelő beállításaiban ne engedélyezzük az önregisztrációt, hanem az adminisztrátor általi jóváhagyást válasszuk, ezáltal a spam-regisztrációkat rögtön észrevesszük, és törölhetjük, és csak a valódi felhasználókat hagyjuk jóvá. Természetesen ez nagy forgalmú weboldalaknál nem mindig kivitelezhető.

2. Jelentősen lecsökkenti a spam-regisztrációk számát a regisztrációs oldalon alkalmazott Captcha kód. Szerencsére a Joomla teljes mértékben támogatja ezt, így csak egy Captcha kódot kell beszereznünk a Google oldalán, valamint a beépülő moduloknál ez alapján beállítani a Captcha plugint, és a felhasználókezelőben beállítani, hogy a regisztrációnál szerepeljen a Captcha . Ezáltal a spam-regisztrációs scriptek nem férnek hozzá az oldalunkhoz. Ha segítségre van szüksége a beállításban, forduljon hozzánk bizalommal.

3. Amennyiben nem szükséges regisztráció a weboldalunkhoz, ne feledjük el kikapcsolni a felhasználókezelőben.

Az adminisztrációs felület elrejtése

A Joomla és általában a tartalomkezelő rendszerek egyik legnagyobb biztonsági kihívása a minden ilyen weboldalnál azonos url-en elérhető adminisztrátori felület. Ez Joomla esetében a „valami.hu/administrator” url. Joomla alapú oldalaink biztonságának egyik legfontosabb feladata, hogy ezt az url-t megváltoztassuk az alapértelmezett változattól eltérőre. Miért? A hackerek egyik kedvenc módszere a hozzáférhető „felhasználónév/jelszó” párossal védett belépési felületek „próbálkozós” támadása, az úgynevezett „Brute force” támadás. 

(Ez azt jelenti, hogy különböző scriptekkel, akár másodpercenként több, folyamatosan változó felhasználónév/jelszó kombinációval próbálnak belépni weboldalunkra. Most már azt is tudjuk, miért nem biztonságos az „admin” felhasználónév, ugyanis ezzel kezdik...)

Ezért ha a támadók tudják, hogy minden Joomla alapú oldal admin felületét azonos url-en érik el, rendkívül könnyű támadási felületet hagyunk weboldalunknak.

Az admin felületünk url-jét több módszerrel is levédhetjük, ezek egyike például, ha a szerverünkön az „administrator” könyvtárat jelszóval védetté tesszük, ez egy viszonylag egyszerű beállítás, amit például a Cpanelen könnyedén elvégezhetünk, és ez már egy plusz biztonságot ad az adminisztrációs oldalunknak.

Egy másik, sokkal komolyabb és kiforrottabb biztonsági megoldás egy Joomla komponenshez kötődik, amelyet az alábbiakban fogok részletesebben kifejteni, és ott írom le, ezzel a komponenssel hogyan lehet még nagyobb biztonságban védetté tenni admin felületünket, valamint számtalan más, hasznos biztonsági beállítást véghezvinni.

Az Akeeba Admin Tools pro biztonsági komponens

Az Akeeba Admin Tools komponens egy olyan programozó – Nicholas Dionysopoulos – és csapata nevéhez fűződik, akik maguk is részt vesznek a Joomla rendszermag fejlesztésében, ezért első kézből ismerik annak minden kihívását. Az általuk létrehozott komponens, bár nem ingyenes, de mindenképpen megéri az árát.

Ezzel a komponenssel többek között tetszőleges url-re helyezhetjük weboldalunk admin felületét, de ezen kívül tetszőleges határokat szabhatunk a „próbálkozásoknak” is. Beállíthatjuk például, hogy egy órán belül 3 sikertelen próbálkozás után tiltsa le a próbálkozó IP címét. Az illetéktelen próbálkozó ezután már nem képes hozzáférni a weboldalunkhoz. Természetesen a hackerek ezt is ki tudják kerülni egy másik IP cím alkalmazásával, de már ezzel is nagyságrendekkel „megnehezítettük” a dolgukat.

Az Admin Tools rendkívül sokrétű beállítási lehetőséggel rendelkezik, ezek részletezésére egy külön bejegyzés sem lenne elég, egy biztonsági audit keretében mindezeket a beállításokat „finomhangoljuk” ügyfeleink részére. Ne sajnáljuk azt a pár ezer Forintot erre az összetevőre, mert weboldalunk biztonságát rendkívül magas szintre helyezhetjük vele!

Csak megbízható Joomla összetevőket használjunk!

Talán mondanunk sem kell, de azért megemlítjük, hogy Joomla weboldalunk összetevőit (például sablon, komponensek, modulok) csak megbízható forrásból szerezzük be, leginkább a Joomla hivatalos extension oldaláról (www.extensions.joomla.org). Sokan hajlamosak ugyanis, hogy a fizetős kiegészítőket különböző torrent vagy hacker oldalakról szerezzék be. Több esetben találkoztunk már olyannal, hogy az ilyen bizonytalan forrásból beszerzett kiegészítők súlyosan fertőzött fájlokat/kódokat tartalmaztak és az egész oldal használhatatlanná vált miattuk. Nem éri meg kockáztatni, szánjuk rá azt a pár ezer forintot a fizetős kiegészítőkre a biztonságunk érdekében, és ne csábuljunk el az Internet illegális „bugyraiban” letölthető kiegészítőktől, mert szinte biztos, hogy kártékonyak lesznek, és egész munkánk kárbavész. Emellett ezek olykor az egész szerverre is veszélyesek lehetnek, szóval valószínűleg a szolgáltatónk se fogja „díjazni”...

Tárhely/szolgáltató

Ha már a szolgáltatónál tartunk, nem csak magának a weboldalnak a biztonsága a fontos, hanem legalább ilyen komoly jelentősége van annak is, hogy milyen tárhely szolgáltatót választunk. Ha még most készülünk weboldalunk elindítására, akkor nagyon körültekintően válasszunk szolgáltatót, ha pedig már működő weboldalunk van, és az alábbiakban részletezett, kevésbé biztonságos tárhelyünk van, érdemes megfontolni a szolgáltatóváltást.

Általánosságban abból szoktak kiindulni, hogy minél nagyobb egy szolgáltató, annál kevésbé engedheti meg magának, hogy rossz minőségű/kevésbé biztonságos szolgáltatást nyújtson. Ez sok esetben igaz, de mi már találkoztunk az ellenkezőjével is . Ezért ezt nem lehet minden további nélkül „készpénznek” venni. A biztonságnál az egyik „ökölszabály” lehet, hogy például a szolgáltató biztosítja-e a PHP verziókból a legújabb, biztonsági fejlesztésben legkorszerűbbnek számító verziókat. A jelenleg (2016 vége) legújabbnak számító PHP 7-et már a Joomla 3.5-ös verziója is támogatja, ezért semmi akadálya (sőt biztonsági okokból erősen ajánlott) hogy a PHP 7-es verziója fusson a szerverünkön. Ezért válasszunk olyan szolgáltatót, aki ezt biztosítani tudja. Sajnos sok olyan szolgáltatóval találkozunk munkánk folyamán, ahol úgy kell „könyörögni” egy PHP 5.4-ért, amelynek mellesleg már a fejlesztését is leállították, ezért már egy ideje biztonsági frissítése sincs... (Emellett a szolgáltatónál teszteljük le/vagy kérjük el a betöltődési sebességre vonatkozó adatokat, mivel a Google-nál a sebesség is kiemelten fontos tényező, valamint részesítsük előnyben az SSD-t (is) alkalmazó szolgáltatókat.) Vagy egyszerűen kérdezzünk rá webfejlesztőknél, hogy kivel elégedettek, mindenki több jó szolgáltatót is ismer.

SSL/https

Fontos biztonsági szempont lehet, valamint a Google-nál is jó pontokat érhetünk el vele, ha weboldalunkat alkalmassá tesszük a https protokollal való működésre. Ennek beállítását bízzuk szakemberre/szolgáltatóra csak megemlítem, hogy weboldalunk jóval biztonságosabbá válik általa. Ezen kívül a Goolgle-nál a https protokoll rangsorolási tényező!

Összegzés

Amint látható, a Joomla rendszerek megfelelően és magas szintűen biztonságossá tehetők, amelyet a fentiekben próbáltunk egy rövid betekintést nyújtani. Mivel nagyon összetett feladatról van szó, nem térhettünk ki minden részletre, de már ezzel a néhány szemponttal is reméljük, hogy hozzájárulhattunk, hogy hosszú távon elégedetten használhassa az olykor jelentős értéket képviselő és komoly összegeket termelő Joomla alapú weboldalát/webáruházát. Amennyiben szeretné igénybevenni Joomla biztonsági audit szolgáltatásunkat, kérjük vegye fel velünk a kapcsolatot elérhetőségeinken, és elvégezzük weboldala kockázatelemzését, valamint ezek alapján elvégezzük weboldala biztonsági fejlesztését. Ezáltal weboldala a jelenleg ismert támadások legnagyobb részével szemben ellenállóvá válik, valamint általában a betöltődési ideje is gyorsul. Reméljük Önt is hamarosan az ügyfeleink között üdvözölhetjük.

Tovább a teljes bejegyzéshez
1842 Hits

Kapcsolat

Golden Gift Media Kft.
Adószám: 24727503-2-13
 2427 Újlengyel, Petőfi u. 48.
 +36 30 406 11 49
Levélküldés