For us, this is not a big deal as we just need to turn on that plug-in manually. It would be great if it is turned on automatically after the installation like the "Quick Icon - Akeeba Backup Notification" plugin.
It is, but only on a new installation. It's not enabled on update. However in version 9.0.0 there was a bug preventing that which was fixed in 9.0.2.
As a sidebar, I am not sure whether Admin Tools could offer the ability to rename the backend administrator path. In Joomla 3 it was done by another extension named adminexile. In Joomla 4, I think it is good to use Admin Tools but it seems that we could only add a password to protect it from hackers... which seems to be one extra step to login and not so convenient.
Yes and no. Yes, there is this feature. Go to Components, Admin Tools, Web Application Firewall, Configure WAF. Find “Change administrator login directory to”. No, we neither recommend nor support this feature. You cannot, in fact, rename the actual folder. What this feature does is some fine trickery. Let's say your site is www.example.com
and you use the admin folder name magic
. When visit www.example.com/magic this is handled by the public frontend of your site. However, the Joomla admin and site applications are isolated. What we do is catch the 404. At this point we create a token which is locked to your IP address, browser user agent and has an expiration date and time (3 minutes into the future). The token is two part: a random seed and a hash. We set a cookie with the random seed and an expiration time of 3 minutes, then redirect you to /administrator/index.php. At this point the admin application loads. We check if you have the seed cookie, use it to calculate the hash using your current IP address, browser User Agent string and Joomla's secret, then compare it with the hash we calculated in the previous step (in the public application). If everything checks out we set a session state variable. Further access to the administrator folder from that browser and IP address will check if that state variable exists.
There are many things which can go wrong. Your server may not report the correct IP address e.g. if you are behind a reverse proxy or CDN and have not configured that in Joomla's Global Configuration. Your IP address may change between consecutive requests (it happens on mobile). A third party extension in the frontend of the site may crash or output stuff making it impossible to set the necessary cookie. Your browser's extensions may reject the cookie or change the User Agent between the requests. None of these are issues with our code and cannot be addressed with code changes. That's why we offer no support.
Meanwhile, all those checks for cookies and session variables require your web server to load PHP, load the Joomla application, all system plugins and reach the execution point where these checks take place. That's a lot of CPU time and memory being wasted if you are using this feature to defend against brute force attacks (someone hammering the login page with a large number of usernames and password, in hope they get the right combination). It's inefficient.
Same goes for the admin secret URL parameter. It uses a far less complicated method (just a session flag) which means it's less sensitive to your site configuration. However, since it's implemented in PHP code it still needs Joomla to load and reach the execution point where we check for the session state variable OR the secret URL parameter. It does protect against brute force attacks BUT it would end up wasting a lot of CPU and memory doing so.
The waste is an innate characteristic of any defence measure implemented in PHP. These should not be the first or only line of defence.
The admin folder password is the BEST way to protect yourself against brute force attacks and works great as a first line of defence. Since it's implemented at the web server level it consumes barely any CPU time or memory (sub-millisecond compared to several dozens to hundreds of milliseconds and few Kilobytes of memory compared to several Megabytes). Moreover, that admin folder username and password can be stored in your password manager — if it's the one integrated to your browser you will never see that popup again, making it ZERO steps in practice.
You can still use other defences alongside it, e.g. the secret admin query parameter and Two Factor / Two Step Authentication. That's what I do for all my sites. A layered approach to defence is able to withstand far more attack modes than a Maginot line defence.
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!