HAProxy - SSL Offloading mit LetsEncrypt - Verständnisfrage



  • Hallo,
    ich möchte gerne HAProxy als ReverseProxy einsetzen, um einige Geräte aus meinem Heimnetz ohne VPN o.ä. aus dem Internet zu erreichen, da ich oft zwanghaft eine andere VPN Verbindung aktiv habe, oder ich in Netzwerken unterwegs bin, in denen nur Port 80 und 443 - nicht aber 1194 erlaubt sind.

    Ich habe schon viele Tutorials gelesen und auch vieles versucht. Generell bekomme ich einiges zum Laufen - aber nicht so wie gewünscht. Daher versuche ich hier meine Verständnisprobleme zu lösen.

    Szenario 1: Ziel: aus dem Internet auf mein Synology-NAS zugreifen

    • Auf dem NAS ist für nas.myDomain.com ein Let'sEncrypt Zertifikat eingerichtet
    • dieses Zertifikat habe ich auf der pfSense importiert
    • nas.myDomain.com verweist per DNS Eintrag auf die öffentliche IP der pfSense
    • auf der pfSense ist eine eigene CA eingerichtet, die für Clients Zertifikate ausstellt
    • Clients sollen sich durch entsprechendes Zertifikat zu obiger CA authentifzieren
    • in HAProxy möchte ich SSL Offloading verwenden - sonst steht die Authentifizierung der Clients zu einer CA in den HAPrxy Settings auch nicht zur Verfügung

    FRAGE: Wie bekomme ich denn (automatisiert) das jeweils gültige LE Zertifikat des NAS in pfSense importiert, um nicht alle 3 Monate dies manuell durchführen zu müssen?

    Habe ich hier generell einen Denkfehler?

    Danke alexbeer



  • @alexbeer said in HAProxy - SSL Offloading mit LetsEncrypt - Verständnisfrage:

    oder ich in Netzwerken unterwegs bin, in denen nur Port 80 und 443 - nicht aber 1194 erlaubt sind.

    Das ist kein Grund z. B. auf OpenVPN als Tunnelsoftware zu verzichten.

    LG



  • Hallo,
    Danke für den Hinweis.
    Nicht dass das falsch verstanden wird. Ich bin mit meinem OpenVPN Tunnel in mein privates Netzwerk auch vollstens zufrieden. Damit kann ich alles erreichen, was ich benötige.
    Nichtsdestotrotz gibt es Situationen, in denen OpenVPN nicht komfortabel genug ist.
    Hierfür möchte ich den Reverse Proxy einsetzen. Zugangskontrolle stets über das Client-Zertifikat.


  • Moderator

    Davon abgesehen, dass man wie @Gladius sagt OpenVPN auch auf tcp/443 knoten kann - und was die wenigsten Wissen/machen auch mehrere OpenVPN Tunnel Interfaces hinzufügen und damit 2 oder mehr OpenVPN Verbindungen gleichzeitig aufbauen kann :)

    Da Zertifikatsausstellung nicht bekannt ist keine Ahnung ob das eine Möglichkeit ist, aber warum nicht via Acme Plugin auf der Sense einfach ein Wildcard ausstellen und auf dem NAS nur das eigentliche Zertifikat? Dann kann jeder sein eigenes Zert nutzen und der ganze Quark mit hin- und herschieben entfällt einfach mal.

    Edit: Das ist eh eine seltsame Konstellation, Alex. Warum denn bspw. nicht im ACME Package den Modus mit (S)FTP Server nutzen? Dann kannst du im Package das gleiche Zertifikat nas.mydomain.com requesten, der Request geht raus und bei Prüfung geht er aufs NAS, wo du recht problemlos mit einem User und SFTP vom Package die acme-challenges ablegen lassen kannst (im gleichen Ordner, wie es ggf. die syno eigene Routine auch macht). Damit gehen beide Checks durch, du hast zwar 2 verschiedene Zertifikate aber beide auf den gleichen Namen, daher wurscht. Alternativ Check mit DNS01 machen und somit beide Kisten mit Zertifikaten ausstatten. Manuell/semiautomatisch was kopieren sollte man da gar nicht müssen.



  • Hi,
    Danke für die Denkanstöße.
    Habe deine Alternative versucht umzusetzen.

    • Pfsense und nas haben derzeit jeweils ein individuelles LE Zertifikat
    • Zusätzlich habe ich nun noch ein Wildcard Zertifikat (per DNS-01), das aber nicht auf dem NAS installiert ist

    Muss denn bei SSL Offloading dieses Wildcard Zertifikat nun gar nicht mehr auf der Zielmaschine (hier nas) installiert sein?

    Danke alexbeer


  • Moderator

    @alexbeer said in HAProxy - SSL Offloading mit LetsEncrypt - Verständnisfrage:

    Pfsense und nas haben derzeit jeweils ein individuelles LE Zertifikat

    geht auch, solang sie den gleichen Namen im Cert haben und dagegen matchen können.

    Zusätzlich habe ich nun noch ein Wildcard Zertifikat (per DNS-01), das aber nicht auf dem NAS installiert ist

    Wenn der obige Zustand vorher war, war das unnötig, wie gesagt es geht lediglich drum, dass sowohl haproxy als auch NAS die Seite mit gültigem Zert ausliefern können. Egal ob mit einem spezifischen oder mit einem Wildcard. Wenn auf dem Proxy aber potentiell noch mehrere Dienste/VHosts mit alternativen Namen xyz.domain.de dazu kämen ist es praktischer, die alle über das Wildcard abzufrühstücken.

    Muss denn bei SSL Offloading dieses Wildcard Zertifikat nun gar nicht mehr auf der Zielmaschine (hier nas) installiert sein?

    Siehe oben, du wirfst da kunterbunt die Dinge durcheinander. Es ist völlig egal ob xyz.domain.de Zertifikat oder *.domain.de. Hauptsache beide Instanzen die beteiligt sind können das Zert mit SSL bestätigt ausliefern ohne Fehler.

    Solang ein gültiges Zert drin ist, sollte alles gut sein.



  • @jegr said in HAProxy - SSL Offloading mit LetsEncrypt - Verständnisfrage:

    du wirfst da kunterbunt die Dinge durcheinander.

    Da hast du den Nagel wohl auf den Kopf getroffen... Ich habe dir daher noch eine Email geschrieben.

    Nach viel rumprobieren, funktioniert der Zugriff auf die Synology nun so wie ich mir das vorgestellt habe - abgesichert über das Client-Zertifikat.
    Dafür funktioniert der Zugriff auf einen anderen Server nicht, der nicht über Port 443 sondern nur über Port 80 angesprochen werden kann. Stichwort "Shared Frontend" habe ich da wohl auch nicht verstanden.

    VG Alex


  • Moderator

    Shared Frontend kann gehen, aber wenn der andere Zugriff nicht über 443 sondern 80 läuft, dann braucht es ein entsprechendes Frontend auf diesem Port. Ein zusätzliches dann, denn dann läuft darüber ja kein Offloading.