SSL Certifikat bei lokaler ip

ZuseZ3

Lt. Commander
Registriert
Jan. 2014
Beiträge
1.659
Hintergrund. Ich möchte mit Kodi auf meine Nextcloud Filmsammlung zugreifen.
Kodi verweigert die zusammenarbeit bei ungültigen Zertifikaten und ein workaround, von dem deutlich gewarnt wurde, funktioniert nicht. Ergo will ich mein SSL setup fixen.

Setup. Nextcloud lokal statisch über 192.168.xxx.y erreichbar. Alle Clients sind (ggf. via vpn) im lokalen Netzwerk.
Das SSL Zertifikat habe ich für die foo.myfritz.net Adresse beantragt, da ich für die lokale ip direkt keines beantragen kann. Dazu habe ich eine kurzzeitige Portweiterleitung eingerichtet.
Aus Sicherheitsgründen hängt meine Cloud nicht dauerhaft direkt im Internet.
Da ich z.T. aber auch Gäste im Netzwerk habe möchte ich nicht auf http wechseln.

Mein Problem ist nun, dass ich die Nextcloud über
https://192.168.xxx.y/nextcloud aufrufe, das Zertifikat aber für
https://Foo.myfritz.net/nextcloud ausgestellt ist, was wieder für Warnungen und Probleme mit Kodi sorgt.
An welcher Stelle muss ich nun wie dafür sorgen, dass ich die cloud lokal ohne ssl Fehler aufrufen kann?

Als DNS Provider habe ich in meiner Fritzbox mein PiHole stellen.
Soll ich dort foo.myfritz.net auf die interne statische ip umleiten?
Oder soll ich in meiner apache2 config irgendwie bekannt geben, dass die lokale IP zur myfritz Adresse gehört? Klingt beides für mich nicht sonderlich logisch.
 
So funktioniert SSL nicht... entweder man stellt es auf die richtigen Namen aus oder man lässt es... Und da Zertifikate nicht für IP's ausgestellt werden können....

Workaround du lässt das über nen Revers Proxy laufen der ein Gültiges Zertifikat hat und sagst ihm das es das ungültige Ignorieren soll beim weiterleiten alternativ du stellst deine eigenen Zertifikate aus und Trustetst die bei den Clients.

Saubere wäre es aber einfach wenn du das Zert für die richtige Domain ausstellst...


Warum du die Cloud nicht über den Namen aufrufen willst erschließt sich mir nicht..
 
  • Gefällt mir
Reaktionen: Asghan
wäre es nicht einfacher, auf deinen Filme-Nextcloud-Ordner einfach einen Samba/FTP Share zu werfen, und den in Kodi einzubinden?
 
Ich hatte überlegt ein eigenes Zertifikat auszustellen, aber war nicht sicher, ob es nicht noch Wege gibt ohne das ich dieses Zertifikat im zweifelsfall manuell bei jedem Endgerät hinzufügen muss @Revolution
Generell wäre ich auch damit einverstanden zusätzlich zu der ip noch per myfritz Adresse auf die Cloud zugreifen zu können, dann könnte ich myfritz nehmen wenn es auf das Zertifikat nutzen und die ip für fälle wo ich die Adresse neu/manuell eingeben muss.
Reicht es dafür die apache2 Config zu verdoppeln und einen weiteren virtualHost Eintrag zu haben, wo ich statt ServerName 192.168.../nextcloud dann ServerName Foo.myfritz.net/nextcloud nutze? Oder übersehe ich da etwas?

@Tranceport Nextcloud mag es nicht so wenn sich die drunterliegenden Dateien abseits von webdav ändern, was in dem Fall durch Kodi geschehen würde. Ich müsste dann regelmäßig einen rescan meiner Daten durchführen, was ich vermeiden möchte. An sonsten wäre es sicherlich eine einfachere Lösung.
Ergänzung ()

Hier ist meine aktuelle apache config:
Apache-Konfiguration:
<VirtualHost *:80>
   <IfModule mod_headers.c>
     Header always set Referrer-Policy "no referrer"
     Header always set X-Content-Type-Options nosniff
     Header always set X-Frame-Options: sameorigin
   </IfModule>
   ServerName 192.168.178.20
   Redirect / https://192.168.178.20/


</VirtualHost>

<VirtualHost *:443>
  ServerName 192.168.178.20/nextcloud
  #ServerName Foo.myfritz.net/nextcloud
    <IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains"
      Header always set Referrer-Policy "no referrer"
      Header always set Referrer-Policy "strict-origin"
#img-src data: blob:
      Header always set Content-Security-Policy: "default-src 'none' ; \
    img-src 'self' data: ; \
    style-src 'self' 'unsafe-inline'; \
    object-src 'none' ; \
    script-src 'self' 'unsafe-inline'; \
    font-src 'self' data:; \
    connect-src 'self'; \
    media-src 'self'; \
    base-uri 'none'; \
    form-action 'self'; \
    frame-ancestors 'none';"

      Header always set X-XSS-Protection: "1; mode=block"
      Header always set X-Frame-Options: sameorigin
      Header always set X-Content-Type-Options nosniff
    </IfModule>

ServerAlias Foo.myfritz.net
SSLCertificateFile /etc/letsencrypt/live/Foo.myfritz.net/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/Foo.myfritz.net/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav
Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav
 
ZuseZ3 schrieb:
lokale ip direkt keines beantragen kann
Du könntest dir für ein paar Euro/Jahr eine Domain kaufen und dir dann ein Lets Encrypt Cert per DNS Validation holen. Dafür muss der Server nicht extern erreichbar sein, mach ich für meine internen Services auch so
 
Ebrithil schrieb:
Du könntest dir für ein paar Euro/Jahr eine Domain kaufen und dir dann ein Lets Encrypt Cert per DNS Validation holen. Dafür muss der Server nicht extern erreichbar sein, mach ich für meine internen Services auch so
Habe ich nicht praktisch das gleiche mittels meiner MyFritz adresse?

Ich habe nun testweise die Zeile
192.168.178.20 Foo.myfritz.net
zu meiner pihole/local.list hinzugefügt,
ebenso habe ich Foo.myfritz.net unter meinen trusted domains hinzugefügt.
Nun kann ich mittels https://foo.myfritz.net auf die apach2 info seite zugreifen, aber nicht auf https://foo.myfritz.net/nextcloud, die Fehlermeldung lautet "Die angegebene URL wurde nicht gefunden, sie werden auf die Startseite der FB weitergeleitet".

Wie kann es sein, dass diese subdomain plötzlich nicht erreichbar ist, wenn ich doch foo.myfritz.net im pihole auf die NAS weiterleite, die myrfritz Adresse in der nextcloud/apache config als trusted_domain drinsteht und ich extra das ServerAlias in obiger config habe?
ServerAlias Foo.myfrity.net/nextcloud hat auch keine Besserung gebracht.
 
RalphS schrieb:
Lokalen DNS einrichten und los.
Genau das habe ich mit meinem PiHole ja schon. Dort habe ich auch folgende zwei Einträge, die allerdings nichts bewirken.
pi.hole192.168.178.2
Foo.myfritz.net192.168.178.20
Nun ergibt sich aber:
Code:
nslookup pi.hole
Server:        1.1.1.1
Address:    1.1.1.1#53
** server can't find pi.hole: NXDOMAIN

sowie

Code:
nslookup Foo.myfritz.net
Server:        1.1.1.1
Address:    1.1.1.1#53

Non-authoritative answer:
Name:    foo.myfritz.net
Address: public ipv4
Name:    foo.myfritz.net
Address: ipv6
 
Zuletzt bearbeitet:
Wenn ich sag, lokalen DNS, dann mein ich lokalen DNS und nicht cloudflare. Woher sollen die deine DNS Namen kennen? Das geht schief.

irgendwo einen DNS Server einrichten, dort alle lokalen Server einrichten- also zb pihole.my.home und fritz.my.home — und dann entsprechend Zertifikat ausstellen für den jeweiligen fqdn. Dann weiterleiten per forwarder.

Nein, Fritze sind keine dns server. Pihole auch nicht. Aber eventuell gibs irgendwo ein Gerät das 24/7 online ist - das kann auch der pi mit dem pihole sein, allerdings muss der DNS server dazu und passend in die Auflösungskette eingefügt werden.
 
Zurück
Oben