Härtung und Sicherheits Anleitung¶
ownCloud zielt darauf ab, mit sicheren Standardeinstellungen zu arbeiten, die Administratoren nicht modifizieren müssen. In einigen Fällen ist eine zusätzliche Sicherheits Härtung wünschenswert, diese kann in Szenarien angewendet werden, wobei der Administrator über die vollständige Kontrolle der ownCloud Instanz verfügen muß. Dabei wird vorausgesetzt, dass der ownCloud Server auf Apache2 in einer Linux-Umgebung läuft.
Hinweis
ownCloud wird Sie in der Administrationsoberfläche warnen, wenn einige kritischen sicherheitsrelevante Optionen fehlen. Es ist jedoch immer noch notwendig, daß der Server-Administrator die Sicherheit des Systems überrüfen muß um diese aufrecht zu erhalten.
Begrenzung der Paßwortlänge¶
ownCloud verwendet den bcrypt Algorithmus um damit für Sicherheit und Leistung zu sorgen, z.Bs. bei einem Denial of Service, seigt der CPU-Bedarf exponentiell, nur sie überprüft die ersten 72 Zeichen der Passwörter. Dies gilt für alle Passwörter die Sie in ownCloud verwenden: Benutzer-Passwörter, Passwörter für Link-Freigaben und Passwörter für externe Freigaben.
Betriebssystem¶
Geben Sie PHP Leserechte für /dev/urandom¶
ownCloud Benutzer setzen einen RFC 4086 (“Randomness Requirements for Security”) konformen Mischer ein, um kryptographisch sichere Pseudozufallszahlen zu erzeugen. Das bedeutet dass beim Erzeugen einer Zufallszahl ownCloud mehrere Zufalls Zahlen aus verschiedenen Quellen erzeugt und diese von der letzten Zufallszahl ableitet.
Die Erzeugung von Zufallszahlen versucht auch, Zufallszahlen aus der /dev/urandom anzufordern, so ist es sehr empfehlenswert, um Ihr Setup so zu konfigurieren das es eine Möglichkeit gibt, womit PHP in der Lage ist, um zufällige Daten von dort zu lesen.
Hinweis
Wenn open_basedir innerhalb Ihrer php.ini Datei konfiguriert wurde, stellen Sie sicher, das der Ordner /dev mit eingeschlossen wurde.
Aktivieren der Härten Module unter SELinux¶
Es wird dringend empfohlen, die Härten Module unter SELinux wenn möglich zu aktivieren. Sehen Sie dazu auch unter SELinux Konfiguration nach, um mehr über SELinux zu erfahren.
Bereitstellung¶
Anzeigen des Datenverzeichnis außerhalb des Web-Root¶
Es ist sehr empfehlenswert, wenn Sie Ihr Datenverzeichnis außerhalb des Web-Stamm platzieren (z.Bsp. außerhalb von /var/www). Am einfachsten ist es, das auf einer neuen Installation zu tun.
Deaktivieren Vorschaubilderzeugung¶
ownCloud ist in der Lage, Vorschaubilder von gemeinsamem Dateitypen wie Bildern oder Textdateien zu erzeugen. Standardmäßig wird die Vorschauerzeugung für einige Dateitypen, die wir sehen können, bei dessen Einsatz standardmäßig aktiviert. Das verringert jedoch die Sicherheit, deswegen sollten Administratoren sich bewusst sein, dass diese Vorschaubilder mit PHP erzeugt werden und Bibliotheken verwenden die in C geschrieben wurden, die anfällig für Angriffe sein könnten.
Für Hochsicherheitsbereitstellungen empfehlen wir, das Deaktivieren der Vorschau-Erzeugung durch Einstellung des enable_previews Paramters auf false in er config.php vorzunehmen. Als Administrator sind Sie auch in der Lage, das entsprechend zu verwalten und welche Vorschauen von welchem Anbieter aktiviert sind, modifizieren Sie dazu den enabledPreviewProviders Parameter entsprechend.
Benutzen von HTTPS¶
Bei Verwendung von ownCloud ohne eine verschlüsselte HTTPS-Verbindung, kann Ihr Server für einen Man-in-the-Middle (MITM) Angriff anfällig werden welcher Risiken mitbringt, die das Abfangen von Benutzerdaten und Passwörtern möglich machen kann. Es ist eine bewährte Methode, und sehr zu empfehlen, immer HTTPS auf Produktionsservern zu verwenden, und niemals zulassen, dass unverschlüsselte HTTP Aufrufe erfolgen.
Das einrichten von HTTPS auf Ihrem Webserver ist abhängig von Ihrem Setup; konsultieren Sie bitte die Dokumentation zu Ihrem HTTP-Server. Die folgenden Beispiele sind für Apache.
Leiten Sie allen unverschlüsselten Datenverkehr auf HTTPS um¶
Um den gesamten HTTP-Verkehr zu HTTPS umzuleiten, sind Administratoren aufgefordert, eine dauerhafte Umleitung mit dem 301-Statuscode einzustellen. Bei der Verwendung von Apache kann das durch eine Einstellung erreicht werden, die auf dem Apache VirtualHost in der config erfolgt:
<VirtualHost *:80>
ServerName cloud.owncloud.com
Redirect permanent / https://cloud.owncloud.com/
</VirtualHost>
Aktivieren Sie die HTTP Strict Transport Security¶
Das Weiterleiten des gesamten Datenverkehr zu HTTPS ist gut, es kann aber Man-in-the-Middle-Angriffe nicht vollständig verhindern. Damit sind die Administratoren aufgefordert, den HTTP- Strict Transport Security-Header zu setzen, der den Browser anweist, nicht zulassen, dass eine Verbindung mit ownCloud über HTTP erfolgt, und sie versucht, vor Ort zu verhindern das Besucher unter der Umgehung dieses Protokolls, darauf zugreifen können, wobei ungültige Zertifikat Warnungen erzeugt werden.
Das kann erreicht werden, indem Sie die folgenden Einstellungen innerhalb der Apache Virtualhost-Datei anpassen:
<VirtualHost *:443>
ServerName cloud.owncloud.com
Header always add Strict-Transport-Security "max-age=15768000"
</VirtualHost>
Das erfordert die mod_headers Erweiterung in Apache.
Die richtige SSL-Konfiguration¶
Standard-SSL-Konfiguration von Webservern ist oft nicht state-of-the-art, und es erfordert eine Feinabstimmung für eine optimale Leistung und die entsprechende Sicherheit. Die verfügbaren SSL-Chiffren und Optionen hängen voll und ganz von Ihrer Umgebung ab, wodurch eine generische Empfehlung nicht wirklich möglich ist.
Wir empfehlen die Verwendung des Mozilla SSL Configuration Generator zum generieren einer geeigneten Konfiguration für Ihre Umgebung, und der freie Qualys SSL Labs Tests kann gute Beratung leisten, ob der SSL-Server korrekt konfiguriert ist.
Also ensure that HTTP compression is disabled to mitigate the BREACH attack.
Verwenden Sie einen dedizierten Domäne für ownCloud¶
Administratoren sind aufgefordert, ownCloud auf einer dedizierten Domäne, wie cloud.domain.tld statt domain.tld zu installieren, um alle Vorteile durch die angebotene Same-Origin-Politik zu gewinnen.