Um Ihre Nextcloud etwas robuster bspw. gegen DDOS-Attacken einzurichten, können Sie die Webserverfunktion des Rate Limitings nutzen. Sie legen dabei fest, wieviele Anfragen innerhalb eines bestimmten Zeitrahmens von einer Quelle erlaubt werden. Wird diese „Rate“ überschritten, so wird die Anfrage unterbrochen und im Browser der http-Code 429 angezeigt. Zudem wird die Verursacher-IP dank der crowdsec – Absicherung gesperrt (ban).
Weiterführende Informationen // Quelle: nginx.org, Stand 08. Oktober 2024
Sichern Sie zuerst die derzeit verwendete vHost-Datei ihrer Nextcloud (bspw. nextcloud.conf) und öffnen diese dann im Anschluß:
cp /etc/nginx/conf.d/nextcloud.conf /etc/nginx/conf.d/nextcloud.conf.sicherung
nano /etc/nginx/conf.d/nextcloud.conf
Fügen Sie diese Zeile zu Beginn der Datei ein:
limit_req_zone $binary_remote_addr zone=NextCloud:10m rate=2r/s;
[...]
Gehen Sie dann an das Ende der Datei und fügen vor den letzten location-Block Folgendes hinzu:
[...]
location /login {
limit_req zone=NextCloud burst=5 nodelay;
limit_req_status 429;
try_files $uri $uri/ /index.php$request_uri;
}
location /{
try_files $uri $uri/ /index.php$request_uri;
}
}
Starten Sie den Webserver neu, um die Änderungen wirksam werden zu lassen.
systemctl restart nginx.service
Überprüfen Sie im Anschluß, ob die zuvor genutzten Werte an Ihre Umgebung und Ihre Anwendungsfälle möglicherweise angepasst (erhöht) werden müssen. Dazu überprüfen Sie das Webserverlog
tail -f /var/log/nginx/access.log | grep 429
Um einen Bereich der Nextcloud (bspw. die Administrationseinstellungen) für bestimmte IP’s zu sperren oder bspw. nur für interne IP’s zugänglich zu machen, nutzen Sie diesen exemplarischen ‚location‘-Block:
location /settings/admin {
allow 10.10.10.21;
allow 192.168.0.0/24;
deny all;
try_files $uri $uri/ /index.php$request_uri;
}
Die Absicherung Ihres Nextcloudservers wurde erfolgreich abgeschlossen und so wünsche ich Ihnen viel Spaß mit Ihren Daten in Ihrer privaten, abgesicherten Nextcloud. Über Ihre Unterstützung (diese wird ordnungsgemäß versteuert!) würden sich meine Frau, meine Zwillinge und ich sehr freuen!