HAproxy mTLS einrichten

Started by adlerauge1980, June 22, 2026, 04:47:23 PM

Previous topic - Next topic
Hallo Zusammen

Ich habe irgend wie einen Knoten. Hoffe da draussen gibt es jemand der mir hilft den zu lösen.

Ich habe in OPNsense / HAproxy für den port 443 EINEN öffentlichen Dienst eingerichtet. Die Regeln dahinter funktionieren soweit.
es gibt
- meinedomain.tld/irgendwas welche ich mit regeln entsprechend weiterleite.
- xx.meinedomain.tld geht zu meinem HomeServer (geht nur mit subdomain, da mein HS Software mit der Variante /irgendwas nicht klar kommt.

Ich wollte nun xx.meinedomain.tld mit mTLS zusätzlich sichern, da ich dies nur für wenige gleichbleibende Clients benötige.
Ist dies in den öffentlichen Dienst Einstellungen nicht der Bereich Authentifizierung des Clientzertifikates? Ich habe es mit Optional versucht und eine Bedingung bei der Regel von xx.meinedomain.tld hinzugefügt.

bei der Regel von meinedomain.tld/irgendwas habe ich nichts hinterlegt. Trotzdem kommt hier nun die Meldung mit der Webseite stimmt etwas nicht.

Beim Eintrag Zertifizierung ist mein selbstsigniertes HAproxy CA hinterlegt mit welchem ich meine Client Certifikate erstellt habe.

Habe ich da was falsch verstanden? Wird nicht erst mit der Bedingung in der Regel abgefragt, ob der Client ein Zertifikat aufweist welches zu meinem HAproxy CA passt?

Danke an den da draussen, der mir diesen Knoten entwirrt.

Hallo,

ich verwende Zertifikats-Authentifizierung selbst nicht und kann daher nicht mit Erfahrung dienen. Doch würde ich annehmen, dass, wenn die Client Authentifizierung im Frontend aktiviert ist, diese für alle Zugriffe gilt.

Wie sehen die Regeln aus, dass du dir davon einen Bypass versprichst?
Mit der Einstellung "optional" würde ich mir allerdings erwarten, dass auch Verbindungen ohne Client-Zertifikat akzeptiert werden, aber dennoch wird schickt der Server erst mal einen Zertifikats-Request, und möglicherweise mag das dein Client nicht.

Ist eine IP-basierte Authentifizierung nicht umsetzbar?
Wenn die Zugriffe von externen dynamischen IPs kommen, geht das natürlich nicht.

Soweit ich HAproxy kenne, würde dein Vorhaben nur mit TCP Frontends möglich sein. Da könntest du die Clients per SNI auf das richtige Frontend leiten und auf dem für xx.meinedomain.tld die Zertifikats-Auth aktivieren.

Deine Darstellung lässt aber vermuten, dass das auch schon alles ist, was du von HAproxy in deinem Setup erwartest. Meine Empfehlung wäre dann, auf Caddy zu wechseln. Der kann das und ist insgesamt sehr einfach zu konfigurieren.

Da kannst du die beiden Domains anlegen (Frontends) und direkt da auch eine oder mehrere in OPNsense eingerichtete CAs für die Client Authentifizierung auswählen.
Wenn du ein eingefleischter HAproxy Nutzer bist, ist die Caddy Konfiguration anfangs etwas gewöhnungsbedürftig, weil das Ding vieles automatisch macht und so die Einstellungsmöglichkeiten auf die nötigsten reduziert sind. Man möchte meinen,dasss Funktionen fehlen, doch für mein Heimnetz reicht es voll und ganz aus.

Grüße