Support

Admin Tools

#38597 Global Configuration > Shared Session and the configuration.php file

Posted in ‘Admin Tools for Joomla! 4 & 5’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

Joomla! version
4.2.8
PHP version
8.1
Admin Tools version
7.2.3

Latest post by nicholas on Monday, 20 February 2023 09:15 CST

wynchcote

I am asking this question further to my previous ticket: #37705

When Admin Tools is installed I see the following lines in the configuration.php file depending upon whether

  • Shared Session = YES or No

under the System tab of Global Configuration.

When Shared Session = NO in Global Configuration

public $shared_session = false;
public $session_name = 'administrator';

This line is the same for every website when Admin Tools is installed i.e. not unique.

When Shared Session = YES in Global Configuration

public $shared_session = true;
public $session_name = 'unique_session_name;

Every website has a unique $session_name.

Question

Is it better to enable Shared Session under System tab in Global Configuration when using Admin Tools in order to assign a UNIQUE $session_name.

Does the unique session name matter from a security perspective?

Thanks,

Ken :)

nicholas
Akeeba Staff
Manager

TL;DR: Don't use Shared Sessions.

Admin Tools does not change your configuration.php settings, except for the temp and log paths and even these if and only if you use the specific feature to check their validity in Admin Tools and you explicitly consent in changing them.

Shared Sessions is a convenience feature which comes at the expense of security. Logging into the backend or the frontend of the site also logs you into the other side of the application at the same time. In my opinion this is nonsense. If you really need to switch between front- and backend all that much just use WebAuthn and a password manager to log into the site. What I mean is enable WebAuthn (adding your platform-specific biometrics or PIN for every device and OS you are using). Then, in your password manager (which can be the browser's built-in one) save the correct username and the wrong password. When you visit a page of your site which requires authentication the password manager automatically fills in the username and password fields — the latter isn't needed but password managers generally refuse to fill in just a username, hence the need for a wrong password. Then click on WebAuthn and complete the login using your WebAuthn authenticator, biometrics, or PIN. Ta-da! You are logged in securely to your site.

Regardless of using Admin Tools, I recommend against using Shared Sessions in your Global Configuration for the reason you divined. Having a predictable session name is insecure in many ways. Moreover, it makes it far more dangerous falling victim to phishing or XSS since you are always logged into your site's backend even if you have only yourself logged into the frontend of the site. Security is about minimising your exposure, the Shared Sessions acting as a way which increases your exposure.

So, no don't use Shared Sessions. It's a bad idea from a security point of view.

 

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

wynchcote

Hi Nicholas,

Thank you for this useful advice.

Ken :)

nicholas
Akeeba Staff
Manager

You're welcome!

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!