Joomla! CMS je trenutno eden izmed najbolj razširjenih odprtokodnih sistemov za urejanje vsebin na spletni strani. Zaradi preproste uporabe in velike količine brezplačnih dodatkov je Joomla! doživela izjemno pozitiven odziv pri uporabnikih.
Joomla! je zaradi svoje razširjenosti postala tudi pogosta tarča vdorov. Nekateri skrbniki spletnih strani zanemarjajo varnostni vidik vzdrževanja spletne strani in niso dovolj pazljivi pri izbiri dodatkov za Joomla! CMS, kar naredi njihovo spletno stran ranljivo.
V prejšnjem prispevku sem opisal spletne strani, kjer si lahko ogledate znane ranljivosti. Tokrat bom opisal nekaj korakov, ki zagotavljajo višjo varnost namestitve Joomla! sistema za urejanje vsebin. Seveda ti koraki ne naredijo vaše strani 100% varne, vseeno pa bistveno prispevajo k boljši zaščiti pred vdori.
1. Izbrišite namestitvene mape in datoteke
Po namestitvi Joomla! sistema izbrišite mape in datoteke (v to vas poziva tudi sam instalacijski proces).
2. Spremenite ime upravljalskega računa in nastavite dobro geslo
Dodatna razlaga ni potrebna. Po namestitvi CMSja spremenite ime uporabnika admin in mu določite geslo, ki ga ni mogoče zlahka ugotoviti. Najboljša je naključna kombinacija številk in črk.
3. Namestite aktualno različico in varnostno kopirajte podatke
Pogosto preverjajte, ali imate nameščeno zadnjo različico vašega Joomla! CMSja. To lahko storite v samem CMSju, pod opcijo “Check for latest version”, ali na domači strani.
Pred instalacijo nove različice OBVEZNO(!) naredite varnostno kopijo datotek in baz podatkov. Nekateri ponudniki gostovanja vam nudijo enostavno backup skripto z možnostjo določanja intervalov ustvarjanja varnostnih kopij. Preverite to možnost pri vašem ponudniku, saj vam avtomatizacija postopkov prihrani precej dela (in časa).
4. Preverite dodatke (module, komponente, mambote), preden jih namestite
Nekateri dodatki so napisani precej površno in ne vsebujejo “varovalk” pred zlonamerno kodo. Z namestitvijo nekakovostnega in nepreverjenega dodatka tvegate vdor. Zato je dobro dodatek prej preveriti preko raznih uporabniških forumov in seznamov znanih ranljivosti.
Primer: če vas zanima varnost dodatka PollXT, v Googlu iščete pod “PollXT vulnerability” in na portalu Secunia iščete pod “PollXT“.
5. Pravilno nastavite gostovanje
Dobro je preveriti nastavitve gostovanja in jih ustrezno popraviti na priporočene nastavitve. Nekatere od spodnjih nastavitev lahko povzročijo nedelovanje posameznih dodatkov. Po spremembi nastavitev zato vedno preverite delovanje spletne strani.
- register_globals off
Povzroči, da napadalec ne more na preprost način vsiliti svojih vrednosti spremenljivk, ki izvedejo zlonamerno kodo.
Joomla ima tudi emulacijo te opcije, zato morate tudi v datoteki globals.php (korenska mapa Joomle) nastaviti vrednost define(’RG_EMULATION’,1) na define(’RG_EMULATION’,0).
- url_fopen disallow
S tem korakom boste zagotovili zaščito pred vključitvijo datotek, ki se ne nahajajo na vašem strežniku. Napadalec ne bo mogel na enostaven način izvesti kode, ki se nahaja na njegovem strežniku.
- disable_functions = show_source, system, shell_exec, passthru, exec, popen, proc_open
Izklopite omenjene funkcije, ki so vprašljive z varnostnega stališča.
- magic_quotes_gpc = On
Z vklopom te opcije zagotovite zaščito pred določenimi SQL injection napadi. Ta opcija je aktualna le za Joomla! verzije 1.0.X., medtem ko v verziji 1.5 ni več potrebna.
- php_info.php
Ne pustite, da brskalniki pridejo do php_info.php datoteke. Preko nje lahko napadalec dobi pomembne informacije o vašem strežniku in storitvah kar preko Googla.
6. Pravilno nastavite pravice map in datotek
Priporočeno je, da so pravice nastavljene na 744 za mape in 644 za datoteke. Zgodilo se bo, da boste za namestitev dodatkov morali uporabiti za določene mape vrednost 777. Po namestitvi je priporočeno pravice spet znižati na vrednost 744. Več o pravicah.
Še nekaj povezav za dodatno branje:
- Joomla! security FAQ
- Administrators security checklist
- Joomla security tutorial