OPNsense Forum

International Forums => German - Deutsch => Topic started by: AlexH on June 01, 2020, 10:38:10 am

Title: Client-IP an SSH-Jumpgateway hinter HAProxy
Post by: AlexH on June 01, 2020, 10:38:10 am
Hallo zusammen,

ich betreibe ein SSH-Jumpgateway und Reverseproxy zusammen in einer VM. Das Setup basiert auf einem SSLH-Daemon und einem Nginx als Revrsproxy. Dieses Setup möchte ich nun gerne mittels HAProxy realisieren.
Ich versuche mich gerade an dem SSH-Jumpgateway. Die SSH-Connections bekomme ich auch an das passende Backend durchgereicht. Allerdings sehe ich auf dem Backend nur die IP-Adresse von der Opnsense und nicht die Client-IP.
Wie muss ich den HAProxy auf der Opnsense konfigurieren, damit ich die Clientip am Backend sehe. Dies benötige ich für Fail2Ban.


Gruß
Alex
Title: Re: Client-IP an SSH-Jumpgateway hinter HAProxy
Post by: hbc on June 01, 2020, 12:24:40 pm
Ob das technisch überhaupt möglich ist? Bei HTTP Reverse-Proxy wird die reale IP als zusätzliche Header-Anweisung übertragen (X-Forwarded-for, X-Client-IP) und kann dann am Webserver ausgewertet werden und das auch nur, wenn SSL-Offloading durchgeführt wird und haproxy den Header somit einfügen kann.
SSH dürfte so einen Mechanismus nicht haben, um die reale IP mitzugeben. Oder funktioniert es mit nginx als RevProxy und Du willst ihn durch haproxy ersetzen? Wie hast Du es dann mit nginx gelöst?

Aber opnSense unterstützt doch rate-limits in Regeln. Kannste doch dort blocken. Nach jedem falschen Login wird Verbindung  von SSHd beendet. Dann kannste z.B. konfigurieren max. 3 Verbindungen von IP pro 10min oder was halt Sinn gibt.
Title: Re: Client-IP an SSH-Jumpgateway hinter HAProxy
Post by: fabian on June 01, 2020, 05:49:10 pm
Klar kann man die real IP mitgeben. Das einzige Problem: man braucht das Proxy-Protokoll und das ist teilweise kompliziert in der Konfiguration. In dem Fall müsste wahrscheinlich der sslh weg.
Title: Re: Client-IP an SSH-Jumpgateway hinter HAProxy
Post by: hbc on June 01, 2020, 09:39:49 pm
Dann müsste man mmproxy dazwischen schalten als PROXY Gateway... funktioniert halt nur, wenn der SSHd über Linux läuft.

https://serverfault.com/questions/620703/sshd-real-ip-behind-haproxy

https://blog.cloudflare.com/mmproxy-creative-way-of-preserving-client-ips-in-spectrum/
Title: Re: Client-IP an SSH-Jumpgateway hinter HAProxy
Post by: fabian on June 01, 2020, 10:22:24 pm
Ja, mmproxy muss da laufen, wo auch der sshd läuft, also auf deinem Server. Dafür funktioniert es mit jeder Software auf TCP-Basis. Wüsste nicht, ob es da auch was für BSD-Server gibt oder für was auch immer du verwendest.
Title: Re: Client-IP an SSH-Jumpgateway hinter HAProxy
Post by: AlexH on June 02, 2020, 02:36:22 pm
Vielen Dank für den Tip mit go-mmproxy, dass tut genau das was ich brauche.

Gruß
Alex