Nextcloud 11: Fokus auf Sicherheit und Skalierbarkeit

Aus LinuxUser 03/2017

Nextcloud 11: Fokus auf Sicherheit und Skalierbarkeit

© Natalia Merzlyakova, 123RF

Wolke Elf

Nextcloud will Endanwendern und Unternehmen eine sichere Datenhaltung auf Servern in der Cloud unter eigener Kontrolle bieten. Dabei stehen der abgesicherte Datenaustausch und gemeinsames Arbeiten an Dokumenten im Vordergrund.

Mit Nextcloud 11 [1] entfernt sich die im Juni 2016 von Owncloud abgespaltene Homecloud-Server-Software mit einem dritten großen Update weiter von der Quelle. Das gilt nicht nur für die Versionsnummer, sondern vor allem auch für den Ausbau der vorhandenen und die Entwicklung neuer Funktionen.

Dabei setzt sich Nextcloud durch das offenere Entwicklungsmodell von Owncloud ab: Auch die für Unternehmen entwickelten Funktionen stehen bei Nextcloud von Anfang an allen Benutzern zur Verfügung. In diesem Sinn teilt das Projekt seine Veröffentlichungen auch nicht in Community- und Enterprise-Versionen auf.

Gerade bei Diensten, die wertvolle Informationen von Anwendern verwalten, besteht die Gefahr von kriminellen und geheimdienstlichen Begehrlichkeiten. Deshalb stand bei der Entwicklung zu Nextcloud 11 an erster Stelle das Anheben der Sicherheit auf das Level von Industriestandards wie ISO27001. Die Einhaltung dieser Standards, speziell der Klausel 14 der ISO/IEC27001-2013, ließ sich die Nextcloud GmbH vom Sicherheitsunternehmen NCC Group in einem Gutachten [2] bescheinigen. Wer einen Fehler identifiziert, den belohnt Nextcloud weiterhin über das HackerOne-Bug-Bounty-Programm [3] mit bis zu 5000 US-Dollar.

Zwei-Faktor-Authentifizierung

Eine dem Anwender direkt zugewandte, optionale Sicherheitsmaßnahme, deren Implementation in Form der Backend-APIs mit Nextcloud 10 begann, stellt die Zwei-Faktor-Authentifizierung (2FA) [4] dar. Damit lässt sich die Sicherheit durch zwei unabhängige Faktoren bei der Anmeldung erhöhen, indem Sie etwa neben dem Passwort einen Code eingeben, den das System an ein mit dem jeweiligen Konto verbundenes Smartphone sendet (Abbildung 1).

Abbildung 1: Anmeldung in Nextcloud mit TOTP per Google Authentificator.

Abbildung 1: Anmeldung in Nextcloud mit TOTP per Google Authentificator.

Eine weitere Möglichkeit stellt ein Token wie der YubiKey [5] in Form eines USB-Sticks dar, der bei der Anmeldung am Rechner eingesteckt sein muss. Nextcloud 11 unterstützt mit Universal 2nd Factor (U2F) [6] sowie dem Time-based One-time Password Algorithmus (TOTP) [7] des Google Authenticators nun zwei Industriestandards für die Zwei-Faktor-Authentifizierung (Abbildung 2).

Abbildung 2: Neben TOTP steht auch Zweifaktor-Authentifizierung zur Verfügung.

Abbildung 2: Neben TOTP steht auch Zweifaktor-Authentifizierung zur Verfügung.

Zudem unterstützt Nextcloud die Einmalanmeldung mit Single Sign-On (SSO) [8] über Shibboleth, ein Verfahren zur verteilten Authentifizierung und Autorisierung für Anwendungen und Dienste im Web. Zusätzlich unterstützt Nextcloud den verteilten Authentifizierungsdienst Kerberos. Weitere Absicherung erfährt der Dienst dadurch, dass bestimmte sicherheitskritische Aktionen die erneute Eingabe des Passworts erfordern.

Dazu zählt etwa das Ändern der Rechte von Anwendern oder das Aktivieren von Apps im Backend. Auch die Logik hinter der Gültigkeit von Passwörtern haben die Entwickler überarbeitet. So setzt das System beispielsweise das Passwort zurück, sobald der Nutzer für sein Konto eine andere E-Mail-Adresse einträgt. Zudem lassen sich die Zugriffsrechte für unterschiedliche Daten abgestuft regeln (Abbildung 3).

Abbildung 3: Der Zugriff auf Nextcloud lässt sich in vielen Details einschränken.

Abbildung 3: Der Zugriff auf Nextcloud lässt sich in vielen Details einschränken.

Teilen über Server-Grenzen

Das Teilen von Inhalten zwischen Anwendern auf verschiedenen Nextcloud-Instanzen und Servern, das sogenannte Federated Cloud Sharing [9] gab es bereits bei Owncloud. Die Funktion wurde mittlerweile weiter ausgebaut, im Open Cloud Mesh [10] standardisiert und mit Nextcloud 11 weiter abgesichert. Vor Nextcloud 11 versuchte das System etwa, eine Verbindung per HTTPS herzustellen. Gelang das nicht, fiel die Verbindung still auf unverschlüsseltes HTTP zurück. Dieses Fallback muss der Anwender jetzt explizit aktivieren.

Auch der mit Nextcloud 10 eingeführte Schutz vor Brute-Force-Angriffen [11] wurde weiter ausgebaut. So belegt das System Subnetze, aus denen es IPs mit vielen Verbindungsversuchen verzeichnet, für 24 Stunden mit einer 30 Sekunden langen Verzögerung beim Verbinden. Zudem integrierten die Entwickler eine anfängliche Unterstützung für Content Security Policy v3.0 (CSP) [12].

Diese HTTP-Funktion erlaubt einem Server unter anderem, Ressourcen im Browser restriktiv zu verwalten. So lässt sich etwa das Laden von Bildern oder Javascript auf bestimmte Quellen einschränken. Das erschwert beispielsweise Angriffe per Cross-Site-Scripting [13].

Nur Cookies aus erster Hand

Die verbesserte Unterstützung von Same-Site-Cookies [14] geht mit Cross-Site Request Forgery (CSRF) [15] ein weiteres Angriffsszenario an. CSRF-Angriffe werden dadurch ermöglicht, dass viele Webseiten beim Laden Elemente anderer Seiten mitladen, so etwa die Google Fonts oder einen Facebook-Like-Button. Hierbei lädt der Browser Cookies der dritten Seite mit, was Angreifer nutzen, um dem User gefälschte Cookies unterzuschieben. Das Same-Site-Cookies-Attribut unterbindet diesen Angriff.

Auch für den neuen App-Store [16] gelten verschärfte Sicherheitsbedingungen. Neue Apps durchlaufen einen automatischen Check [17]. Der jeweilige Entwickler muss seine App mit seinem Schlüssel signieren und dann von der Nextcloud Code Signing Authority gegenzeichnen lassen [18]. Das verhindert, dass ein Angreifer bei einem erfolgreichen Einbruch in den App-Store manipulierte Versionen der App hochlädt.

Ein weiterer Schwerpunkt der Entwicklung bei Nextcloud 11 lag auf der Performance und Skalierbarkeit in den Bereichen Datenbank und Storage. Auch hier, wie bei der Sicherheit, kommen die Anforderungen von Unternehmenskunden von Nextcloud dem Endanwender direkt zugute. Nextcloud 11 reduziert die Ladezeit von Datenbanken um bis zu 80 Prozent und beschleunigt die Antwortzeiten von typischen Server-Operationen um bis zu 60 Prozent.

Wer sucht, der findet

Nextcloud 11 führt zudem eine Volltextsuche ein [19], die die Suche in Dokumenten nach Worten und Phrasen auf internen sowie externen Speichermedien erlaubt, selbst wenn diese verschlüsselt sind. Neben Klartext, Bild- und Audio-Formaten indexiert die Funktion Dokumente aus Libre/OpenOffice sowie Microsoft Office. Technisch basiert die Suche auf dem Nextant-Indexer, der die Volltextsuche als App im Backend verfügbar macht (Abbildung 4). Die Suchfunktion bezieht per Federation angebundene Server mit ein. Dem Anwender steht die Entscheidung frei, welche Daten das System in den Index aufnimmt.

Abbildung 4: Apache Solr und die Nextant App ermöglichen Volltextsuche.

Abbildung 4: Apache Solr und die Nextant App ermöglichen Volltextsuche.

Für das Federated Cloud Sharing bringt die neue Version nun ein globales Adressbuch mit [20], mit dessen Hilfe sich andere Anwender leichter finden lassen. Auch hier entscheidet der Nutzer, ob er seine Federation-ID veröffentlichen möchte, um leichter auffindbar zu sein. Aktuell betreibt die Nextcloud GmbH den dazu nötigen Lookup-Server, will ihn aber künftig in einen dezentralisiertenr Dienst überführen.

Neben dem bereits länger integrierten Collabora Online Office [21] bekommt ein weiterer externer Dienst seinen ersten experimentellen Auftritt. Die Rede ist von Spreed [22], einem abgesicherten Audio- und Video-Chat. Derzeit können bis zu sechs Teilnehmer gleichzeitig an einem Chat teilnehmen. Diese technische Vorschau soll über die nächste Version von Nextcloud noch weitere Funktionen hinzugewinnen.

Updates weiter automatisiert

Die Aktualisierung von Owncloud und Nextcloud bot in der Vergangenheit oft Anlass zu Verärgerung. Die Aktualisierungsroutine war unzuverlässig, das manuelle Update barg Fallstricke für weniger erfahrene Anwender. Nextcloud 11 enthält nun einen umgestalteten Updater, der die Aktualisierung im Browser klaglos erledigt (Abbildung 5).

Abbildung 5: Der Updater erlaubt die Aktualisierung von Nextcloud im Browser.

Abbildung 5: Der Updater erlaubt die Aktualisierung von Nextcloud im Browser.

Als Anwender müssen Sie lediglich vor und nach dem Anwenden des Updaters manuell die Berechtigungen anpassen. Vor der Aktualisierung sorgt unter Debian und seinen Derivaten ein chown -R www-data:www-data /var/www/nextcloud für freie Bahn. Sollten Sie inoffizielle Apps verwenden, empfiehlt es sich, diese vor einem Update zu deaktivieren.

Für andere Distributionen müssen Sie HTTP-User/Gruppe sowie den Pfad entsprechend anpassen. Bei Fedora/CentOS heißen User und Gruppe apache, bei Arch Linux http und bei (Open-)Suse wwwrun (User) und www (Gruppe). Nach erfolgter Aktualisierung dürfen Sie auf keinen Fall vergessen, die Berechtigungen wieder anzupassen. Dafür sorgt beispielsweise ein Skript, wie Sie es in Listing 1 finden.

Listing 1

#!/bin/bash
# ----------------------------------------------
# Nextcloud: Berechtigungen nach Update anpassen
# ----------------------------------------------
ncpath='/var/www/nextcloud'
htuser='www-data'
htgroup='www-data'
rootuser='root'
printf "Creating possible missing Directories\n"
mkdir -p $ncpath/data
mkdir -p $ncpath/assets
mkdir -p $ncpath/updater
printf "chmod Files and Directories\n"
find ${ncpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ncpath}/ -type d -print0 | xargs -0 chmod 0750
printf "chown Directories\n"
chown -R ${rootuser}:${htgroup} ${ncpath}
chown -R ${htuser}:${htgroup} ${ncpath}/apps/
chown -R ${htuser}:${htgroup} ${ncpath}/assets/
chown -R ${htuser}:${htgroup} ${ncpath}/config/
chown -R ${htuser}:${htgroup} ${ncpath}/data/
chown -R ${htuser}:${htgroup} ${ncpath}/themes/
chown -R ${htuser}:${htgroup} ${ncpath}/updater/
chmod +x ${ncpath}/occ
printf "chmod/chown .htaccess\n"
if [ -f ${ncpath}/.htaccess ]; then
  chmod 0644 ${ncpath}/.htaccess;
  chown ${rootuser}:${htgroup} ${ncpath}/.htaccess;
fi
if [ -f ${ncpath}/data/.htaccess ]; then
  chmod 0644 ${ncpath}/data/.htaccess;
  chown ${rootuser}:${htgroup} ${ncpath}/data/.htaccess;
fi

Daneben vereinfacht Nextcloud 11 das Handhaben von Dateien und Verzeichnissen. Aktionen wie das Verschieben, Kopieren und Teilen bieten mehr Optionen als zuvor und unterstützen das Teilen per E-Mail (Abbildung 6). Zudem dürfen Sie nun auch Emoticons in Dateinamen nutzen. Die Apps für Kontakte und den Kalender erhielten Erweiterungen. Der Kalender lässt sich nun öffentlich teilen, den Import von Kontakten haben die Entwickler optimiert.

Abbildung 6: Die aktuelle Version bietet vielfältige Optionen zum Teilen von Dateien und Verzeichnissen.

Abbildung 6: Die aktuelle Version bietet vielfältige Optionen zum Teilen von Dateien und Verzeichnissen.

Eine neue App namens Documents erlaubt das Bearbeiten vorhandener und das Erstellen und Teilen von neuen Dokumenten mit der Endung .odt. Das Teilen funktioniert derzeit noch nicht aus der App heraus, dazu müssen Sie zurück in die Dateiübersicht. Die Liste an verfügbaren Apps nimmt mit jeder Veröffentlichung weiter zu, bei vielen davon handelt es sich um offizielle Nextcloud-Apps.

Fazit

Bei den Geschwistern Nextcloud und Owncloud deutet sich eine ähnliche Entwicklung an wie bei LibreOffice und OpenOffice: Derzeit scheint Nextcloud dem Kontrahenten davonzuziehen. Mit einem Wechsel auf Nextcloud sollten Sie nicht zu lange warten: Noch hält sich der damit verbundene Aufwand in Grenzen [23]; bereits mit Nextcloud 12, garantiert aber in absehbarer Zukunft, wird ein Wechsel schwieriger, wenn nicht unmöglich.

Nextcloud 11 erhielt an vielen Stellen Verbesserungen, wobei die Sicherheit jeweils mit den Erweiterungen Schritt hielt. Mitte Januar schoben die Entwickler bereits Nextcloud 11.0.1 nach, das Fehler der Hauptversion beseitigt. Nextcloud macht mittlerweile Spaß: Aktualisierungen fallen leichter und die Geschwindigkeit der gesamten Anwendung stieg merklich an.

Als Client fungiert nach wie vor das von Owncloud gewohnte Programm, da viele Distributionen noch keine Nextcloud-Version bereitstellen (bei Arch finden Sie den offiziellen Nextcloud-Client jedoch bereits im AUR [24]). Die hier ausstehende Anpassung auf Nextcloud hat aber eher kosmetischen Charakter, die Funktionen bleiben dieselben. Für Android findet sich inzwischen eine offizielle Nextcloud-App im Play Store (Abbildung 7).

Abbildung 7: Die Android-App von Nextcloud ermöglicht Zugriff auf die Daten per WebDAV.

Abbildung 7: Die Android-App von Nextcloud ermöglicht Zugriff auf die Daten per WebDAV.

Als Fazit bleibt zu sagen, dass die private Cloud sich mit Nextcloud auf einem guten Weg in eine möglichst sichere Zukunft bewegt. Nextcloud 11 stellt einen markanten Schritt in diese Richtung dar. 

Infos

  1. Nextcloud: https://nextcloud.com/blog/nextcloud-11-sets-new-standard-for-security-and-scalability

  2. NCC-Gutachten: https://nextcloud.com/wp-content/themes/next/assets/files/NCC_report_assurance.pdf?x16328

  3. Bug Bounty: https://hackerone.com/nextcloud

  4. 2FA: https://de.wikipedia.org/wiki/Zwei-Faktor-Authentifizierung

  5. YubiKey: https://en.wikipedia.org/wiki/YubiKey

  6. U2F: https://de.wikipedia.org/wiki/U2F

  7. TOTP: https://de.wikipedia.org/wiki/Time-based_One-time_Password_Algorithmus

  8. SSO: https://de.wikipedia.org/wiki/Single_Sign-on

  9. Federation: https://blog.schiessle.org/2016/12/13/cloud-federation-getting-social/

  10. Open-Cloud-Mesh: https://nextcloud.com/blog/nextcloud-joins-open-cloud-mesh/

  11. Brute Force: https://de.wikipedia.org/wiki/Brute-Force-Methode

  12. CSP: https://developers.google.com/web/fundamentals/security/csp/

  13. CSS: https://de.wikipedia.org/wiki/Cross-Site-Scripting

  14. SSC: https://statuscode.ch/2016/06/security-and-nextcloud-9/

  15. CSRF: https://de.wikipedia.org/wiki/Cross-Site-Request-Forgery

  16. App-Store: https://apps.nextcloud.com/

  17. App-Sicherheit: https://nextcloud.com/blog/nextcloud-appstore-improvements/

  18. Signing Authority: http://blog.wuc.me/2016/11/29/sign-nextcloud-app.html

  19. Volltextsuche: https://nextcloud.com/blog/nextcloud-11-introduces-full-text-search/

  20. Globales Adressbuch: https://github.com/nextcloud/lookup-server

  21. Collabora Online: https://nextcloud.com/collaboraonline/

  22. Spreed: https://nextcloud.com/blog/video-calls-in-nextcloud-11-with-spreed/

  23. Von Owncloud zur Nextcloud: Ferdinand Thommes, “Wolkenumzug”, LU 10/2016, S. 52, https://www.linux-community.de/37200

  24. Nextcloud-Client im AUR: https://aur.archlinux.org/packages/nextcloud/

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 03/2017 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben