-
Notifications
You must be signed in to change notification settings - Fork 807
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: desktop client DoS-ing nextcloud server #6088
Comments
do you really suggest us slowing down the sync of a single client over concern of server being overloaded ? |
I'll try as best as I can to explain my thoughts: I think the whole concept would include the creation of a stable and working setup for data management. So, back to my original premise: one wants a stable and working setup: That way the stability of the server can increase and therefor the stability of the whole system.. My first thought would be to put a cap on the maximum number of requests. Mostly because that's the easiest way I see to address this, but you might have a much better idea!? |
are you really sure a single client can send enough parallel requests that it would slow down a server ? |
I don't see from your description if you enabled notify_push aka high performance back-end for files: it's highly recommended to use notify_push as if highly reducing server load resulting from client polling. for details consult: |
What "anti-abuse-software"? Is this just a theoretical concern based on some arbitrary values placed in this "anti-abuse-software" that set off some alerts or were you seeing a real resource problem on your server? If a real resource problem, what types of resources were being bumped up against? Just trying to confirm this is actually a real problem caused by an overloaded server, or more an optimization problem where there were plenty of resources available and maybe some re-config is necessary (see below).
Rather then speculate, do you know where the drop in performance was arising from? i.e. were you hitting up against web server connection limits, fpm connection pool limits, etc. or something? Or even more generally: memory? cpu? etc. Unfortunately it sounds like you're asking for a simple solution to a problem that isn't yet well defined. There are a million variables here, and they may or may not even be real problems. Some maybe the client could do something about, but some may be addressable - more appropriately even - in other ways. There's simply not enough information in this report to judge.
And has that allowed you to gather more information to determine what, precisely, are the resource limits that are being bumped up against in your environment? |
This issue has been marked as "needs info" 4 weeks ago. Please take a look again and try to provide the information requested, otherwise the issue will be automatically closed in 2 weeks. Thank you! |
This bug report is getting automatically closed due to no answer since the issue has been staled. Thank you! |
Bug description
the anti-abuse-software of my server had blocked me!
Ik checked for the cause and I discovered that the syncing was the cause.
The point that triggered the "abuse detection" was this:
"PROPFIND /remote.php/dav/files/[user]/[folder] HTTP/1.1" 207 547 "-" "Mozilla/5.0 (Windows) mirall/3.10.0stable-Win64 (build 20230915) (Nextcloud, windows-10.0.19045 ClientArchitecture: x86_64 OsArchitecture: x86_64)"
Every line an other folder, at a speed of about 50 request per second!
That is a bit excessive is my opinion! This acts a bit like a DoS attack.. and I could see a (serious) drop in performance of the server..
Steps to reproduce
I could not reproduce the huge amount of requests per second, but checking the access-log when a (manual) sync command is given dit result in about 15 to 30 requests per second..
Expected behavior
I have programmed an exception for this behavior of Nextcloud, to prevent me (and customers) to get firewalled, but I expected a bit of "throttling"..
I could see a serious drop in performance for just me syncing! And the server I'm using isn't a "light weight one"! I will admit that the account synced has hundreds of folders, but I'dd rather have the sync take a bit longer by design so that the server wouldn't run the rick of dying of (or answering slower and slower..) due to huge amounts of sync-requests..
In other words, I think the Nextcloud server would operate much more safely and stable when these "propfind requests" would be throttled to a maximum of something like 15 requests per second..
Which files are affected by this bug
PROPFIND /remote.php/dav/files/
Operating system
Windows
Which version of the operating system you are running.
Windows 10
Package
Appimage
Nextcloud Server version
25.0.10
Nextcloud Desktop Client version
3.10.0
Is this bug present after an update or on a fresh install?
Updated from a minor version (ex. 3.4.2 to 3.4.4)
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
Are you using an external user-backend?
Nextcloud Server logs
No response
Additional info
No response
The text was updated successfully, but these errors were encountered: