OPNsense Forum

International Forums => German - Deutsch => Topic started by: antiager on September 05, 2024, 02:07:49 PM

Title: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: antiager on September 05, 2024, 02:07:49 PM
Hallo Forum!

Seit ich mit OPNsense arbeite bin ich auf der Suche nach einer ReverseProxy Plugin Lösung die mit Exchange 2016 funktioniert.

Habe gehört, dass das mit Caddy funktionieren soll?

Ist das so?

Wo könnte ich mich da einlesen?

Gibts vielleicht ein Howto?

Danke!
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: Patrick M. Hausen on September 05, 2024, 02:10:36 PM
Probier es doch aus. Ist doch in ein paar Minuten zusammengeklickt ...

Und das Howto ist Bestandteil der Doku:
https://docs.opnsense.org/manual/how-tos/caddy.html
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: Monviech (Cedrik) on September 05, 2024, 03:16:09 PM
Theoretisch sollte es funktionieren. Es ist ein NTLM plugin eingebaut was man in den Handlern aktivieren kann.

Es funktioniert nur richtig wenn man intern über TLS (ohne tls insecure skip verify, also echte Vertrauensstellung mit tls trust pool und tls server name...) kommuniziert.

Das letzte mal als ich es getestet habe mit einem EX2019 hat auch Outlook extern funktioniert.

Bitte schreibe wenn du es getestet hast, mich interessiert ob es noch funktioniert.

Falls HTTP Reverse Proxy nicht mehr richtig mit Exchange geht, gibt es auch Layer 4 TLS SNI Routing im Caddy Plugin.
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: antiager on September 05, 2024, 10:47:39 PM
Habe nun ein noch ein ganz anderes Problem!

Caddy startet nicht mehr - will sich an Port 8443 binden statt an 443 ?!

Ich hatte vorher auf dem System NginxProxy und das ACME Plugin installiert.

Niginx habe ich deinstalliert das ACMe Plugin deaktiviert.

Seit dem läuft Caddy nicht mehr und logt 8443 (Gui) sei bereits verwendet??
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: Monviech (Cedrik) on September 06, 2024, 06:10:10 AM
Hab ich noch nie so gesehen.

Mit "sockstat -l" schauen welche Ports verwendet werden.
https://man.freebsd.org/cgi/man.cgi?sockstat

In Caddy schauen in general settings advanced was standart http/https ports sind.

In den Caddy Domains schauen ob irgendwo 8443 eingetragen ist.

Wenn nicht halt etwas rumprobieren, in der letzten Zeit hatte ich es wegen entwicklubg oft neu installiert und hatte nie dieses Problem.
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: antiager on September 06, 2024, 08:31:47 AM
Aszug aus dem Log:

Error: loading initial config: loading new config: http app module: start: listening on :8443: listen tcp :8443: bind: address already in use
Error: caddy process exited with error: exit status 1

Sockstat:

USER     COMMAND    PID   FD  PROTO  LOCAL ADDRESS         FOREIGN ADDRESS     
root     charon      5721 15  udp4   *:500                 *:*
root     charon      5721 16  udp4   *:4500                *:*
_flowd   flowd      96948 3   udp4   127.0.0.1:2056        *:*
proxy    ftp-proxy  81572 3   tcp4   127.0.0.1:8024        *:*
proxy    ftp-proxy  77644 3   tcp4   127.0.0.1:8023        *:*
proxy    ftp-proxy  74190 3   tcp4   127.0.0.1:8022        *:*
proxy    ftp-proxy  69120 3   tcp4   127.0.0.1:8021        *:*
root     crowdsec-f 43510 6   tcp4   127.0.0.1:60601       *:*
root     crowdsec   37973 18  tcp4   127.0.0.1:8080        *:*
root     crowdsec   37973 329 tcp4   127.0.0.1:6060        *:*
root     ntpd       58549 21  udp4   *:123                 *:*
root     ntpd       58549 22  udp4   192.168.111.10:123    *:*
root     ntpd       58549 24  udp4   172.17.2.254:123      *:*
root     ntpd       58549 25  udp4   192.168.60.251:123    *:*
root     ntpd       58549 27  udp4   192.168.100.2:123     *:*
root     ntpd       58549 28  udp4   192.168.119.10:123    *:*
root     ntpd       58549 30  udp4   192.168.0.2:123       *:*
root     ntpd       58549 34  udp4   127.0.0.1:123         *:*
root     ntpd       58549 36  udp4   80.153.178.219:123    *:*
root     ntpd       58549 39  udp4   10.10.0.1:123         *:*
nobody   samplicate 85981 3   udp4   127.0.0.1:2055        *:*
nobody   samplicate 85981 4   udp4   *:41086               *:*
unbound  unbound    13411 7   udp4   *:53                  *:*
unbound  unbound    13411 8   tcp4   *:53                  *:*
unbound  unbound    13411 11  udp4   *:53                  *:*
unbound  unbound    13411 12  tcp4   *:53                  *:*
unbound  unbound    13411 15  udp4   *:53                  *:*
unbound  unbound    13411 16  tcp4   *:53                  *:*
unbound  unbound    13411 17  tcp4   127.0.0.1:953         *:*
root     openvpn    90616 8   udp46  *:1194                *:*
dhcpd    dhcpd      13918 10  udp4   *:67                  *:*
root     lighttpd    4473 7   tcp4   *:8443                *:*
root     sshd         522 8   tcp4   *:22                  *:*

Ports unter "Advanced" scheinen richtig 443 und 80
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: Monviech (Cedrik) on September 06, 2024, 12:56:37 PM
Ich bin mir sicher dass bei irgend einer Domain als Port 8443 eingetragen ist.

Zeig mal dein Caddyfile.

Du kannst auch deinen OpNsense WebGUI port ändern, z.B auf 4443
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: antiager on September 09, 2024, 03:18:11 PM
Oh Gott!

Ja so war es!! :-[

Danke dir!

Toller Job von dir!!
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: antiager on September 09, 2024, 11:18:37 PM
Hallo!

Kurze Rückmeldung und eine Frage!

Exchange 2016 scheint mit Caddy als Reverse Proxy zu funktionieren!

Outlook WebAccess funktioniert und angebundene Outlook Clients können sich von extern verbinden.

Nur mit dem Autodiscover gibts anscheinend noch ein Problem. Beim einrichten von neuen Outlook Clients (extern) wird Exchange nicht gefunden. Hier bin ich noch am forschen!

Jetzt zu meiner Frage: ich habe meine opnsense nur mit Caddy als Proxy zum laufen gekriegt wenn ich "Dns Rebind Warnungen" abschalte.

Liegt das an meiner DNS Konfig?
Windows Domäne - Split DNS (wegen Exchange)?

Danke!
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: Monviech (Cedrik) on September 10, 2024, 06:42:35 AM
Das ist komisch.

Eigendlich wird mit Caddy kein Split DNS benötigt. Das braucht man nur wegen NAT Probleme und durch den Reverse Proxy hat man die nicht mehr. Echange Split DNS Zone für autodiscover+mail kann man entfernen. Extern müssen beide Namen halt aufzulösen sein und auf die externe IP der OPnsense zeigen.

In Caddy braucht man 2 Domains. "autodiscover.example.com" und "mail.example.com" (oder wie auch immer die WebAccess Domain heiẞt.) Beide mit einem Handler der das gleiche macht.

Wenn die OPnsense irgendwie wegen DNS Rebind mäckert, ist da noch irgendwo ein altes Port Forward drin. Oder eine andere Konfiguration die 443 auf die OPNsense WebGUi leitet.

Danke für die Rückmeldung. Der Rest ist jetzt nur noch Kür.
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: antiager on September 10, 2024, 09:41:04 AM
Danke für die weitere Erläuterung!

Ich werde so vorgehen.

Allerdings habe ich jetzt das Problem, dass Caddy für neu angelegte Domains keine  Certs mehr generiert.

ME. habe ich nichts gefändert ausser neue Domains angelegt.

Mir fällt auch auf, dass sich die Gui etwas merkwürdig verhält wenn ich in Caddy "APPLY" drücke dann dreht das Rad endlos bis ich die Seite wechsle. Das trat plötzlich auf ohne das och einen Zusammenhang finden konnte.
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: Monviech (Cedrik) on September 10, 2024, 10:41:10 AM
Wenn ein Exchange Server da ist, dann entsteht ein Websocket Stream. Hier sollte dann die Option "Grace Period" greifen (advanced General Settings), die nach mehr als 10 Sekunden diesen Stream beendet und dem Server den Reload erlaubt. (Ist standardmäßig auf 10s konfiguriert). Ohne die Option wartet Caddy unendlich lange bis alle Streams beendet sind.

https://caddyserver.com/docs/caddyfile/options#grace-period

Warum keine Certs mehr generiert werden kann ich nicht genau sagen, dafür bräuchte man die Logs mit der Fehlermeldung für TLS-ALPN-01, HTTP-01 oder DNS-01 challenge.
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: antiager on September 10, 2024, 07:32:25 PM
Danke wiedermal!

Exchange funktioniert jetzt anscheinend wie es soll!!

Super!

Leider habe ich mit Caddy zunehmend Probs. mit der GUI.
Stppen läßt er sich jetzt gar nicht mehr.
Bei einem Neustart dreht sich der Kreis bis ich die Seite verlasse.
Stoppen kann ich ihn nur durch Reboot.
Wenn ich eine Dom löschen will kommt eine Fehlermeldung ...is in use.

Nach deaktivierung und reboot kann ich die Dom löschen.

Komischerweise war das am Anfang (nur 2 Domänen - jetzt 6) nicht so.

Da hat alles funktioniert wie es soll.

Grace Period ist aktiv und steht auf 10 sek. :-\
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: Monviech (Cedrik) on September 10, 2024, 08:44:52 PM
Ich hab in meinem persönlichen Caddy mehr als 30 Domains. Ich hab keine Probleme. Im nächsten Update kommt ein größeres GUI refaktor, vielleicht hilft das bei dir.

Ansonsten, viel kann ich ohne es nachstellen zu können nicht tun. Ich habe kaum Feeback dass die GUI nicht funktioniert.

Aber gut dass der Exchange läuft. :)

Das starten und stoppen hängt eigendlich bei Exchange komplett mit der Grace Period zusammen. Es ist komisch wenn das nicht mehr geht. Vielleicht mal niedriger einstellen. Wenn es keine Fehler gibt brauche ich mal /var/log/caddy/caddy.log was er für Probleme beim reload hat.

Hier war die Issue das erste mal, aber die ist lange gelöst:
https://github.com/opnsense/plugins/issues/3929
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: antiager on September 10, 2024, 08:53:57 PM
Habe die GracePeriod jetzt mal auf 5 - hat anscheinend aber nichts geholfen  :'(

Wie kann ich dir das Log zukommen lassen?

Übrigens nach einem Reboot hat er alle Certs angefordert und zur Verfügung gestellt.
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: Monviech (Cedrik) on September 10, 2024, 09:24:38 PM
Einfach in eine PM kopieren, ich brauche nicht alles, nur was da drin steht so letzte 200 Zeilen oder so.

Das caddy.log zeichnet die restarts auf.

latest.log wäre auch interessant. Da gerne mehr.

Und auch gleich noch das Caddyfile. Wenn API keys drin sind bitte entfernen. Bitte den Rest nicht anonymisieren wenn es geht. Will nach Syntaxfehlern schauen.

Bitte noch dazu welche os-caddy und welche opnsense version läuft.

Dass die Zertifikate erst nach einem Firewall neustart kommen, scheint wohl zu bedeuten, das Caddy Prozess nicht reloaden kann um eine neue Konfog zu laden. Im zweifel Caddy mal entfernen und neu installieren.
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: Monviech (Cedrik) on September 27, 2024, 05:56:57 PM
Ich habe einen patch vorbereitet der Caddy killt wenn es nicht reagiert bei einem reload:

https://github.com/opnsense/plugins/pull/4261

Der kann wahrscheinlich bald getestet werden. In meinen Tests funktioniert er.
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: Monviech (Cedrik) on September 27, 2024, 07:50:13 PM
Bitte den Patch ausprobieren:

https://github.com/opnsense/plugins/commit/bd009e4

In der SSH Shell folgendes eingeben:


opnsense-patch -c plugins bd009e4
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: antiager on September 27, 2024, 10:05:58 PM
Habe den Patch ausgeführt!

Zusammen mit der 24.7.5 sieht das erstmal gut aus!!

Caddy lässt sich beenden und neustarten!

Ich beobachte noch ein bisschen aber bin erstmal erfreut!!

Gute Arbeit (mal wieder) monviech!
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: Monviech (Cedrik) on September 28, 2024, 06:39:16 AM
Super freut mich. Danke fürs testen :)
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: antiager on October 24, 2024, 10:44:18 AM
Nochmal ein Nachschlag!

Ich habe Caddy jetzt an einem anderen Standort mit einer 24.7 OPNsense ebenfalls mit einem Exchange 2016 am laufen.

Auch dort bleibt Caddy beim Neustart hängen bis man deinen Patch installiert hat.

Ansonsten funktionierts.
Title: Re: OPNsense CaddyPlugin Reverse Proxy für ua. MS Exchange 2016
Post by: Monviech (Cedrik) on October 24, 2024, 12:12:42 PM
Hallo, der Patch sollte eigendlich seit os-caddy-1.7.2 automatisch drin sein.

Das ist irgwnd ein Upstream problem mit dem Hängenbleiben wenn NTLM im Spiel ist aber die Entwickler haben für diesen einen edge case gerade keine Zeit. Deswegen der Workaround mit dem kill von mir.