Osticket: CSRF-Token gebrochen, wenn es sich hinter dem Reverse-Proxy befindet

Erstellt am 28. März 2014  ·  6Kommentare  ·  Quelle: osTicket/osTicket

Der Versuch, osTicket (v1.8.1-dpr) hinter einem Reverse-Proxy zu verwenden, wird zuverlässig erhalten

 Invalid CSRF Token __CSRFToken__
Invalid CSRF token [b4cab350cfce13ee10a8cd27445e7f4466db039e] on
(redacted)

die ursache scheint das osticket-javascript zu sein, das den token basierend auf der browser-IP generiert, die sich natürlich von der reverse-proxy-IP unterscheidet, wenn der token serverseitig verifiziert wird.

Reverse-Proxy ist eine Apache-Instanz auf ec2

question

Hilfreichster Kommentar

Ich weiß, dass dieser Beitrag über ein Jahr alt ist, aber mehrmals aufgetaucht ist, als ich versuchte, meinen Reverse-Proxy mit osTicket einzurichten. Ich verwende NginX als meinen Reverse-Proxy (ich weiß, wird nicht unterstützt usw.)

In meinem Standortblock musste ich einige Header-Einstellungen hinzufügen:

 location / {
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass_header       Set-Cookie;
            proxy_pass <Backend osTicket location>;
        }

Der pass_header schien es zu funktionieren, aber die anderen Einstellungen stellen sicher, dass Ihr Server die richtige IP-Adresse erhält. Ich glaube, Sie könnten diese Einstellungen auch im Server- oder HTTP-Block festlegen, aber dies erfüllte meine Bedürfnisse.

Alle 6 Kommentare

Ihr Reverse-Proxy sollte X-Forwarded-For senden. Macht es?

Ja, der Reverse-Proxy setzt X-Forwarded-For auf die richtige Adresse. Der Client befindet sich hinter einem NAT, und daher könnte das Javascript möglicherweise eine RFC1918-Adresse erhalten, wenn es gebundene Schnittstellenadressen erhält (unklar, ob dies geschieht).

Können Sie die Cookie-Einstellungen zwischen dem Proxy-Server (wo osTicket läuft und dem Client) überprüfen? Überprüfen Sie die Cookie-Domain und den Cookie-Pfad des zurückgegebenen Cookies und stellen Sie sicher, dass keiner der Server dazwischen mit den Cookie- oder Cookie-Einstellungen herumspielt.

Ich werde es überprüfen, aber das könnte sehr gut sein, wo das Problem liegt (interne Hostdomäne und Domäne als Proxy sind sehr unterschiedlich). Ich werde in ein paar Stunden aktualisieren.

Ich weiß, dass dieser Beitrag über ein Jahr alt ist, aber mehrmals aufgetaucht ist, als ich versuchte, meinen Reverse-Proxy mit osTicket einzurichten. Ich verwende NginX als meinen Reverse-Proxy (ich weiß, wird nicht unterstützt usw.)

In meinem Standortblock musste ich einige Header-Einstellungen hinzufügen:

 location / {
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass_header       Set-Cookie;
            proxy_pass <Backend osTicket location>;
        }

Der pass_header schien es zu funktionieren, aber die anderen Einstellungen stellen sicher, dass Ihr Server die richtige IP-Adresse erhält. Ich glaube, Sie könnten diese Einstellungen auch im Server- oder HTTP-Block festlegen, aber dies erfüllte meine Bedürfnisse.

@webbe wir unterstützen nginx nicht offiziell als Server für osTicket. Sie können für den Reverse-Proxy verwenden, was Sie wollen. Persönlich bevorzuge ich HAProxy. Vielen Dank, dass Sie Ihre Konfigurationsinformationen gepostet haben. Wir freuen uns, dass Ihr Setup funktioniert.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

markus4000 picture markus4000  ·  4Kommentare

cervedgroup picture cervedgroup  ·  5Kommentare

roman-1983 picture roman-1983  ·  5Kommentare

SysEngDan picture SysEngDan  ·  5Kommentare

markus4000 picture markus4000  ·  3Kommentare