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

08/2018
Projekte & Hacks

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Fernverkehr

    Zwar wurde I2C eigentlich für die interne Gerätekommunikation konzipiert, doch mithilfe geeigneter Extender-Bausteine überbrückt der Bus Distanzen bis zu 100 Metern.

  • Neues auf der Heft-DVD

    Nur mit dem optimalen System und der richtigen Software nutzen Sie das volle Potenzial eines Mini-PC. Mit der Heft-DVD erhalten Sie nicht nur die neusten Distributionen für den RasPi und Co., sondern gleichzeitig auch die passenden Programme zu den Artikeln.

  • Farbenspiele

    Der winzige Sensorbaustein APDS-9960 vereint vier unterschiedliche Anwendungsfälle in einem Chip.

  • Finger weg!

    Mit einem Read-only-Dateisystem schützen Sie die SD-Karte vor dem Altern durch Schreibvorgänge. Beim Aufsetzen gilt es, einige wichtige Punkte zu beachten.

  • Auf Zuruf

    Mit dem bereits Anfang 2017 angekündigten und jetzt endlich verfügbaren Voice offeriert Matrix Labs eine neue Erweiterung, die den Raspberry Pi fit für Sprachsteuerung machen soll.

  • Experimentell

    Wer elektronische Schaltungen entwirft, experimentiert oft erst einmal mit einem Breadboard. Genau für diese Bastler bietet sich der NanoPi-Duo als Steuerrechner an.

  • Aufgemöbelt

    Mit dem Desktop-Kit von Farnell gibt der RasPi auch auf dem Schreibtisch technisch und optisch eine gute Figur ab.

  • PiBot

    Aus einem Fischertechnik-Baukasten lässt sich schon mit wenigen Teilen ein Roboter aufbauen. Fehlt nur noch ein Gehirn: Das stellt der Raspberry Pi.

  • Heißkalt serviert

    Wie verwandelt sich ein Linux-System auf einem RasPi in einen Datenlogger? Indem es mit einem Bluetooth-fähigen Multimeter spricht.

  • Türwächter

    Der RasPi beteiligt sich am Internet der Dinge und wacht als smartes Schließsystem autonom über den Zugang zum Eigentum.