Replies: 1 comment 2 replies
-
Proxy protocol simply forwards the real client IP. It does not modify the host clients connect to, nor does it alter the certificate the client may provide. It's not obvious to me what may be missing. @lhoguin do you know? |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Following this discussion on rabbitmq-user group, I propose a new feature request that allows SSL Authentication even when using Proxy Protocol. My use case is about MQTT backend but I think the feature request applies to AMQP as well.
I actually have this "standard" setup which works without problems:
RabbitMQ is configured as follows:
Now I would like to use HAProxy as a load balancer to:
In this case the setup is as follows:
In this setup:
Proxy protocol should correctly forward TLS details to RabbitMQ (thanks to this PR, but it seems that RabbitMQ does not get original client certificate CN (which is sent thanks to
send-proxy-v2-ssl-cn
configuration, as explained here to be used as SSL login name , infact RabbitMQ complains that:VerneMQ has an option to use client certificate CN (forwarded by proxy-protocol) as ssl login name.
So it would be nice if also RabbitMQ had a similar feature. That would probably provide a noticeable optimization as SSL handling seems to incur in a sensible performance hit.
From a security point of view, however, that feature could widen the possible attack surface of RabbitMQ as anyone with networking capabilities on ha-proxy host could handcraft a proxy-protocol packet and login to the broker pretending to be any user. Unfortunately, AFAIK proxy-protocol does not have security features, so possible countermeasures should be the hardening of ha-proxy host and properly firewalling the RabbitMQ endpoint.
Beta Was this translation helpful? Give feedback.
All reactions