Optimiert und abgesichert: NextcloudPi als RasPi-Image

Konfiguration

Für die zentrale Konfiguration des Systems setzt NextcloudPi ein ähnliches Werkzeug ein wie Raspbian: Mit sudo nextcloudpi-config steuern Sie die Funktionen, die den Spezialisten von einer Standardinstallation abheben (Abbildung 3). Für einen Zugriff auf den Cloud-Speicher von außerhalb des lokalen Netzwerks (also über ein Smartphone mit der Nextcloud-App) sollten Sie zunächst eine Weiterleitung der Ports 80 (HTTP) und 443 (HTTPS) vom WLAN-Router auf den Raspberry Pi einrichten.

Abbildung 3: ein spezielles Werkzeug hilft Ihnen dabei, die spezifischen Einstellungen des System zu konfigurieren.

Anschließend richten Sie über die Option free Dynamic DNS provider (need account) in der Konfiguration mit No-IP eine DynDNS-Domain, sodass Sie Ihren eigenen Cloud-Speicher immer unter einer festen Domain wie zuhause.ddns.net erreichen. Eventuell bietet aber der Router bereits eine solche Funktion an.

Funktionieren die Port-Weiterleitung und der DynDNS-Name, holen Sie sich über Let's Encrypt: automatic signed SSL certificates ein kostenloses Let's-Encrypt-Zertifikat (Abbildung 4). Das sorgt für eine ordentlich verschlüsselte Verbindung, sowie dafür, dass sich der Browser oder ein Client sich beim Aufruf der Seite nicht über ein fehlerhaftes Zertifikat beschweren. Die weiteren Optionen in der Konfiguration beziehen sich auf Fail2Ban sowie Limits der Installation wie die maximale Dateigröße bei Uploads oder den Ablageort der Daten.

Abbildung 4: Die kostenlosen Zertifikate von Let's Encrypt sorgen dafür, dass Server und Client sicher und verschlüsselt kommunizieren.

Abgeriegelt

Haben Sie eine Portweiterleitung eingerichtet und ist der RasPi immer unter einer bestimmten DynDNS-Adresse zu erreichen, dann steht er wie jeder andere Server im Internet. Dabei hinkt er zwar in Sachen Leistung und Anbindung einem echten Root-Server hinterher (eine DSL-Leitung bietet besonders in Sachen Upload deutlich weniger Bandbreite als die Standleitung eines Rechenzentrums), doch er ist denselben Gefahren ausgesetzt wie jeder andere Rechner.

Ein beliebter Angriffspunkt sind Brute-Force-Angriffe auf SSH oder die auf dem Webserver laufenden Anwendungen. Dabei gerät der Server in der Regel nicht gezielt ins Visier der Angreifer; stattdessen beharken diese potenzielle Ziele wahllos in kompletten IP-Bereichen.

Hinter den Angriffen steckt in der Regel keine große Magie: Die Angreifer probieren einfach so lange automatisiert bekannte Kombinationen aus Benutzername und Passwort durch (bei einem RasPi etwa pi/raspberry) oder variieren beliebte Namen und Passwörter, etwa anhand eines Wörterbuchs, bis sie einen Treffer landen.

Mit Fail2Ban verhindern Sie das, indem das Tool über die Protokolldateien gescheiterte Logins verfolgt und entsprechende IP-Adressen nach bestimmten Kriterien einbremst. Je öfter ein Client versucht, sich mit falschen Daten einzuloggen, desto länger wartet das System, bis es einen weiterer Versuch zulässt. Am Ende blockiert Fail2Ban diese Adresse meist komplett.

Sie aktivieren diesen Schutz zunächst über die Option Brute force protection in der Konfiguration. Die vom System getroffenen Vorgaben passen in der Regel, Sie sollten an dieser Stelle nichts ändern. Anschließend ist das System automatisch scharfgeschaltet und überwacht den SSH-Server sowie die Nextcloud-Instanz (Listing 1).

Listing 1

 

$ sudo fail2ban-client status
Status
|- Number of jail:      2
`- Jail list:           ssh, nextcloud

Den aktuellen Status für einen Dienst fragen Sie ab, indem Sie dessen Namen als Argument übergeben. Im Beispiel aus Listing 2 zeigt dieser noch keine Auffälligkeiten. Auf dem SSH-Server gab es jedoch von der IP 192.168.111.199 bereits zu viele gescheiterte Logins, sodass diese gesperrt wurde. Sollte es sich dabei um einen Fehler handeln, machen Sie diese Maßnahme wieder rückgängig (Listing 3).

Listing 2

 

$ sudo fail2ban-client status nextcloud
Status for the jail: nextcloud
|- filter
|  |- File list:        /var/www/nextcloud/data/nextcloud.log
|  |- Currently failed: 0
|  `- Total failed:     0
`- action
   |- Currently banned: 0
   |  `- IP list:
   `- Total banned:     0
$ sudo fail2ban-client status ssh
Status for the jail: ssh
|- filter
|  |- File list:        /var/log/auth.log
|  |- Currently failed: 0
|  `- Total failed:     6
`- action
   |- Currently banned: 1
   |  `- IP list:       192.168.111.199
   `- Total banned:     1

Listing 3

 

$ sudo fail2ban-client set ssh unbanip 192.168.111.199

Im Test funktionierte das mit der aktuellen Version von NextCloudPi jedoch nur für den SSH-Server in vollem Umfang. In Bezug auf das Webfrontend verzögerte Fail2Ban zwar weitere Login-Versuche subjektiv, doch zum kompletten Sperren der IP-Adresse kam es nie.

Bei der Abfrage des Status antwortete der Client immer Currently failed: 0, hatte also nie ein gescheitertes Login verbucht. Hier gilt es also, noch nachzubessern. Sie sollten daher auf jeden Fall das Standard-Login des Admin-Users ändern und dafür sorgen, dass die Nutzer des Cloud-Speichers sichere Passwörter verwenden.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

06/2019
Home Improvement

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Extrem genau

    Mit einem A/D-Wandler messen Sie bei Bedarf Spannungen. Der MCP3424 macht dabei konstruktionsbedingt eine gute Figur.

  • Verbindungsaufnahme

  • Süßer Wecker

    Dem RasPi fehlen sowohl eine Echtzeituhr als auch ein BIOS, ein zeitgesteuertes Wecken erfordert also Zusatzkomponenten. Hier springt der Witty Pi Mini in die Bresche, ein µHAT von UUGear.

  • Windows to go

    Das Aufsetzen zuverlässiger und sicherer Remote-Desktop-Lösungen erfordert einiges Know-how. Die RasPi-basierte Pinbox von Pintexx reduziert den Konfigurationsaufwand auf ein Minimum.

  • Prima Klima

    In Museen ist es Pflicht, zu Hause nützlich: das permanente Prüfen und zentrale Erfassen der Feuchtigkeit und Temperatur in Räumen.

  • Auf einen Blick

    Ein maßgeschneiderter Infoscreen auf RasPi-Basis mit stromsparendem E-Ink-Display zeigt Termine, Bilder, Mitteilungen und Wetterinformationen an.

  • Sanft berührt

    Mit einem RasPi und dem Controllermodul PiXtend lassen sich mühelos Roboterarme ansteuern und deren Bewegung automatisieren.

  • Popcorn-Kino

    Mit Kodi 18.0 unterstützt LibreELEC 9.0 jetzt die von vielen Streaming-Diensten genutzte DRM-Verschlüsselung. Die Integration von Netflix, Amazon und Co. erfordert allerdings Handarbeit.

  • So nah und doch so fern

    Der RasPi kommt häufig als Server oder Steuerrechner für spezielle Zwecke zum Einsatz. Mit Anydesk erhalten Sie dazu eine Steuersoftware mit grafischer Oberfläche.

  • Eingebettet

    Funkmodule, Displays und Analysegeräte für den Raspberry Pi: Auf der Embedded World präsentieren sich zahlreiche Unternehmen interessierten Elektronikbastlern und Entwicklern.