Support

Admin Tools

#10996 Excessive email activity and a failure to prevent regbot

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 Tuesday, 07 February 2012 07:43 CST

user6633
Mandatory information about my setup:

Have I read the related troubleshooter articles above before posting (which pages?)? Yes
Have I searched the tickets before posting? Yes
Have I read the documentation before posting (which pages?)? Yes
Joomla! version: 1.5.25
PHP version: 5.3.9
MySQL version: 5.1.56
Host: Dedicated Server
Admin Tools version: 2.2.a3

Description of my issue:

First issue :

Vast email quantities. It is not always neccesary to fire off instant emails. You need to implement some sort of level tuning and reporting.

I suggest having several threat response behaviour levels based on events and a log file, a user would be able to select what type of events are reported to email immediately and what events are logged to a report, and a schedule somewhat like cron on which the report is emailed. Perhaps even multiple reports per level and an individual email frequency for those.

Second issue :

I installed Admin Tools on a Joomla 1.5.25 site, it completely failed to prevent attacks from a regbot and whatever else was being attacked, it reported the attacks but the users were still planted straight into Joomla. I had to resort to other additional methods to stop the users being planted and in the end I had to go to my dedicated server firewall and manually and completely bar 2 entire CIDR /24 blocks to keep the attacks out. The attacks also resulted in the site consuming large amounts of the allocated resources.

This is exactly what admin tools is supposed to prevent,l especially the paid version.

http://ip-lookup.net/index.php?ip=193.107.16.99

nicholas
Akeeba Staff
Manager
First issue: turn off emails. When you need to review the security exceptions you can go into Admin Tools, Web Application Firewall, Security exceptions log. Simple!

Second issue: You do realise that regbots do not try to hack your site, therefore there's nothing for Admin Tools to block, right? In fact, the only things you can do are:
- Use the Project Honeypot integration; it doesn't stop them all, though
- Use the Bad Behaviour integration; however, it throws a lot of false positives
- Use a CAPTCHA; your users will hate you
- User a registration email to confirm new accounts; there are companies which will charge you 1$ for 100 website registrations performed by a HUMAN in a developing country, so even that is not perfect

When you find the absolutely perfect way to stop spam registrations, please do share it with me. I'm looking for it for over a decade, to no avail :) If you have found any place in our documentation where I explicitly say that Admin Tools is designed to prevent ALL spambot registrations I will gladly refund you. However, I have not sid that anywhere. I do mention that Project Honeypot and Bad Behaviour integrations, as well as CSRFShield should block such bots, but it all depends on how the bot is coded. If I had such a silver bullet I wouldn't sell it for 20$ per year without domain restrictions, but 20,000$ per site per year.

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!

user6633
On or off, really does seem over simple to me, I either must endure the flow of email or turn it off completely and visit my site to find the security is failing? I was merely suggesting that something similar to the following would be a very useful option http://docs.cpanel.net/twiki/bin/view/AllDocumentation/WHMDocs/ContactManager

I wasnt pursuing a refund actually, but if you feel thats the best resolution to this then Im open to it. Im not trying to be excessively critical or argue, you seem to respond as if I am. I thought the purpose of support was to resolve issues and give developers an opportunity to develop things and improve the product.

The frequency was far too much and often to be a human, and if a bot is using code or sql methods rather than exploiting a form to plant users is that not hacking a site.

Ive long used a similar component that does block effectively, but lately it does not get along with jomsocial registration, so I thought ID try something else now lately there are more options. Ill list it here purely for your information : http://www.cedit.biz/joomla-extensions/17-registration-validator-2

So far this problem seems restricted to Joomla 1.5.x and if I could ditch this last site using it I would, but the user is happy with it and Im not doing a full migration just for what is realistically serving as no more function than a business card placeholder site, but the user has a forum so its required that registrations are possible, otherwise ID just turn it off.

nicholas
Akeeba Staff
Manager
Regarding the first issue, there's a reason why it's not implemented. There are two mindsets regarding security alerts. One of them says that you should be instantly notified when they occur, hence the emails. The other one says that you should log them and review the logs at your leisure, hence the logging. In fact, there are four different kinds of emails sent:
  1. Back-end logins. IMHO, you should always be emailed about them, as you can spot a hacker if he breaks in to the site's back-end.
  2. Failed administrator login. Ditto. It could indicate a hacker trying to brute-force your password.
  3. Automatic IP ban. I consider this an overkill, some people begged to have it.
  4. All other security exceptions. IMHO, an overkill. The log is better suited for them. Some people want them. Most people, you and I included, don't. Therefore, just leave that email field blank.

I don't see the benefit of grouping, batching and filtering the emails per security exception. It would result in a very complex interface which makes no sense whatsoever. I mean, would you think that SQLi is more important than a malicious user agent? Most likely yes, but not always. It is more than fathomable that you get hundreds of SQLi reports every day due to some script kiddie trying his scripts on your site. Funny thing, those scripts could be for Joomla! 1.0 or phpBB3. However, you might only get one MUAShield alert and that being from a hacker using a powerful hacking tool which could cause something bad on your site, ranging from denial of service to hacking it. So, what's the point of filtering them? It would only be relevant if we had some sort of AI capable of understanding which attack is real and which is inconsequential or a false positive. But should we have this AI, we needn't have emails, we'd simply block the confirmed attacks. Therefore I am not particularly interested in creating a useless filtering feature that adds no value to the software.

Regarding the second paragraph of your reply, I just don't want you to think that I'm trying to screw you off your money. I thought this is what you implied, as you said that you bought the Professional version so that you can get rid of spam bots and it fails at that point. I never said that it's the silver bullet which can prevent website spam. In fact, there is nobody with a perfect bullet. The proof is that spammers still exist. It's not something I can "fix". I was very honest when I said that if I had invented the silver bullet against spam I'd sell it for a crazy amount and become rich (and famous). Just think about what you implied with your post: someone having a solution against a multi-billion dollar illicit activity. I'd love to be that guy, but I don't think this person has been born yet ;) The workarounds I proposed is what you can realistically do today to fight spam, with moderate success. Since there are companies employing real (flesh and blood) humans for 0.01$ per spam registration I don't think we'll ever be able to stop spam, unless we start asking users to email us copies of birth certificates.

if a bot is using code or sql methods rather than exploiting a form to plant users is that not hacking a site.

That's an arbitrary assumption. Can you please provide the log excerpt which verifies this assumption as a fact? That's a rhetorical question. This is not how spambots work. Let's take a crash course into writing spam bots.

Even if you do not have set up a Joomla! user registration page as a menu item or in a module, it is always available at index.php?option=com_user&view=register (that's a Joomla! 1.5 URL, it is slightly different in 2.5). A spam bot can parse the HTML, extract the token, forge the HTTP referer header, and submit the form back to your server. A new user is created. If you have not enabled the registration emails, it is an activated user. If you have activated those emails, a sophisticated bot could read the email and access the URL in it, activating the account. If you give me 2 hours I can write such a bot in PHP, it's not a big deal.

Since this activity DOES NOT have anything to do with hacking –we are using the standard Joomla! user registration URL– you can not expect Admin Tools to stop it. There is no SQL injection, remote file inclusion, access to arbitrary PHP file, upload of arbitrary PHP code, cross-site scripting or other hacking method involved. In fact, from the server's point of view, it's exactly what a human user would do to register a user account.

Just because you assumed there is an elaborate hack involved in spam registrations doesn't mean it is so. First things first, that would define the Occamm's Razor principle: it's a too complex explanation to be true. Simpler methods work best. Besides, that's why your server keeps access logs. Please take the time to read them and understand where the spam registrations come from. Don't just assume that I am an idiot writing software which lies about its ability to stop hacks. My software is designed to stop most common hacking methods. From there to blocking all spam registrations, that is a leap of logic, since there is no hacking involved.

The plugin you mentioned seems to be using the same Bad Behaviour library and the same Project Honeypot integration used in Admin Tools. Which are two of the workarounds I did tell you to pursue, along with their drawbacks. Moreover, I will make an educated guess that it might be using another spam filter, called Akismet, to fight Kunena spam. This involves sending the entire post text to a remote service which assesses its content based on millions of other messages and reports –within a degree of accuracy– if it's spam or ham (jargon for should be blocked or not blocked, respectively). I chose not to implement that in Admin Tools because I aimed for a security solution, not a comment/post anti-spam solution. There are other plugins to do that, why should I reinvent the wheel?

The problem seems isolated to Joomla! 1.5 because in Joomla! 1.5 the direct user registration URL is index.php?option=com_user&view=register whereas in Joomla! 1.6 and later it is index.php?option=com_users&view=register (note that it's com_userS, not com_user). The spambot scripts have not been updated with the new URL, yet. Expect that to change in the near future.

So, I will have to ask you again. Did you buy Admin Tools Professional because you thought that spam registrations were the result of elaborate hacks and you wanted to stop them, or because you genuinely wanted to secure your site? Admin Tools –like any other tool– can not guarantee it will block spam registrations. It can guarantee that the vast majority of hacking methods which go through Joomla! will be blocked.

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!