NextCloud mit Sophos UTM Webserver Protection
Zitat von mpachmann am 24. Januar 2024, 11:29 Uhrhttps://www.adminlabs.de/nextcloud-mit-sophos-utm-webserver-protection/
In diesem Artikel möchte ich ein paar Eckpunkte und Einstellungen bzw. Einstellungsmöglichkeiten und -hilfen aufführen, die bei der Absicherung eines NextCloud Servers über die Sophos UTM Webserver Protection unterstützen können.
NextCloud Konfiguration
Beim Einsatz der Webserverprotection auf der Sophos UTM fungiert die UTM als Reverse Proxy. Damit die NextCloud das auch weiß und Requests entsprechend behandeln kann, muss in der config.php der folgende Eintrag ergänzt werden:
'trusted_proxies' => ['Interne IP der Sophos UTM'],Setzt man diesen Eintrag nicht, so wird in den Einstellungen unter den Sicherheits- & Einrichtungswarnungen stets die folgende Warnung stehen: „Die Reverse-Proxy-Header-Konfiguration ist fehlerhaft oder Du greifst auf Nextcloud über einen vertrauenswürdigen Proxy zu. Ist dies nicht der Fall, dann besteht ein Sicherheitsproblem, das einem Angreifer erlaubt die IP-Adresse, die für Nextcloud sichtbar ist, auszuspähen.„
Die gesamte Konfigurationsdatei einer NextCloud in Version 20 mit einer Sophos UTM könnte wie folgt aussehen:<?php$CONFIG = array ('instanceid' => 'XXXXXXXXXXXXXX','passwordsalt' => 'XXXXXXXXXXXXXXXXXXX','secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX','trusted_domains' =>array (0 => 'interne IP der NextCloud',1 => 'cloud.domain.tld',),'datadirectory' => '/mnt/data','dbtype' => 'mysql','version' => '20.0.0.9','overwrite.cli.url' => 'https://cloud.domain.tld','overwriteprotocol' => 'https','trusted_proxies' => ['Interne IP der Sophos UTM'],'dbname' => 'nextcloud','dbhost' => 'localhost','dbport' => '','dbtableprefix' => 'oc_','mysql.utf8mb4' => true,'dbuser' => 'nextcloud','dbpassword' => 'XXXXXXXXXXXXXXXXX','installed' => true,'default_language' => 'de','force_language' => 'de','default_locale' => 'de','force_locale' => 'de','skeletondirectory' => '','memcache.local' => '\OC\Memcache\APCu','filesystem_check_changes' => 1,);?>Sophos Konfiguration
Sophos SG/UTM <> Sophos Firewall XG/XGS/SFOSDiese Anleitung bezieht sich auf die erforderlichen Einstellungen einer Sophos SG UTM. - Für die Sophos XG Firewall bzw. SFOS sind abweichende Einstellungen erforderlich, die in einem späteren Artikel folgen.SSL-Zertifikat
Wenn nicht bereits vorhanden, so sollte zunächst ein SSL-Zertifikat importiert oder via Let’s Encrypt von der Sophos angefordert werden.
Dies kann über „Webserver Protection“ -> „Zertifikatsverwaltung“ im Webadmin der UTM erfolgen.
Echter Webserver
Unter „Webserver Protection“ -> „Web Application Firewall“ -> „Echte Webserver“ fügen wir zunächst einen neuen Webserver mit den Daten unseren tatsächlichen internen Servers hinzu:
Firewall-Profil
Unter „Webserver Protection“ -> „Firewall-Profile“ legen wir ein neues Firewall-Profil extra für unsere NextCloud an. Die folgenden Filterregeln müssen dabei übergangen werden, damit die Kommunikation einwandfrei funktioniert:981243960024942460960901950108950109960335981204950010959151950907973302973326973347973335973300973334973338981231981318950901981173981245960904981205Die Einstellungen zu Antiviren-Scans können nach belieben und jeweiligen Anforderungen angepasst werden. Wegen möglichen Verzögerungen sollte das Timeout bzw. die maximale Dateigröße jedoch möglichst gering gehalten werden. Ein direkter Virenscan der Datenverzeichnisse kann auch Serverseitig losgelöst erfolgen.
Virtueller Webserver
Im letzten Schritt muss nun mit allen zuvor angelegten Regeln und Objekten ein neuer virtueller Webserver hinzugefügt werden.
Dies ist wieder unter „Webserver Protection“ -> „Web Application Firewall“ -> „virtueller Webserver“ möglich.
Als Schnittstelle wird die öffentliche WAN-Adresse gewählt.
HTTPS ist obligatorisch und der Domänenname ergibt sich i.d.R. aus dem zuvor erstellten oder angeforderten Zertifikat.
Als „Firewall-Profil“ muss letztlich noch das soeben neu angelegte Firewall-Profil ausgewählt werden.
In diesem Artikel möchte ich ein paar Eckpunkte und Einstellungen bzw. Einstellungsmöglichkeiten und -hilfen aufführen, die bei der Absicherung eines NextCloud Servers über die Sophos UTM Webserver Protection unterstützen können.
NextCloud Konfiguration
Beim Einsatz der Webserverprotection auf der Sophos UTM fungiert die UTM als Reverse Proxy. Damit die NextCloud das auch weiß und Requests entsprechend behandeln kann, muss in der config.php der folgende Eintrag ergänzt werden:
Setzt man diesen Eintrag nicht, so wird in den Einstellungen unter den Sicherheits- & Einrichtungswarnungen stets die folgende Warnung stehen: „Die Reverse-Proxy-Header-Konfiguration ist fehlerhaft oder Du greifst auf Nextcloud über einen vertrauenswürdigen Proxy zu. Ist dies nicht der Fall, dann besteht ein Sicherheitsproblem, das einem Angreifer erlaubt die IP-Adresse, die für Nextcloud sichtbar ist, auszuspähen.„
Sophos Konfiguration
SSL-Zertifikat
Wenn nicht bereits vorhanden, so sollte zunächst ein SSL-Zertifikat importiert oder via Let’s Encrypt von der Sophos angefordert werden.
Dies kann über „Webserver Protection“ -> „Zertifikatsverwaltung“ im Webadmin der UTM erfolgen.
Echter Webserver
Unter „Webserver Protection“ -> „Web Application Firewall“ -> „Echte Webserver“ fügen wir zunächst einen neuen Webserver mit den Daten unseren tatsächlichen internen Servers hinzu:
Firewall-Profil
Die Einstellungen zu Antiviren-Scans können nach belieben und jeweiligen Anforderungen angepasst werden. Wegen möglichen Verzögerungen sollte das Timeout bzw. die maximale Dateigröße jedoch möglichst gering gehalten werden. Ein direkter Virenscan der Datenverzeichnisse kann auch Serverseitig losgelöst erfolgen.
Virtueller Webserver
Im letzten Schritt muss nun mit allen zuvor angelegten Regeln und Objekten ein neuer virtueller Webserver hinzugefügt werden.
Dies ist wieder unter „Webserver Protection“ -> „Web Application Firewall“ -> „virtueller Webserver“ möglich.
Als Schnittstelle wird die öffentliche WAN-Adresse gewählt.
HTTPS ist obligatorisch und der Domänenname ergibt sich i.d.R. aus dem zuvor erstellten oder angeforderten Zertifikat.
Als „Firewall-Profil“ muss letztlich noch das soeben neu angelegte Firewall-Profil ausgewählt werden.