Skip to content
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

False positive: Nextcloud auto uploading and synchronizing from mobile clients (nextcloud behind nginx proxy) #1102

Open
brknkfr opened this issue Aug 27, 2024 · 0 comments

Comments

@brknkfr
Copy link

brknkfr commented Aug 27, 2024

Describe the bug
Mobile nextcloud clients, authenticated with an app token (password token and enabled storeCryptedPassword on nextcloud server), get banned for checking existing files via HEAD.

To Reproduce
Install nextcloud behind nginx proxy. Connect nextcloud client via app token. Enable auto uploading of files (images for example) on nextcloud client on mobile device (Android, iPhone). The term auto uploading actually means synchronizing, checking for existing files and so on. The client gets banned after several tries with lots of following notices (404 on GET, 403 or 404 on HEAD and HEAD without status code):

HEAD with 403:

╭─────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│       Key       │                                                        Value                                                        │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ datasource_path │ /var/log/nginx/access.log                                                                                           │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ datasource_type │ file                                                                                                                │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ http_args_len   │ 0                                                                                                                   │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ http_path       │ /remote.php/dav/files/**REDACTED**                                                                                  │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ http_status     │ 403                                                                                                                 │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ http_user_agent │ Mozilla/5.0 (Android) Nextcloud-android/3.29.2                                                                      │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ http_verb       │ HEAD                                                                                                                │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ log_type        │ http_access-log                                                                                                     │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ service         │ http                                                                                                                │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ source_ip       │ **.***.***.**                                                                                                       │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ timestamp       │ 2024-08-27T13:19:43+02:00                                                                                           │
╰─────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

GET with 404 (File already disappeared on server.):

╭─────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│       Key       │                                                        Value                                                        │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ datasource_path │ /var/log/nginx/access.log                                                                                           │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ datasource_type │ file                                                                                                                │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ http_args_len   │ 0                                                                                                                   │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ http_path       │ /remote.php/dav/files/**REDACTED**                                                                                  │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ http_status     │ 404                                                                                                                 │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ http_user_agent │ Mozilla/5.0 (Android) Nextcloud-android/3.29.2                                                                      │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ http_verb       │ GET                                                                                                                 │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ log_type        │ http_access-log                                                                                                     │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ service         │ http                                                                                                                │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ source_ip       │ **.***.***.**                                                                                                       │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ timestamp       │ 2024-08-27T14:21:43+02:00                                                                                           │
╰─────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

HEAD without status code (IPv6?):

╭─────────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│       Key       │                                                            Value                                                            │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ datasource_path │ /var/log/nginx/error.log                                                                                                    │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ datasource_type │ file                                                                                                                        │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ http_args_len   │ 0                                                                                                                           │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ http_path       │ /remote.php/dav/files/**REDACTED**                                                                                  │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ http_verb       │ HEAD                                                                                                                        │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ log_type        │ http_error-log                                                                                                              │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ service         │ http                                                                                                                        │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ source_ip       │ 2a02:***:****:*:****:****:***:****                                                                                          │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ target_fqdn     │ cloud.*****************                                                                                                     │
├─────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ timestamp       │ 2024-08-28T04:54:38Z                                                                                                        │
╰─────────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Expected behavior
Synchronizing and uploading files should work without getting banned.

brknkfr pushed a commit to brknkfr/hub that referenced this issue Aug 27, 2024
brknkfr pushed a commit to brknkfr/hub that referenced this issue Aug 28, 2024
brknkfr pushed a commit to brknkfr/hub that referenced this issue Aug 28, 2024
@brknkfr brknkfr changed the title False positive: Nextcloud auto uploading from mobile clients (nextcloud behind nginx proxy) False positive: Nextcloud auto uploading and synchronizing from mobile clients (nextcloud behind nginx proxy) Aug 29, 2024
brknkfr pushed a commit to brknkfr/hub that referenced this issue Aug 29, 2024
brknkfr pushed a commit to brknkfr/hub that referenced this issue Aug 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant