h0schi Posted February 12, 2021 Share Posted February 12, 2021 (edited) Hallo Zusammen, ich habe auf meinem Unraid-System ein Nextcloud-Container laufen. Die Einrichtung mit MariaDB war soweit problemlos. Nachdem ich den Nextcloud-Container nach Außen, über den NGNIX Proxy Manager, freigebe und das Cloudflare Zertifikat abrufe, erhalte ich in der Nextcloud-Protokollierung ständig folgende Fehlermeldung über Cloudflare-Adressen: Der Cloudflare DNS ist mit Proxy. Quote Warning core Login failed: 'ncp' (Remote IP: '162.158.111.151') 2021-02-12T17:13:03+0100 Warning core Login failed: 'ncp' (Remote IP: '141.101.104.143') 2021-02-12T17:12:50+0100 Warning core Login failed: 'ncp' (Remote IP: '141.101.105.114') 2021-02-12T17:12:31+0100 Warning core Login failed: 'ncp' (Remote IP: '141.101.76.202') 2021-02-12T17:12:15+0100 Warning core Login failed: 'ncp' (Remote IP: '172.69.54.33') 2021-02-12T17:11:43+0100 Warning core Login failed: 'ncp' (Remote IP: '162.158.111.151') 2021-02-12T17:11:11+0100 Warning core Login failed: 'ncp' (Remote IP: '141.101.105.106') 2021-02-12T17:10:33+0100 Warning core Login failed: 'ncp' (Remote IP: '141.101.104.175') 2021-02-12T17:09:59+0100 Warning core Login failed: 'ncp' (Remote IP: '141.101.104.143') 2021-02-12T17:09:25+0100 Warning core Login failed: 'ncp' (Remote IP: '162.158.111.151') 2021-02-12T17:08:52+0100 Warning core Login failed: 'ncp' (Remote IP: '162.158.88.194') 2021-02-12T17:08:17+0100 Gibt es hierfür einen Trick ? Ich habe schon mehrere Sachen bzgl. "trusted proxies", NGNIX Proxy Manager Advanced Attribues, etc. versucht, aber nichts hat geholfen In der config.php von Nextcloud brachten die Werte auch keine Besserung: Quote 'trusted_proxies' => array('10.42.0.0/16', '103.21.244.0/22', '103.22.200.0/22', '103.31.4.0/22', '104.16.0.0/12', '108.162.192.0/18', '131.0.72.0/22', '141.101.64.0/18', '162.158.0.0/15', '172.64.0.0/13', '173.245.48.0/20', '188.114.96.0/20', '190.93.240.0/20', '197.234.240.0/22', '198.41.128.0/17', '2400:cb00::/32', '2606:4700::/32', '2803:f800::/32', '2405:b500::/32', '2405:8100::/32', '2c0f:f248::/32', '2a06:98c0::/29'), Quote 'forwarded_for_headers' => array('HTTP_CF_CONNECTING_IP'), Vielleicht hat Jemand das gleiche Probleme oder eine Idee wie ich das Problem beheben kann ? Danke und ein schönes Wochenende Edited February 12, 2021 by h0schi Quote Link to comment
mgutt Posted February 12, 2021 Share Posted February 12, 2021 1 hour ago, h0schi said: über den NGNIX Proxy Manager, freigebe und das Cloudflare Zertifikat abrufe Kannst du das näher erläutern? Ich hätte jetzt in NPM das Lets Encrypt Zertifikat ohne Cloudflare bestellt. Und danach auf Cloudflare umgestellt. Also warum genau willst du ein Zertifikat von Cloudflare verwenden? Und wie hast du das eingerichtet? 1 hour ago, h0schi said: in der Nextcloud-Protokollierung ständig folgende Fehlermeldung über Cloudflare-Adressen: Für mich sehen diese Fehler nach Login-Versuchen mit dem falschen Passwort aus. Also Bruteforce-Attacken (was normal ist, wenn man eine Seite öffentlich hostet). Die IP des eigentlichen Users siehst du nicht wegen dem Cloudflare Proxy. Bearbeite mal die nextcloud config.php und füge nach <?php das ein: var_dump($_SERVER); Beim Aufruf von Nextcloud während Cloudflare aktiv ist, solltest du nun alle HTTP Variablen sehen. Auch die "HTTP_CF_CONNECTING_IP", falls das überhaupt stimmt. Ich kann mir übgrigens vorstellen, dass NPM der Proxy ist, den Nextcloud sieht und der die Variable "verschluckt". Dh Nextcloud sieht alls REMOT_ADDR gar nicht die von Cloudflare, sondern die lokale von NPM. Aber das wirst du durch die Ausgabe von $_SERVER sehen. Quote Link to comment
h0schi Posted February 12, 2021 Author Share Posted February 12, 2021 (edited) Ich lege im NPM den Host, wähle Request a new SSL Certificate und anschließend DNS Challenge aus. Die DNS Zone und den A-Eintrag gibts es bereits. Wird DNS Challenge verwendet um den DNS-Eintrag inkl. Zertifikat anzufordern ? Ich glaube nicht dass es Angriffe sind. Selbst nach Deaktivierung von Brute-Force entstehen die Fehlermeldung die Fehlermeldung wird von dem Core-Modul, also von Nextcloud generiert. Danke für die Tipps - Ich werd es mal versuchen Edited March 24, 2022 by h0schi Quote Link to comment
mgutt Posted February 13, 2021 Share Posted February 13, 2021 16 hours ago, h0schi said: Selbst nach Deaktivierung von Brute-Force entstehen die Fehlermeldung Was auch völlig normal ist. Die Fehlermeldungen sagen ja nur aus, dass jemand beim Login das falsche Passwort eingegeben hat. Eine Brute-Force-Attacke macht das, nur eben sehr schnell. Ein Schutz, reduziert dabei die Angriffsgeschwindigkeit. Im Falle von Nextcloud wird die IP für 24 Stunden gesperrt: Quote If triggered, brute force protection makes requests coming from an IP on a bruteforce protected controller with the same API slower for a 24 hour period. In deinem Fall verursacht das nur das zusätzliche Problem, dass auch reguläre Nutzer keinen Login mehr tätigen können, wenn sie über die selbe Proxy IP von Cloudflare reinkommen. Aber das ist ein anderes Thema. 16 hours ago, h0schi said: Ich lege im NPM den Host, wähle Request a new SSL Certificate und anschließend DNS Challenge aus. Und ich frage noch mal. Warum willst du ein Zertifikat von Cloudflare nehmen und keines von Let's Encrypt? Hast du es mal mit Lets Encrypt versucht? Dafür muss Port 80 auf NPM geleitet werden, ansonsten kann er das Zertifikat nicht validieren. Ansonsten lies mal hier: https://github.com/jc21/nginx-proxy-manager/issues/680 Quote Link to comment
h0schi Posted February 13, 2021 Author Share Posted February 13, 2021 Ich setz es aktuell gerade neu auf und versuch es mal mit dem "normalen" Lets Encrypt-Zertifikat und mit einem anderen Docker-Container. Das CF-Zertifikat wählte ich, da ich es einfach für eine gute Idee hielt :) Quote Link to comment
h0schi Posted February 13, 2021 Author Share Posted February 13, 2021 (edited) Habs hinbekommen. Hab die Umgebung (Nextcloud, MariaDB und NPM) neu installiert. Hab per NPM über die Lets Encrypt DNS-Challenge das Wildcard-Zertifikat von Cloudflare geholt und eingebunden. Nach dem Einbinden des CF-Zertifikats war Nextcloud erreichbar. Unter den Logs waren die dauerhaften Fehlversuche verschwunden. Bei einem fehlerhaften Anmeldeversuch wird bis dahin die IP-Adresse von Cloudflare angezeigt. Durch hinzufügen folgender beider Zeilen in der config.php bekommt man bei fehlerhaften Anmeldeversuche die wirkliche IP-Adresse angezeigt: Quote 'trusted_proxies' => array ( '173.245.48.0/20', '103.21.244.0/22', '103.22.200.0/22', '103.31.4.0/22', '141.101.64.0/18', '108.162.192.0/18', '190.93.240.0/20', '188.114.96.0/20', '197.234.240.0/22', '198.41.128.0/17', '162.158.0.0/15', '104.16.0.0/12', '172.64.0.0/13', '131.0.72.0/22', '2400:cb00::/32', '2606:4700::/32', '2803:f800::/32', '2405:b500::/32', '2405:8100::/32', '2a06:98c0::/29', '2c0f:f248::/32' ), Quote 'forwarded_for_headers' => array('HTTP_CF_CONNECTING_IP'), Cloudflare IP-Ranges: https://www.cloudflare.com/ips/ Bei NPM habe ich unter dem betroffenen Proxy Host unter dem Tab "Advanced" folgende Custom Nginx Configuration eingetragen: Quote proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_max_temp_file_size 16384m; client_max_body_size 0; location /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } location /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } Weiß Jemand wie man den Befehl "occ db:add-missing-indices" in dem Nextcloud-Container von knex666 ausführt ? Ich bekomme egal was ich mache immer wieder die Meldung und komme anschließend leider nicht weiter. Quote Console has to be executed with the user that owns the file config/config.php Current user id: 0 Owner id of config.php: 33 Try adding 'sudo -u #33' to the beginning of the command (without the single quotes) If running with 'docker exec' try adding the option '-u 33' to the docker command (without the single quotes) Edited February 14, 2021 by h0schi Quote Link to comment
mgutt Posted February 14, 2021 Share Posted February 14, 2021 3 hours ago, h0schi said: Weiß Jemand wie man den Befehl "occ db:add-missing-indices" in dem Nextcloud-Container von knex666 ausführt ? Wer sagt, dass man das machen müsste? Das lese ich immer wieder. Woher kommt diese Aussage? Quote Link to comment
h0schi Posted February 14, 2021 Author Share Posted February 14, 2021 Nextcloud selbst gibt die Empfehlung. Zumindestens wirds als Warnung auf dem Webinterface unter Übersicht angezeigt. Quote Link to comment
mgutt Posted February 14, 2021 Share Posted February 14, 2021 Hab ich noch nicht gesehen. Komisch. occ kann man zb so über das WebTerminal ausführen: docker exec --user www-data Nextcloud php occ yourCommandHere 2 Quote Link to comment
h0schi Posted February 14, 2021 Author Share Posted February 14, 2021 Hat funktioniert - Dank dir Bei Cloudflare sind noch folgende Page Rules zu empfehlen: - Auto Minify: Aus - Cache-Level: Umgehen - Performance deaktivieren Die Funktion „Cache Assets“ beim NPM hat ein paar Probleme verursacht, worauf ich sie deaktiviert hab. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.