Joomla biztonság

A Joomla CMS hackerek körében is népszerű célpont, ezért egy rövid 5 pontos útmutató, hogyan tegyük biztonságossá oldalunkat:

1. Töröljünk le mindent ami nem kell:

Installation mappa, előre feltelepített templatek, felesleges kiegészítők potenciális célpontok lehetnek.

2. Minden fájlunk így kezdődjön:

1
2
3
	defined( '_VALID_MOS' ) or die( 'Direct Access tothis location is not allowed.');
 
	// index.php: define( '_VALID_MOS', 1 );

A Joomla Core fájlok és kiegészítők így kezdődnek, főleg saját fejlesztéseknél kell erre ügyelni.

3. Védekezzük az URL injection ellen:

A .htaccess fájlunk végére illesszük az alábbi kódot:

1
2
3
4
5
6
7
8
	# Block out any script trying to set a mosConfig value through the
	URLRewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]# Block out
	any script trying to base64_encode crap to send via URLRewriteCond %{QUERY_STRING}
	base64_encode.*\(.*\) [OR]# Block out any script that includes a <script> tag in
	URLRewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]# Block out any
	script trying to set a PHP GLOBALS variable via URLRewriteCond %{QUERY_STRING}
	GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]# Block out any script trying to modify a _REQUEST
	variable via URLRewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

4. Kerüljük a 777 attribútumokat:

A könyvtárjogosultság mindig 644 vagy 755 legyen.

5. Védd a configuration.php fájlodat:

A public_html mappán kívül helyezd el egy másik mappába a congfiguration.php fájlodat.

Módosítsd a /includes/defines.php és az admininstrator/includes/defines.php fájlokban az alábbi sort:

erről:

1
define( 'JPATH_CONFIGURATION', JPATH_ROOT );

erre:

1
define( 'JPATH_CONFIGURATION', JPATH_ROOT.DS.'..'.DS.'teszt' );

Ha 3.x Joomlát használunk akkor a helyes szintaktika:

1
define( 'JPATH_CONFIGURATION', JPATH_ROOT.'/../teszt' );

(természetesen a teszt helyére a mappád nevét írt, amibe másoltad a config fájlt)

+1. javaslat

Ezeken kívül ajánlatos megvásárolni és feltelepíteni az RSFirewall nevű komponenst. Számos funkcióval bír, de a leghasznosabb, hogy a core Joomla backend login felület elé betesz még egy bejelentkezési felületet, így egyrészt nem megállapítható rögtön, hogy Joomlát használunk, másrészt egy plusz tűzfalként funkcionál. A komponens teljes kiértékelést készít a rendszerünkről, majd egy kattintással kijavítja azt. Alternatív Joomla security komponens a  PHP Anti-Hacker Suite by OSE, mely hasonló funkciókkal bír, csak háromszor annyiba kerül.

+2. javaslat

Használjunk biztonsági mentés készítő komponenst. Az Akeeba Backup ingyenes komponens képes egy kattintással a teljes FTP és adatbázis állományunkról biztonsági mentést készíteni. A LazyDbBackup egy szintén ingyenes komponens, amivel beállíthatjuk például, hogy minden éjfélkor küldje el a megadott e-mail címre az aktuális adatbázis mentését.

 

1 hozzászólás

  1. Üdv!

    3.4.x-es Joomlánál a következő bejegyzés a helyes: define(‘JPATH_CONFIGURATION’, JPATH_ROOT . DIRECTORY_SEPARATOR . ‘teszt’);

    A cikkben említett szintaktika nem működik.

HOZZÁSZÓLOK A CIKKHEZ

Kérjük, írja be véleményét!
írja be ide nevét