Nextcloud 28 und die "Pflicht" zu https bei Nutzung als Intranetlösung

Ich habe eine “eigentlich” kurze Verständnisfrage.

Ich setze Nextcloud auch als Intranetlösung ein. So z.B. mit Anbindung an einer Sambafreigabe. Ein Zugriff von außen erfolgt wenn überhaupt via VPN.

Mit der Version 25 geht das auch z.B. in Verbindung mit circle und mindmap problemlos.

Auf folgendem System ist dies nun vorbei und es zudem abgesehen von Rumprobieren nicht wirklich erkennbar, welche Teile von Nextcloud funktionieren und welche nicht.

Ubuntu 22.04 LTS
PHP 8.1.2
mysql 10.6.12
Nextcloud 28.0.1
Apache/2.4.52

Und ja, es wird in Bezug auf http/https ein Fehler und nicht wie bisher eine Warnung angezeigt.
Unsicherer Zugriff auf die Website über HTTP. Es wird dringend empfohlen, deinen Server so einzurichten, dass stattdessen HTTPS erforderlich ist, wie in den Sicherheitstipps :arrow_upper_right: beschrieben. Ohne diese funktionieren einige wichtige Webfunktionen wie „In die Zwischenablage kopieren“ oder sogenannte „Service Worker“ nicht!

Nun, eigentlich ist die Sache klar, roter Fehler heißt Funktionalität beeinträchtigt - Fehlerbeseitung erforderlich, fertig.

Nun aber die Verständnisfrage, weil bei den Systemvoraussetzungen das so nicht drin steht. Um nun Funktionalitäten, die in den vorherigen Versionen problemlos unter der vorliegenden Konstellation (also ohne https) liefen, weiter nutzen zu wollen, muss man nun auch auf einem auf das lokale Netzwerk beschränkte Server tatsächlich Zertifikate einsetzen? Und wenn ja, es gibt keine Möglichkeit, zu erkennen, welche App dies zwingend voraussetzt?

Zertifikate erstellen ist jetzt nicht unbedingt das Problem. Ich nutze ja bereits VPN mit Zertifikate. Aber der Aufwand in diesem Fall ist schon enorm. Denn da braucht es einen “sinnvollen” DNS-Eintrag auf einem DNS-Server oder HOST-Einträge auf den lokalen Systemen, damit zumindest selbst erstellte Zertifikate genutzt werden können. Und über Nutzung eines externen DNS-Servers, Letsencrpyt und eine Portfreigabe, die einen Zugriff außerhalb des VPNs ermöglicht, brauchen wir für diese Art der Nutzung nicht nachzudenken.

Oder ist die Ursache für die fehlende Funktion der circle und mindmap app woanders zu suchen.

In dem Protokoll gibt keinerlei Meldungen hierzu.

Wenn du Nextcloud über einen DNS Namen ansprechen möchtest, benötigst du das bisher auch.

Wenn du Nextcloud bisher über die IP-Adresse aufgerufen hast, dann wäre der einfachste Weg mit XCA eine CA zu erstellen und Zertifikate mit einer IP-Adresse statt Domain auszustellen.

Dank für den Tipp.
Mir ist wieder eingefallen, dass ja der apache von zu Hause aus (auf Ubuntu/Debian) mit einem snakeoil Zertifikat nebst inaktiver site Konfiguration daher kommt.
Ich habe das ssl-mod und die site aktiviert und voila nach Bestätigung des Risikos im Browser wegen der Nutzung selbsterstellter Zertifikate ist der rote Fehler weg. Es bleiben da allerdings noch Warnungen. So z.B. dass meine Instanz unsichere URLS produziert, da muss ich noch schauen. Und die mindmap app ist leider weiterhin ohne Funktion. Das wird wohl ein anderes Problem sein.
Man kann nun auch mit einem redirect hier von http auf https direkt umlenken, damit grundsätzlich auch lokal nur https zum Einsatz kommt. Evt. ist dann auch die zuvor beschriebene Warnung weg. Jetzt ist erst mal nichts mehr rot, das war erst mal wichtig.

Das bekommst du nur mit einer registrierten Domain und einem signierten Zertifikat weg. Oder du kannst deine eigene interne CA betreiben, und dann die Zertifikate auf die Clients verteilen. Muss man auch nicht mehr diskutieren drüber, dieser Zug ist abgefahren, denn die OS und Browserhersteller werden das nicht mehr (zurück)ändern, und es hat eigentlich auch nichts mit Nextcloud zu tun. :wink:

Hier eine kurze Zusammenfassung bzw. Ergänzung der vorhandenen Installationsanleitung für diejenigen, die Nextcloud als ausschließlich via lokale IP (einschl. VPN) verfügbare Lösung auf einem Ubuntu Server (z.B. 22.04 LTS) einsetzen wollen. Am Beispiel 192.168.0.1 und dem Verzeichnis nc

sudo a2enmod ssl
sudo a2ensite default-ssl.conf

Unter /etc/apache2/sites-available z.B. die site nc.conf hinzufügen (Kommentierung nur als Anhaltspunkt):

<VirtualHost *:443>
    ServerName 192.168.0.1

#    ServerAdmin webmaster@localhost
#    DocumentRoot /var/www/html/nc

    ErrorLog /var/log/apache2/error.log
    CustomLog /var/log/apache2/nc.log combined

    <Directory /var/www/html/nc>
        Require all granted
        AllowOverride All
        Options FollowSymLinks MultiViews

#        <IfModule mod_dav.c>
#            Dav off
#        </IfModule>
    </Directory>
</VirtualHost>

Site aktivieren:

sudo a2ensite nc

In der Konfigurationsdatei der Nexcloud Instanz folgende Änderung vornehmen:

sudo nano /var/www/nc/config/config.php

Inhalt:

'overwrite.cli.url' => 'https://192.168.0.1/nc',
'overwriteprotocol' =>  'https',

und abschließend Apache neu laden

sudo service apache2 reload

Dann ist Nextcloud unter https://192.168.0.1 nach Einräumung einer Ausnahme für das Zertifikat verfügbar und alle Funktionen laufen ohne Fehlermeldung bzw. Probleme hinsichtlich ssl.

1 Like