Support

Admin Tools

#20441 security exception for my own IP

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
n/a
PHP version
n/a
Admin Tools version
n/a

Latest post by nicholas on Thursday, 10 July 2014 13:39 CDT

WillRoz
 Hi,

I was doing some site maintenance and while I was checking Admin Tools Security Exceptions Log I realized that I am receiving admin query string alerts from my office IP address.I guess I should've spotted this sooner, but that's a bit of water under the bridge at this point.

I have the Secret Key set, but there is an unusually large number of attempts to access the site admin with the standard http://mysite.com/administrator/ page. The weird part is (as I've mentioned), that they're coming from my own IP address.

Another oddity I've seen is that they seem to be mostly on a regular basis:
2014-06-12 10:46:34
2014-06-12 11:46:33
2014-06-12 11:46:34
2014-06-12 12:46:33
2014-06-12 12:46:34
2014-06-12 13:46:33
2014-06-12 13:46:34
2014-06-12 14:46:33
2014-06-12 14:46:34

There's many more, but that should give you the idea...

While searching for a solution I came across these threads:
https://www.akeebabackup.com/support/admin-tools/14255-receiving-security-exception-for-my-own-ip-and-a-couple-of-other-questions.html

https://www.akeebabackup.com/support/admin-tools/13486-admin-query-string-2-2-2-2.html

But neither really gave me an understanding of what might be going on here. So, I guess I'm asking if you've seen anything similar to this before?

I've thought about whitelisting my IP, but my ISP uses rolling IP addresses and it will only change again at some unknown point in the future. It also won't give me any insight as to just what is going on here, in the first place. If there's something fishy going on I'd like to resolve the issue once and for all, if possible.

As always, any suggestions or input you have is greatly appreciated.

Thanks,
Will

tampe125
Akeeba Staff
Hello Will,

can you please post here the target URL that is blocked?
I suspect a third party plugin is acting in a "weird" way.

Davide Tampellini

Developer and Support Staff

🇮🇹Italian: native 🇬🇧English: good • 🕐 My time zone is Europe / Rome (UTC +1)
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

WillRoz
Hi Davide,

Not seeing anything being 'blocked', but I assume you mean the 'Target URL' field.
Most of the exceptions are:
Most of them are simply: http://estateresources.net/administrator/

But there is a list of other ones too. If that's what you are looking for, here you go:

http://estateresources.net/administrator/index.php?option=com_admintools
http://estateresources.net/administrator/index.php?option=com_languages&view=overrides
http://estateresources.net/administrator/index.php?option=com_acymailing&ctrl=newsletter
http://estateresources.net/administrator/index.php?option=com_rsform
http://estateresources.net/administrator/index.php?option=com_acymailing&ctrl=stats
http://estateresources.net/administrator/index.php?option=com_sobipro
http://estateresources.net/administrator/index.php?option=com_content&layout=edit&id=153
http://estateresources.net/administrator/index.php?option=com_roksprocket&layout=edit&id=286
http://estateresources.net/administrator/index.php?option=com_content&view=article&layout=edit&id=113

Does that give you any ideas?

Thanks,
Will

tampe125
Akeeba Staff
I suspect that you have a system plugin that triggers these security exceptions.
Can you please try to unpublish all the "non-core" system plugins (and Admin Tools, of course!) and check if your log gets new entries?

Davide Tampellini

Developer and Support Staff

🇮🇹Italian: native 🇬🇧English: good • 🕐 My time zone is Europe / Rome (UTC +1)
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

WillRoz
Hi Davide,

Thanks. The site is live and in the middle of a marketing campaign, so disabling everything but the system plugins isn't really possible at the moment. I cleared the exceptions log and am tracking everything I touch, and am only working with one component at a time to see if I can track anything based on it's use. As an example, Acy Mail is installed on the site. I worked with it extensively after I cleared the log and didn't get any exceptions. I'm triggering a cron job later today, so I'll check after it runs and see if it throws any exceptions. If it doesn't, I'll move on to another component and continue testing in that way and see if I can narrow it down some. I know it might not be the best way to get to the bottom of this issue, but since I can't disable everything right now I figure it's the best way at the moment.

Here's something I did notice, however. I have a secret key set for the admin url. When I'm in the admin and walk a way for a bit (longer than the system time-out), as expected, the system logs me out. There's no indication of this when I return, but if I attempt to navigate anywhere in the admin, I'm directed to the home page of the site (which is expected behavior because Joomla is trying to load /administrator without the secret key), and I see that I get an exception in the log. The url of the exception relates to the component I was trying to access after the timeout took place. All of this makes sense, but does lead to a large number of entries in the exceptions log.

So that leads me to a couple of quick questions. If I white list my IP address, will this stop the exceptions being logged? Even if it does, my ISP rolls my IP address from time to time. That means that every time my IP changes, I'll need to change it in Admin Tools. Since that happens randomly, it could become quite the PITA to handle the exception that way. In lieu of that, is there a way to force Joomla to redirect to [/administrator?mysecretkey] instead of simply [/administator]? I'm not really looking to hack the core of Joomla to achieve this, but it would be nice if there is some kind of work-around to achieve this that I'm just simply not aware of.

Thanks again for your reply and I look forward to hearing your thoughts,
Will

nicholas
Akeeba Staff
Manager
It looks to me as if you have set up an application which monitors your site every one hour. If this is the case please change the URL being pinged to include the secret URL parameter.

If that's not the case, it could be your browser. I know that Safari is pinging your Top Sites every now and again to get a screenshot that goes into the Top Sites startup page. If you've bookmarked your site's administrator login page without the secret URL parameter that explains what you're seeing. It happened to me too. All I had to do was change the bookmark to include the secret URL parameter.

In lieu of that, is there a way to force Joomla to redirect to [/administrator?mysecretkey] instead of simply [/administator]? I'm not really looking to hack the core of Joomla to achieve this, but it would be nice if there is some kind of work-around to achieve this that I'm just simply not aware of.


Take a step back and think about it. The reason you have the secret URL parameter is to make sure that anyone who's not privy to it can't see the login page. So, if you are not already logged in to the administrator area and you try to access any /administrator URL you are redirected to the front-end of the site.

When you come back to your site after a while, you are not logged in to the administrator area. Joomla! has a bug which allows you to see exactly one page (I consider it a security issue in Joomla! 3 to be perfectly honest) before the system catches up with your session expiration and reports you as not logged in. Therefore the redirection you want to modify is the one happening when you are not logged in, the EXACT redirection that the secret URL parameter feature in Admin Tools makes to protect you against unauthorised users.

So, what you are really asking is whether we can help you shoot your feet with a rather big shotgun. No, of course we can't! If you were to modify the redirection to take you to the URL with the secret URL parameter it would do so when an unauthorised user (read: malicious hacker) tried to access the login page of your site. Therefore such a modification would make the secret URL parameter useless as a security measure.

I do have a recommendation. Disable the secret URL parameter and enable the administrator password protection feature. The administrator password protection feature works at the web server level. It's more efficient. It also doesn't trigger security exceptions that Admin Tools can catch and make it block your IP address.

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!

WillRoz
Hi Nick,

Thanks for the detailed reply. I appreciate your insights.Since clearing the log, I haven't had a repeat of the issue yet.

It looks to me as if you have set up an application which monitors your site every one hour.

I do have Pingdom monitoring the site for downtime, but it only monitors the public side of the site. I have the monitor set up to ping the main url every 5 minutes, so if that was the case I'd probably be seeing the exceptions happen 12 times more often than I already was.

If you've bookmarked your site's administrator login page without the secret URL parameter that explains what you're seeing. It happened to me too. All I had to do was change the bookmark to include the secret URL parameter.

This could be what is happening, but still have to check some of the devices I use. Thanks for the head's-up though. I was unaware that this might be causing the issue.

Disable the secret URL parameter and enable the administrator password protection feature.

I actually had the site set-up that way originally. Unfortunately, the other website administrator is a bit thick when it comes down to working with his computer. He has pop-ups and JS turned off in his browser and thinks that allowing this behavior will open his computer up to a host of vulnerabilities. He's also working on a computer that's about 10 years old, runs Windows XP and has 1GB ram (I know, I know... don't shoot the messenger!). I can't convince him to change his ways on either issue (along with quite a few others), and he pays the bills. So rather than argue with him, I'll continue to create workarounds that (although unnecessary) suit his fancy.

When you come back to your site after a while, you are not logged in to the administrator area. Joomla! has a bug which allows you to see exactly one page (I consider it a security issue in Joomla! 3 to be perfectly honest) before the system catches up with your session expiration and reports you as not logged in.

I've often wondered about this behavior. Thanks for explaining it in terms a mere mortal like myself can understand. :-)

So, what you are really asking is whether we can help you shoot your feet with a rather big shotgun.

Well put. When I read your reply I must admit that I hadn't thought about it in that way. After pondering it for a bit, I had another thought that I'd like to run by you.

The way I understand it, Joomla inherently redirects to /administrator when the admin session times out. Admin Tools is the component that redirects to the main site url when /administrator is trying to be accessed without the secret key. If that is correct, it seems that there might be a relatively simple solution that doesn't create an additional security risk. If the inherent redirect simply leads to the main website url (instead of /administrator) when the admin session times out, theoretically I should see the same behavior I already have. The only difference would be that Admin Tools wouldn't be throwing an exception. Correct, or am I missing something?

Thanks again,
Will

nicholas
Akeeba Staff
Manager
I actually had the site set-up that way originally. Unfortunately, the other website administrator is a bit thick when it comes down to working with his computer. He has pop-ups and JS turned off in his browser and thinks that allowing this behavior will open his computer up to a host of vulnerabilities.


That's entirely irrelevant. The administrator password protection works at the HTTP specification level. It's nothing to do with Javascript. Any web browser written in the last TWENTY YEARS will work with it. Unlike Joomla!, which REQUIRES Javascript in its back-end. You can't click on Save or Cancel without Javascript. Therefore your other administrator is lying to you about disabling Javascript or he's lying about doing any administration work on your site. It's as simple as that.

The way I understand it, Joomla inherently redirects to /administrator when the admin session times out.


No. It redirects to the main page of the application. Joomla! has two applications, front-end and back-end. The root of the back-end application is administrator.

Admin Tools is the component that redirects to the main site url when /administrator is trying to be accessed without the secret key.


No. Admin Tools checks if the back-end application is being accessed, no matter the page you are in. In this case it checks two things:
1. Is there a session marker that the secret URL parameter has been used in this session?
2. If #1 is false, is the secret URL parameter present in the URL?
If both conditions are false it will log a security exception and redirect you to the front-end application.

If that is correct, it seems that there might be a relatively simple solution that doesn't create an additional security risk. If the inherent redirect simply leads to the main website url (instead of /administrator) when the admin session times out, theoretically I should see the same behavior I already have.


It's far more complicated than that. However, doing that requires modifying BOTH Joomla! AND Admin Tools. That's not something we can help you with, not to mention it IS a security risk as it nullifies Admin Tools' security feature.

I have already told you what you can do.

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!