OPNsense
  • Home
  • Help
  • Search
  • Login
  • Register

  • OPNsense Forum »
  • International Forums »
  • German - Deutsch (Moderator: JeGr) »
  • OnlyOffice Docs hinter HAproxy betreiben
« previous next »
  • Print
Pages: [1]

Author Topic: OnlyOffice Docs hinter HAproxy betreiben  (Read 1610 times)

Wuschy

  • Newbie
  • *
  • Posts: 15
  • Karma: 0
    • View Profile
OnlyOffice Docs hinter HAproxy betreiben
« on: November 20, 2021, 10:03:00 pm »
Hallo Zusammen,

Vielleicht kann mir hier jemand helfen, da ich einfach nicht mehr weiterkomme:
Ich habe die OPNsense FW schon eine Weile mit einem Wildcard Zertifikat von LetsEncrypt und einem HAproxy in Betrieb.
Mein aktuellstes Projekt ist OnlyOffice hinter dem HAproxy zugunsten der SSL Verschlüsselung zu betreiben.

Der Server läuft lokal auf Port 80 und funktioniert dort inkl. den Doc-Editoren auch problemlos.

Wenn ich aber die Adresse über den HAproxy öffne, funktioniert zwar die grundsätzliche OnlyOffice Seite noch, jedoch die Doc-Editoren nicht mehr.

Die Einträge von Threads 16595, 19122 & 10343 haben mir leider auch nicht weitergeholfen... von OnlyOffice gibt es unter https://helpcenter.onlyoffice.com/installation/docs-community-proxy.aspx eine Verlinkung zur "zu tätigenden HAproxy Konfiguration" https://github.com/ONLYOFFICE/document-server-proxy/blob/master/haproxy/proxy-https-to-http.cfg jedoch weiss ich nicht, wie ich die Einstellungen in der OPNsense GUI vornehmen kann (wenn überhaupt?)!

Ich gehe davon aus, dass hier das Problem begraben liegt:
  acl existing-x-forwarded-host req.hdr(X-Forwarded-Host) -m found
  acl existing-x-forwarded-proto req.hdr(X-Forwarded-Proto) -m found
  http-request add-header X-Forwarded-Host %[req.hdr(Host)] unless existing-x-forwarded-host
  http-request add-header X-Forwarded-Proto https unless existing-x-forwarded-proto

Für eure Hilfe bin ich sehr dankbar!
Logged

Wuschy

  • Newbie
  • *
  • Posts: 15
  • Karma: 0
    • View Profile
Re: OnlyOffice Docs hinter HAproxy betreiben
« Reply #1 on: November 20, 2021, 10:12:41 pm »
Nevermind, sorry für die Umstände, die Lösung ist ja eig. bedenklich einfach:
im entsprechenden Backend die Advanced Options aktivieren und unter "Option pass-through" die vier Zeilen einfügen:

acl existing-x-forwarded-host req.hdr(X-Forwarded-Host) -m found
acl existing-x-forwarded-proto req.hdr(X-Forwarded-Proto) -m found
http-request add-header X-Forwarded-Host %[req.hdr(Host)] unless existing-x-forwarded-host
http-request add-header X-Forwarded-Proto https unless existing-x-forwarded-proto

Sorry für jede verschwendete Minute!
Logged

fabian

  • Hero Member
  • *****
  • Posts: 2738
  • Karma: 195
  • OPNsense Contributor (Language, VPN, Proxy, etc.)
    • View Profile
    • Personal Homepage
Re: OnlyOffice Docs hinter HAproxy betreiben
« Reply #2 on: November 21, 2021, 06:37:00 pm »
Quote from: Wuschy on November 20, 2021, 10:12:41 pm
acl existing-x-forwarded-host req.hdr(X-Forwarded-Host) -m found
acl existing-x-forwarded-proto req.hdr(X-Forwarded-Proto) -m found
http-request add-header X-Forwarded-Host %[req.hdr(Host)] unless existing-x-forwarded-host
http-request add-header X-Forwarded-Proto https unless existing-x-forwarded-proto

Ich bin jetzt nicht der HAProxy experte, aber das hier sieht gefährlich aus.
Theoretisch könnte man die Header dann auch von außen setzen.
Logged

lfirewall1243

  • Hero Member
  • *****
  • Posts: 1329
  • Karma: 45
    • View Profile
Re: OnlyOffice Docs hinter HAproxy betreiben
« Reply #3 on: November 23, 2021, 10:18:35 am »
Quote from: fabian on November 21, 2021, 06:37:00 pm
Quote from: Wuschy on November 20, 2021, 10:12:41 pm
acl existing-x-forwarded-host req.hdr(X-Forwarded-Host) -m found
acl existing-x-forwarded-proto req.hdr(X-Forwarded-Proto) -m found
http-request add-header X-Forwarded-Host %[req.hdr(Host)] unless existing-x-forwarded-host
http-request add-header X-Forwarded-Proto https unless existing-x-forwarded-proto

Ich bin jetzt nicht der HAProxy experte, aber das hier sieht gefährlich aus.
Theoretisch könnte man die Header dann auch von außen setzen.

Denke ich auch.
Klingt definitiv nach einer schlechten Idee es so zu "lösen".
Logged
OPNsense Telegram Group: https://t.me/joinchat/0o9JuLUXRFpiNmJk

PM for paid support

JeGr

  • Moderator
  • Hero Member
  • *****
  • Posts: 1704
  • Karma: 198
  • old man standing
    • View Profile
Re: OnlyOffice Docs hinter HAproxy betreiben
« Reply #4 on: November 23, 2021, 01:03:22 pm »
Experte bin ich jetzt auch nicht, aber soweit ich das lese setzt das lediglich den HostHeader für X-Forwarded-Host wenn er nicht gesetzt wurde durch ein System davor auf den Wert von hdr(Host). Da das System dahinter den Forwarded Header wohl ausliest/braucht.

Proto wird meist gebraucht wenn HTTPS im Frontend aber nicht im Backend gesprochen wird, sonst landet das in ner Endlos-Redirect-Loop da das Backend immer denkt es ist HTTP, macht einen Redirect aber das Frontend ist schon auf HTTPS. Der Host sollte eigentlich durch den Eintrag im HAproxy Frontend sauber gesetzt werden (wenn angehakt), dass man den nicht setzen müsste (IMHO). Vielleicht wurde das aber auch vergessen und daher war dann der Header leer was das Problem verursacht hat. "Setzen wenn leer" sollte also eigentlich nichts böses sein.

Cheers :)
Logged
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

fabian

  • Hero Member
  • *****
  • Posts: 2738
  • Karma: 195
  • OPNsense Contributor (Language, VPN, Proxy, etc.)
    • View Profile
    • Personal Homepage
Re: OnlyOffice Docs hinter HAproxy betreiben
« Reply #5 on: November 23, 2021, 07:30:54 pm »
https://portswigger.net/web-security/host-header
https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/17-Testing_for_Host_Header_Injection
Logged

JeGr

  • Moderator
  • Hero Member
  • *****
  • Posts: 1704
  • Karma: 198
  • old man standing
    • View Profile
Re: OnlyOffice Docs hinter HAproxy betreiben
« Reply #6 on: November 24, 2021, 04:05:32 pm »
Korrekt, da gehts um Host-Header Attacken. Und X-Forwarded-For ggf. als Vektor. Die Anwendungen brauchen den X-Forwarded aber um ggf. zu prüfen, ob über die korrekte Domain zugegriffen wurde, nicht für Auth. Sehe ich jetzt im ersten Moment nicht, was das eine hier mit dem anderen zu tun hat.

Ich hätte tatsächlich auch eher wie schon geschrieben den Forwarded-For fix im Frontend gesetzt bzw. statt mit Variablen
-> http-request add-header X-Forwarded-Host %[req.hdr(Host)] unless existing-x-forwarded-host
direkt fix auf den Wert gesetzt, den der Host dahinter braucht bzw. auf dem er läuft.

Was dann ein Angreifer in seinen Host-Header reinhaut ist eigentlich egal (wenn der falsch ist, kommt er ja nicht im korrekten Backend raus - oder in gar keinem) und selbst wenn er seine Attack URL selbst in X-Forward einfügt, wird die "überschrieben" bevor sie ans Backend geht.

Darum meinte ich: sehe ich beim ersten Drüberlesen jetzt nicht als böse, aber ich lerne auch gern dazu! Wenn das also wider erwarten nicht so funktioniert wie ich denke/dachte - bitte raus damit :)
Logged
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

  • Print
Pages: [1]
« previous next »
  • OPNsense Forum »
  • International Forums »
  • German - Deutsch (Moderator: JeGr) »
  • OnlyOffice Docs hinter HAproxy betreiben
 

OPNsense is an OSS project © Deciso B.V. 2015 - 2022 All rights reserved
  • SMF 2.0.18 | SMF © 2021, Simple Machines
    Privacy Policy
    | XHTML | RSS | WAP2