Support

Admin Tools

#38436 EPS limit exceeded on Apache

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
3.10
PHP version
7.4
Admin Tools version
6.1.8

Latest post by nicholas on Tuesday, 31 January 2023 01:20 CST

trogladyte

I had this site crashing recently due to an EPS resource limit exceeded. Some comments from the server techs at Liquid Web (where I have all my sites hosted):

  • Looking at your server, I see that a single IP address, 147.78.47.34, has made 1590 HTTPS requests to https://santapaulaairport.com/our-businesses , several of them post or have get parameters, and are using a browser that has been out of date for about a decade. (Turning off this page temporarily did not stop the issue - they just hit other pages. We blocked the IPs but "they" just used others)
  • That said what I think is causing you the most issue here is the EP limit you have set in CloudLinux as when it hits that limit you then get the 508 pages.
  • The Traffic you are seeing here is well below what a DDoS would generally look like (in fact I am hesitant to call what is being experienced a DDoS). This is more like some abusive traffic is hitting the server and causing just cloudlinux limits that were set to now be hit. Traffic like this really common and even more so lately.

When I look at RAM or bandwidth usage, or server loads, there is nothing out of the ordinary. So it seems that the overload is actually a relatively small amount of traffic and it seems to have avoided Admin Tools noticing it as I see none of the IPs we ended up blocking in the server firewall appeared in Admin Tools blocking.

Now, I'm not blaming Admin Tools at all - far from it; it's saved my bacon a lot!!, just trying to understand how it's meant to work in regards blocking/not blocking this sort of traffic. My understanding of it was anything like a post or get request would be picked up and analyzed by Admin Tools and multiple of them from the same IP would trigger an automatic block, assuming the auto block feature is turned on (it is).

To stop the crashing I ended up installing a Web Firewall from Sucuri, but that's going to get expensive with 90+ sites to do.

 

nicholas
Akeeba Staff
Manager

>  just trying to understand how it's meant to work in regards blocking/not blocking this sort of traffic

It does not try to block requests which look legitimate. It will only block them if the request parameters contain data which makes them malicious. When multiple malicious requests from the same IP address are detected within a period of time (all of that configurable), the IP address will be auto-banned. If an IP address is auto-banned multiple times within a period of time (all of that configurable) it will be permanently banned.

Admin Tools does not and WILL not implement DoS (Denial of Service) protection. It's extremely stupid trying to do that in PHP code. It would require logging every request in the database and using MySQL queries and PHP code to detect an increased rate of requests from an IP to block it. This will work exactly the opposite than intended. Since it's so slow it will amplify and accelerate a DoS attack.

DoS prevention is best done WAY BEFORE the web server even sees the request. And no, you don't need Sucuri for that! Most of the features I used last November to defend against a supermassive DDoS for 8 hours straight before it eventually brought down the host's infrastructure and caused problems in the upstream network provider(!) are available in the free CloudFlare tier. The very basic DoS protection you need is most definitely available.

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!