HAProxy: einige Webseiten mit Client-Zertifikat authentifizieren

Started by Raketenschnecke, November 21, 2020, 06:45:32 PM

Previous topic - Next topic
November 21, 2020, 06:45:32 PM Last Edit: November 21, 2020, 06:50:48 PM by Raketenschnecke
Moin @ll,

ich bin vor ca. 1 Woche von Sophos XG auf OPNSense umgestiegen und habe schin fast alle meiner Wünsche mit der OPNSense realisieren können. U.A. auch die Veröffentlichung mehrerer Webserver auf den WAN-Schnittstellen.

Nun stehe ich vor einem Problem, wo ich nicht weiterkomme:
Ich habe 1 öffentliche Webseite (www.domain.net), die soll direkt zugänglich sein. Weitere Webseiten (abc.domain.net, def.domain.net) sind derzeit auch zugänglich, sollen aber später nur durch mich selbst (via Client Zertifikat) zugänglich sein. Über die Option "Client Certificate Auth" der Backend-Konfiguration kann ich die gesuchte Funktionalität zuschalten. Dann ist aber auch die öffentliche Webseite auch nur noch über Client Zertifikat erreichbar.

Frage: gibt es in HAProxy eine Möglichkeit, die oben beschriebene Funktionalität herzustellen (und wenn ja: wie?)?

Vielleicht noch eine Ergänzung: alle Webseiten sollen ausschließlich über Port 443 von außen erreichbar sein.

mit gebücktem Gruß
Raketenschnecke
mit gebücktem Gruß
Raketenschnecke

Quote from: Raketenschnecke on November 21, 2020, 06:45:32 PM
Moin @ll,

ich bin vor ca. 1 Woche von Sophos XG auf OPNSense umgestiegen und habe schin fast alle meiner Wünsche mit der OPNSense realisieren können. U.A. auch die Veröffentlichung mehrerer Webserver auf den WAN-Schnittstellen.

Nun stehe ich vor einem Problem, wo ich nicht weiterkomme:
Ich habe 1 öffentliche Webseite (www.domain.net), die soll direkt zugänglich sein. Weitere Webseiten (abc.domain.net, def.domain.net) sind derzeit auch zugänglich, sollen aber später nur durch mich selbst (via Client Zertifikat) zugänglich sein. Über die Option "Client Certificate Auth" der Backend-Konfiguration kann ich die gesuchte Funktionalität zuschalten. Dann ist aber auch die öffentliche Webseite auch nur noch über Client Zertifikat erreichbar.

Frage: gibt es in HAProxy eine Möglichkeit, die oben beschriebene Funktionalität herzustellen (und wenn ja: wie?)?

Vielleicht noch eine Ergänzung: alle Webseiten sollen ausschließlich über Port 443 von außen erreichbar sein.

mit gebücktem Gruß
Raketenschnecke
Hast du ein Backend für alle Seiten angelegt?
(Unoffial Community) OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support

Huch, hier tut sich ja was!
Sorry, ich war ne Woche nicht im Forum und hatte auf eine Info-Mail gehofft
Ja, ich habe für jede zu veröffentlichende Web-Seite je 1 Realserver und das dazu korrespondierenden Backend angelegt. Alle Backends werden dann im Frontend über Regeln (über die Subdomain) selektiert und angesprochen.
mit gebücktem Gruß
Raketenschnecke

Quote from: Raketenschnecke on November 29, 2020, 05:53:46 PM
Huch, hier tut sich ja was!
Sorry, ich war ne Woche nicht im Forum und hatte auf eine Info-Mail gehofft
Ja, ich habe für jede zu veröffentlichende Web-Seite je 1 Realserver und das dazu korrespondierenden Backend angelegt. Alle Backends werden dann im Frontend über Regeln (über die Subdomain) selektiert und angesprochen.
Dann sollte es aber klappen, wenn du die Funktion nur in den gewünschten Backends aktivierst
(Unoffial Community) OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support

ok, das hört sich an, als würde es grundsätzlich möglich sein. Nur ist der Groschen bei mir noch nicht gefallen: im Frontend habe ich die Option "Client Certificate Auth", mit der habe ich die Authentifizierung via Client-Zertifikat erfolgreich getestet.
Im Backend finde ich diese Option nicht. Ich brauch doch noch etwas Hilfe, um auf's Pferd zu kommen...
mit gebücktem Gruß
Raketenschnecke

Quote from: Raketenschnecke on November 29, 2020, 07:28:40 PM
ok, das hört sich an, als würde es grundsätzlich möglich sein. Nur ist der Groschen bei mir noch nicht gefallen: im Frontend habe ich die Option "Client Certificate Auth", mit der habe ich die Authentifizierung via Client-Zertifikat erfolgreich getestet.
Im Backend finde ich diese Option nicht. Ich brauch doch noch etwas Hilfe, um auf's Pferd zu kommen...

Achso dachte du hättest es beim Backend schon koniguriert.

Schau mal bei den Bedingungen, dort gibt es einiges mit "Cert Authentication" kram.

Z.B "wenn CLient Zertifikat gültig" UND "path contains..."
Könntest du es so bauen, dass bestimmte Webseiten nur mit einem gültigen Zertifikat erreicht werden
(Unoffial Community) OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support

Hallo zusammen

Ich versuche genau das selbe einzurichten.
Bin nach einiger Suche auf folgenden Beitrag gestossen:
https://discourse.haproxy.org/t/how-to-set-ssl-verify-client-for-specific-domain-name/1489/3

Blicke aber noch nicht ganz durch wie ich das unter OPNSense einrichte.