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

10/2019
Raspberry Pi 4B

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Sonnige Zeiten

    UV-Strahlung ist für das menschliche Auge unsichtbar, was sie umso gefährlicher macht. Die Höhe der tatsächlichen Belastung verrät Ihnen das Selbstbauprojekt UV-Sensor.

  • Gut verpackt

    Für das Ansteuern kleiner Displays gibt es keine Programme von der Stange. Mit Python und einer Pygame-Bibliothek erstellen Sie trotzdem im Handumdrehen Anwendungen.

  • Macro-Mini-Micro-Bit

    Was dem Raspberry Pi für die Computerwelt gelungen ist, versucht der BBC Micro:bit für Mikrocontroller zu wiederholen. Das für Schüler entwickelte Kit hilft beim Einstieg in die hardwarenahe Programmierung.

  • Vorhang auf

    Mit dem modernen Video-Codec HEVC (H.265) erstellte Filme spielen bisherige RasPi-Modelle oft nur ruckelnd ab. Wir testen, ob der neue Raspberry Pi 4B das besser kann.

  • Überraschung!

    Eine optimierte Architektur und mehr RAM beschleunigen den RasPi 4B deutlich. Wir prüfen, wie gut sich der Neuling als Desktop-Rechner schlägt.

  • Durchgestartet

    Ein Stresstest zeigt, wie sich der neue Raspberry Pi 4 Modell B gegenüber den älteren Modellen abhebt.

  • Vierte Generation

    Eine schnellere CPU, USB 3.0 und Gigabit-Ethernet sind nur die Highlights des Raspberry Pi 4B: Das Board bringt viele weitere Neuerungen mit.

  • Tiefenmesser

    Um die Pumpe in einem Brunnenschacht möglichst genau zu positionieren, brauchen Sie dessen Tiefe. Die ermitteln Sie mithilfe eines präzisen Messgeräts aus einem Luftdrucksensor und einem Mikrocontroller.

  • Faktencheck

    Das via DVB-T2 ausgestrahlte Digital-TV liefert Bilder in HD-Qualität. Der dabei eingesetzte H.265-Standard überfordert allerdings kleine Mini-Rechner wie den Raspberry Pi – oder geht es doch?

  • Zugriff von außen

    React Native erlaubt es, Apps mit wenigen Zeilen Code zu programmieren. Mit einem entsprechenden Server sprechen Sie so den RasPi vom Smartphone aus an.