Verlauf der Änderungen der Seite ReverseProxyOPNsense
Hinzugefügt:
- zum ##other_HTTP_frontend##, wenn SSL offloading __NICHT__ erfolgen soll
Gelöscht:
Hinzugefügt:
((2)) Neuen //Server// einrichten ("real server")
((2)) //Backend// einrichten ("backend pool" zum real server)
Es ist eine Regel zu erstellen, die dafür verantwortlich ist, dass der Datenverkehr zu ##XXX_backend## geleitet wird => ##XXX_rule##. Diese enthält die "conditions".
((2)) //Backend// einrichten ("backend pool" zum real server)
Es ist eine Regel zu erstellen, die dafür verantwortlich ist, dass der Datenverkehr zu ##XXX_backend## geleitet wird => ##XXX_rule##. Diese enthält die "conditions".
Gelöscht:
((2)) //Backend// einrichten (backend pool zum real server)
Es muss eine Regel zu erstellen, die dafür verantwortlich ist, dass der Datenverkehr zu ##XXX_backend## geleitet wird => ##XXX_rule##.
Hinzugefügt:
((2)) Neuen //Server// einrichten (real server)
((2)) //Backend// einrichten (backend pool zum real server)
((2)) //Backend// einrichten (backend pool zum real server)
Gelöscht:
((2)) //Backend// einrichten
Hinzugefügt:
Wenn man nicht alle Verbindungen mit SSL-Termination abfangen möchte, sondern eine ja, andere nicht (also glatt durchleiten), ist dies auch möglich. Dann müssen nebeneinander folgende Stränge konfiguriert werden - und zwar jeweils im Hinblick auf **Frontend** und **Backend**:
Gelöscht:
Keine Unterschiede
Hinzugefügt:
=> unsere Backends:
=> werden unter ##HAProxy Settings => Virtual Services => Backend Pools## konfiguriert
=> werden unter ##HAProxy Settings => Virtual Services => Backend Pools## konfiguriert
Hinzugefügt:
((1)) Unsere Konfiguration
Unsere HAProxy-Config fassen wir nachstehend zusammen:
((2)) Elemente der Konfiguration und wo sie einzustellen sind
=> unsere Frontends:
- SNI-Frontend => ##0_SNI_frontend## - horcht an allen Schnittstellen bis auf SSL-Termination-IP
- WWW-Seiten-Frontends => ##1_HTTP_frontend## und ##1_HTTPS_frontend##
=> werden unter ##HAProxy Settings => Virtual Services => Public Services## eingestellt
Unsere HAProxy-Config fassen wir nachstehend zusammen:
((2)) Elemente der Konfiguration und wo sie einzustellen sind
=> unsere Frontends:
- SNI-Frontend => ##0_SNI_frontend## - horcht an allen Schnittstellen bis auf SSL-Termination-IP
- WWW-Seiten-Frontends => ##1_HTTP_frontend## und ##1_HTTPS_frontend##
=> werden unter ##HAProxy Settings => Virtual Services => Public Services## eingestellt
Hinzugefügt:
Es muss eine Regel zu erstellen, die dafür verantwortlich ist, dass der Datenverkehr zu ##XXX_backend## geleitet wird => ##XXX_rule##.
((2)) Die neue Regel zum //Frontend// hinzufügen
Die Regel ##XXX_rule## muss zum passenden Frontend hinzugefügt werden:
- zum ##SNI-frontend##, wenn SSL offloading __NICHT__ erfolgen soll
- zum ##HTTPS_frontend##, wenn SSL offloading benötigt wird
((2)) Die neue Regel zum //Frontend// hinzufügen
Die Regel ##XXX_rule## muss zum passenden Frontend hinzugefügt werden:
- zum ##SNI-frontend##, wenn SSL offloading __NICHT__ erfolgen soll
- zum ##HTTPS_frontend##, wenn SSL offloading benötigt wird
Gelöscht:
((2))
Hinzugefügt:
((2)) Neue //Regel// erstellen ("rule")
Es muss eine Regel zu erstellen, die dafür verantwortlich ist, dass der Datenverkehr zu ##XXX_backend## geleitet wird => ##XXX_rule###.
----
CategoryITWissen
Es muss eine Regel zu erstellen, die dafür verantwortlich ist, dass der Datenverkehr zu ##XXX_backend## geleitet wird => ##XXX_rule###.
----
CategoryITWissen
Hinzugefügt:
Das für ##XXX_server## passende //Backend// einrichten - z. B. mit dem Namen ##XXX_backend##.
((2)) Neue //Bedingung// erstellen ("condition")
Es ist eine Bedingung zu erstellen, die für den Datenverkehr zutrifft - ##XXX_condition##.
((2))
((2)) Neue //Bedingung// erstellen ("condition")
Es ist eine Bedingung zu erstellen, die für den Datenverkehr zutrifft - ##XXX_condition##.
((2))
Gelöscht:
Hinzugefügt:
((1)) Vorgehensweise allgemein
Für jeden Dienst, der über HAProxy laufen soll, müssen die nachstehend genannten Schritte absolviert werden. Angenommen, der Dienst soll "XXX" heißen:
((2)) Neuen //Server// einrichten
Im HAProxy ist ein ##XXX_server## einzurichten.
((2)) //Backend// einrichten
Das für den oben genannten //Server// passende //Backend// einrichten - z. B. mit dem Namen "XXX_backend".
Für jeden Dienst, der über HAProxy laufen soll, müssen die nachstehend genannten Schritte absolviert werden. Angenommen, der Dienst soll "XXX" heißen:
((2)) Neuen //Server// einrichten
Im HAProxy ist ein ##XXX_server## einzurichten.
((2)) //Backend// einrichten
Das für den oben genannten //Server// passende //Backend// einrichten - z. B. mit dem Namen "XXX_backend".
Hinzugefügt:
Dieses für viele Projekte optimale Szenario (nur die Firewall / der Router kümmert sich um SSL, dahinter läuft es im abgeschotteten LAN nicht mehr verschlüsselt) ist komplex, aber an dieser Stelle für OPNsense 24.7.1 und 24.7.5 exzellent beschrieben: [[https://forum.opnsense.org/index.php?topic=23339.0 Link zum Tutorial]].
Gelöscht:
Hinzugefügt:
OPNsense ist eine spannende Firewall-Lösung. Und auch, wenn das Projekt nicht immer reibungslos lief, kann ich einen zuverlässigen Einsatz dieser Lösung seit Jahren bestätigen. Einrichtung ist nicht trivial, aber sehr gut dokumentiert und einmal eingestellt ist das System extrem zuverlässig - auch in sehr komplizierten Umgebungen (ein von uns eingesetztes Szenario: zwei physikalisch getrennte DMZ-Subnetze mit verschiedenen Internetzugängen, ein internes LAN und alles mit drei unterschiedlichen Netzwerkadaptern per OPNsense entsprechend den Bedürfnissen der Netztopografie einwandfrei verbunden! darüber hinaus bestehen dauerhaft verschiedene VPN-Verbindungen nach außen, die auch per OPN-Sense gemanagt oder zumindest geroutet werden - an sich unnötig komplex und wäre es nicht zwingend, würden wir es nie wieder so machen - und dennoch gut und zuverlässig per OPNsense im Griff).
Gelöscht:
Hinzugefügt:
((1)) SSL Termination, Let's Encrypt in dem Proxy
Dieses für viele Projekte optimale Szenario (nur die Firewall / der Router kümmert sich um SSL, dahinter läuft es im abgeschotteten LAN nicht mehr verschlüsselt) ist komplex, aber an dieser Stelle für OPNsense 24.7.1 und 24.7.5 exzellent beschrieben: [[https://forum.opnsense.org/index.php?topic=23339.30 Link zum Tutorial]].
((1)) Gemischte Weiterleitung
Wenn man nicht alle Verbindungen mit SSL-Termination abfangen möchte, sondern eine ja, andere glatt durchleiten, ist dies auch möglich. Dann müssen nebeneinander folgende Stränge konfiguriert werden - und zwar jeweils im Hinblick auf **Frontend** und **Backend**:
((2)) SSL-Termination (HAProxy verwaltet das Zertifikat)
Frontend: "SSL Offloading" aktivieren und SSL-Zertifikat zuweisen (ACME und Let's Encrypt sind hierfür ein extra Thema).
Backend: Die Verbindung vom HAProxy zum Zielserver erfolgt unverschlüsselt (HTTP).
((2)) SSL-Pass-Through (Backend-Server verwaltet das Zertifikat)
Frontend: SSL-Option "SSL Offloading" deaktiviert lassen
Backend: der Datenverkehr wird als SSL-Pass-Through an den Zielserver weitergeleitet.
Dieses für viele Projekte optimale Szenario (nur die Firewall / der Router kümmert sich um SSL, dahinter läuft es im abgeschotteten LAN nicht mehr verschlüsselt) ist komplex, aber an dieser Stelle für OPNsense 24.7.1 und 24.7.5 exzellent beschrieben: [[https://forum.opnsense.org/index.php?topic=23339.30 Link zum Tutorial]].
((1)) Gemischte Weiterleitung
Wenn man nicht alle Verbindungen mit SSL-Termination abfangen möchte, sondern eine ja, andere glatt durchleiten, ist dies auch möglich. Dann müssen nebeneinander folgende Stränge konfiguriert werden - und zwar jeweils im Hinblick auf **Frontend** und **Backend**:
((2)) SSL-Termination (HAProxy verwaltet das Zertifikat)
Frontend: "SSL Offloading" aktivieren und SSL-Zertifikat zuweisen (ACME und Let's Encrypt sind hierfür ein extra Thema).
Backend: Die Verbindung vom HAProxy zum Zielserver erfolgt unverschlüsselt (HTTP).
((2)) SSL-Pass-Through (Backend-Server verwaltet das Zertifikat)
Frontend: SSL-Option "SSL Offloading" deaktiviert lassen
Backend: der Datenverkehr wird als SSL-Pass-Through an den Zielserver weitergeleitet.
Hinzugefügt:
===== [[ReverseProxyOPNsense ReverseProxy]] mit OPNsense =====