Support

Admin Tools

#40291 Question: Is it possible to "rate limit" admin notifications?

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
7.4.8

Latest post by [email protected] on Wednesday, 14 February 2024 06:37 CST

[email protected]

Hello,

I have a non-urgent question regarding Admin Tools.

Recently, in preparation for our annual security audit, we had a PEN test run against our Joomla site. This test generated a lot ( >500) email notifications for blocked requests. Is there a method to "rate limit" email notifications if a single host is generating a lot of blocked requests in a short amount of time?

My concern is that the flood of email notifications could potentially cause or contribute to service slow down or even a DOS if the script runs long enough.

Thanks in advance,

Eric

nicholas
Akeeba Staff
Manager

I will answer this in two parts.

First, exactly what you asked. Yes, there is an email throttling feature. Go to Components, Admin Tools, Control Panel and click on the Options button in the toolbar. Click on the Email Sending tab. Set "Blocked request email throttling" to Yes. The next three options control the maximum rate. Please note that this is not an absolutely accurate limit, though. When there are hundreds of simultaneous requests the parallelism of their execution, and the fact that there's a small but measurable lag between writing to the database and reading the same data back from it may cause the limit to be overshot.

Now, the second part of the reply starts with the question "But why?". Sending emails on blocked requests is not a feature you are supposed to have permanently enabled in production. It is meant as a troubleshooting tool, i.e. it's great to use when first setting up Admin Tools, or when you're trying to identify and address a weird issue you can't easily reproduce yourself / you need more information than the Target URL gives you. Then, you're supposed to turn it off again by removing your email address from the respective fields in Configure WAF.

Since you are expecting a flood of probes, some of which might trigger Admin Tools (remember that most won't; they will be blocked by your web server, OS, or Joomla! itself since most "pen testing" consists of running an automated suite in Nessus the majority of whose attacks are between 5 to 20 years out of date and meant to root out ancient software used in production) I would recommend that you go ahead and disable those emails right now.

Also remember that emails are NOT the only troubleshooting tool at your disposal. You can always set up Admin Tools to log blocked requests in an automatically rotated log file. This is far less troublesome and can be indispensable for troubleshooting weird issues. Emails are convenient, but I wouldn't use them outside of setting up a site for the first time, which is when I need to go through every blocked request to ensure it's not a false positive.

I hope that helps :)

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!

[email protected]

Nicholas,

As always thanks for taking time to answer my questions and provide guidance.

I do appreciate the education!

Eric

 

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!