Grundsätzliches zu Zertifikaten zum Zugriff auf privates Netzwerk aus dem WWW
Guten Tag,
da ich derzeit den Zugriff aus dem WWW auf mein privates Netzwerk einrichte, beschäftigt mich zum ersten Mal das Thema Zertifikate, damit ich Nutzern Zugang über HTTPS z.B. auf Dienste wie NextCloud oder PhotoPrism gewähre.
Mein Setup:
Mehrere Domains und Subdomains mit Umleitung auf meine öffentliche IP
PfSense mit fester öffentlicher IP
Eingerichteter HAProxy mit mehreren Backendservern, die auf TrueNAS Scale als VM (App) laufen
TrueNAS Scale
Bei Portweiterleitung auf die TrueNAS sind die Apps über IP:Port erreichbar.
Sobald ich über die Domain, z.B. https://nextcloud.meinedomain.de oder https://meinedomain.de gehe, bekomme ich diverse Fehlermeldungen für die Zertifikate.
Ich habe mit ACME auf der pfsense bei Letsencrypt das benötigte Zertifikat erstellt (darin sind mehrere Domains gelistet) und dieses Zertifikat mit öffentlichen Tools als funktionierend getestet.
Nun brauche ich Unterstützung, was ich wo noch einrichten muß:
1) Acme richtete in der pfsense eine Certificate Authority. Benötige ich noch eine weitere CA oder reicht nur diese eine?
2) Wenn ich in meinem privaten Netzwerk auf Geräte wie FritzBox oder TrueNAS zugreife, erhalte ich beim ersten Anmelden eine Meldung, daß das Zertifikat bzw. der Webserver nicht vertrauensvoll ist. Ich kann zwar eine Ausnahme hinzufügen, aber für die Zukunft hätte ich es gerne so, daß es ein internes Zertifikat gibt, damit ich bei einer neuen Anmeldung Ruhe habe. Ich hatte früher auf der pfsense eine interne CA eingerichtet, aber so richtig funktioniert hat es nicht.
Daher die Frage: kann ich ein Letsencrypt-Zertifikat so einrichten, daß auch der Zugriff auf meine internen Server funktioniert? Und wenn das nicht geht, wie erstelle ich mein eigenes Zertifikat, worin alle Webserver in meinem privaten Netzwerk enthalten sind, damit wenn sich ein neuer Benutzer in meinem Netwerk anmeldet, er nicht immer eine Ausnahme im Browser hinzufügen muß?
Ich weiß, daß mein Wissen zu Zertifikaten sehr dünn ist und daher bitte ich um Nachsicht. Am besten fahre ich mit einer Anweisung, welche Schritte ich nach und nach abarbeiten muß und während ich diese Schritte einrichte, lese ich dann in der Wiki nach, was ich mache und verstehe es dann auch. Im Gegensatz dazu, wenn ich mich erst tagelang theoretisch in die Materie einarbeite.
Vielen Dank!
da ich derzeit den Zugriff aus dem WWW auf mein privates Netzwerk einrichte, beschäftigt mich zum ersten Mal das Thema Zertifikate, damit ich Nutzern Zugang über HTTPS z.B. auf Dienste wie NextCloud oder PhotoPrism gewähre.
Mein Setup:
Mehrere Domains und Subdomains mit Umleitung auf meine öffentliche IP
PfSense mit fester öffentlicher IP
Eingerichteter HAProxy mit mehreren Backendservern, die auf TrueNAS Scale als VM (App) laufen
TrueNAS Scale
Bei Portweiterleitung auf die TrueNAS sind die Apps über IP:Port erreichbar.
Sobald ich über die Domain, z.B. https://nextcloud.meinedomain.de oder https://meinedomain.de gehe, bekomme ich diverse Fehlermeldungen für die Zertifikate.
Ich habe mit ACME auf der pfsense bei Letsencrypt das benötigte Zertifikat erstellt (darin sind mehrere Domains gelistet) und dieses Zertifikat mit öffentlichen Tools als funktionierend getestet.
Nun brauche ich Unterstützung, was ich wo noch einrichten muß:
1) Acme richtete in der pfsense eine Certificate Authority. Benötige ich noch eine weitere CA oder reicht nur diese eine?
2) Wenn ich in meinem privaten Netzwerk auf Geräte wie FritzBox oder TrueNAS zugreife, erhalte ich beim ersten Anmelden eine Meldung, daß das Zertifikat bzw. der Webserver nicht vertrauensvoll ist. Ich kann zwar eine Ausnahme hinzufügen, aber für die Zukunft hätte ich es gerne so, daß es ein internes Zertifikat gibt, damit ich bei einer neuen Anmeldung Ruhe habe. Ich hatte früher auf der pfsense eine interne CA eingerichtet, aber so richtig funktioniert hat es nicht.
Daher die Frage: kann ich ein Letsencrypt-Zertifikat so einrichten, daß auch der Zugriff auf meine internen Server funktioniert? Und wenn das nicht geht, wie erstelle ich mein eigenes Zertifikat, worin alle Webserver in meinem privaten Netzwerk enthalten sind, damit wenn sich ein neuer Benutzer in meinem Netwerk anmeldet, er nicht immer eine Ausnahme im Browser hinzufügen muß?
Ich weiß, daß mein Wissen zu Zertifikaten sehr dünn ist und daher bitte ich um Nachsicht. Am besten fahre ich mit einer Anweisung, welche Schritte ich nach und nach abarbeiten muß und während ich diese Schritte einrichte, lese ich dann in der Wiki nach, was ich mache und verstehe es dann auch. Im Gegensatz dazu, wenn ich mich erst tagelang theoretisch in die Materie einarbeite.
Vielen Dank!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 670194
Url: https://administrator.de/forum/grundsaetzliches-zu-zertifikaten-zum-zugriff-auf-privates-netzwerk-aus-dem-www-670194.html
Ausgedruckt am: 15.01.2025 um 08:01 Uhr
13 Kommentare
Neuester Kommentar
Moin,
beschäftige Dich mal mit SAN (Subject Alternative Name/Multi-domain) Zertifikaten. Das geht auch mit Let's Encrypt, da gibst Du jede (aktive) Subdomain (www, nextcloud, fritzbox usw.) und die Hauptdomain an. Du wirst aber ein neues Zertifikat anfordern müssen, da man die SANs nicht nachträglich hinzufügen (oder herauslöschen kann).
Vgl. bspw. https://grumpytechie.net/2019/09/20/adding-sans-to-lets-encrypt-certific ...
oder auch https://letsencrypt.org/docs/integration-guide/
Gruß
cykes
beschäftige Dich mal mit SAN (Subject Alternative Name/Multi-domain) Zertifikaten. Das geht auch mit Let's Encrypt, da gibst Du jede (aktive) Subdomain (www, nextcloud, fritzbox usw.) und die Hauptdomain an. Du wirst aber ein neues Zertifikat anfordern müssen, da man die SANs nicht nachträglich hinzufügen (oder herauslöschen kann).
Vgl. bspw. https://grumpytechie.net/2019/09/20/adding-sans-to-lets-encrypt-certific ...
oder auch https://letsencrypt.org/docs/integration-guide/
Gruß
cykes
Moin,
das
und das
widerspricht sich. Wenn Letsencrypt-Zertifikate eingesetzt werden, braucht man ja gerade keine eigene CA. Dann gibt es auch keine Fehlermeldungen, weder lokal, noch remote. Es sieht daher so aus, als ob die öffentlichen Zertifikate gar nicht eingerichtet sind, sondern selbst generierte mit eigener CA.
Lesestoff mit Schritt-für-Schritt: agix.com.au/configure-haproxy-on-pfsense-with-letsencrypt-ssl-https-termination/ oder mikes-projects.de/edv/netzwerk/pfsense-letsencrpyt-zertifikate.
Gruß
DivideByZero
P.S.:
das
Ich habe mit ACME auf der pfsense bei Letsencrypt das benötigte Zertifikat erstellt (darin sind mehrere Domains gelistet) und dieses Zertifikat mit öffentlichen Tools als funktionierend getestet.
und das
1) Acme richtete in der pfsense eine Certificate Authority. Benötige ich noch eine weitere CA oder reicht nur diese eine?
widerspricht sich. Wenn Letsencrypt-Zertifikate eingesetzt werden, braucht man ja gerade keine eigene CA. Dann gibt es auch keine Fehlermeldungen, weder lokal, noch remote. Es sieht daher so aus, als ob die öffentlichen Zertifikate gar nicht eingerichtet sind, sondern selbst generierte mit eigener CA.
Lesestoff mit Schritt-für-Schritt: agix.com.au/configure-haproxy-on-pfsense-with-letsencrypt-ssl-https-termination/ oder mikes-projects.de/edv/netzwerk/pfsense-letsencrpyt-zertifikate.
Gruß
DivideByZero
P.S.:
Daher die Frage: kann ich ein Letsencrypt-Zertifikat so einrichten, daß auch der Zugriff auf meine internen Server funktioniert?
Ja, s.o.Und wenn das nicht geht, wie erstelle ich mein eigenes Zertifikat, worin alle Webserver in meinem privaten Netzwerk enthalten sind, damit wenn sich ein neuer Benutzer in meinem Netwerk anmeldet, er nicht immer eine Ausnahme im Browser hinzufügen muß?
Geht nicht. Er müsste bei einem selbstgenerierten Zertifikat Deine CA auf allen aufrufenden Geräten importieren, dann wird auch den Zertifikaten vertraut, die diese CA ausstellt. Das ist noch komplizierter, als die Ausnahme, und für Otto-Normal-User, der einfach eine Seite aufrufen will, untauglich. Um das zu vermeiden, gibt es ja gerade Zertifikate wie die von Letsencrypt.
Moin,
Gruß,
Dani
no valid AAAA records found for subdomain.domain
hm. Kann es sein, dass du einen Dualstack Lite Anschluss hast und damit nur via IPv6 erreichbar bist?Wie bei den registrierten Domains die Methode "Standalone HTTP Server" über Port 80 hinzugefügt. Letsencrypt meldet beim Renew, daß diese Subdomains
Ich würde an einer Stelle die Zertifikate bzw. das Wildcard Zertifikat via Challenge DNS-01 abrufen. Somit musst nämlich nicht sicherstellen, dass der abzurufende Service nicht im Internet erreichbar sein muss. Abgesehen davon wird mit einem Wildcard-Zertifikat deine Subdomains nicht offensichtlich publiziert. Es gibt natürlich andere Wege... aber die muss man als vermeidlicher Angreifer erst einmal gehen wollen und können.Muss ich bei meinem Registrar für jeden Webserver in meinem Netzwerk eine eigene Subdomain anlegen, die dann auf meine öffentliche IP verweist?
Wenn du die Zertifikate via Challenge HTTP-01 abrufen möchtest, Ja. Wobei es einen A-Eintrag tut. Alle weiteren Einträge, welche hinter sich der öffentliche IP-Adresse verbergen, können problemlos als CNAME Eintrag angelegt werden. Schon das mögliche Rate-Limit.Gruß,
Dani
Moin,
Aber evtl. ist dort schon eine Reverse Proxy integriert (so ist es mal bei Synology DSM). Dann könntest du auf dem NAS die Zuordnung vornehmen. Um so die Komplexität zu verringern.
Gruß,
Dani
Zudem habe ich eine Wireguard-VPN-Site-to-Site-Verbindung aufgebaut und war angenehm überrascht, einen x-schnelleren Durchsatz als zuvor über IPSec zu verzeichnen. Mit WG haben 6 GB rund 10 Minuten gedauert und bei IPSec zeigte es mir an über 1 Stunde, also habe ich es gar nicht abgewartet face-smile
sehr schön... das bestätigen auch unzählige Berichte und Blogartikel im WWW. HA Proxy habe ich jetzt auch soweit verstanden, daß ich meine TrueNAS mit einem über Acme und HTTP-01 erstelltes Letsencrypt-Zertifikat aus dem WWW erreichen kann und es mir eine sichere Verbindung anzeigt.
Wunderbar. Damit ist der erste Teil geschafft.3) Mehrere Apps im Docker (nextcloud, photoprism), deren GUI aus dem Land über IP-der-TrueNAS:Port zu erreichen ist, aber nicht aus dem WWW
Du brauchst für jede App eine Sub Domain (z.B. next.truenas.domain.de). Darüber kannst du dann die Zuordnung zur dem Docker Container vornehmen. Ich kenne TrueNAS nicht.Aber evtl. ist dort schon eine Reverse Proxy integriert (so ist es mal bei Synology DSM). Dann könntest du auf dem NAS die Zuordnung vornehmen. Um so die Komplexität zu verringern.
Da ich alle virtuellen Server und Docker-Apps im HAProxy-Backend genauso eingestellt habe, wie die beiden TrueNAS, schließe ich eine Fehlkonfiguration des Backend aus.
Lass mal die Konfiguration für das Backend sehen.ekomme ich 400 Bad Request, The plain HTTP request was sent to HTTPS port, nginx.
Das sagt doch schon alles. Hast du durchgehend Zertifikate im Einsatz bzw. evtl. Self-Signed-Zertifikate?Gruß,
Dani