@tonyb, I think the issue with your extra option is that with spoofing the source IP, or similar, it doesn't really give us any more security, unless I am missing something? In reality folks really should consider carefully about securing this channel, via some other means they can trust within the context of their network.
What about beefing up the documentation, issuing a security advisory? I think we could also deprecate the proxy feature, telling users to configure a proxy to use the above shared secret system? Does that sound practical?
FWIW, I know many users worry about instance traffic being routed into the control plane, so tend to only deploy with Configuration Drive.
PS
Having access does also allow you to write passwords into the database, blocking the user generating a password, if you time it correctly, if my memory servers me correctly.
So I thought X-Forwarded-For was a known weakness, all be it a badly documented one.
The configuration option used to say: "Only enable this if you have a sanitizing proxy." /github. com/openstack/ nova/commit/ ca1017988f98a24 6aa82c16f471791 c7ea3eceec
https:/
Now somehow that has morphed to "a HTML santizing proxy" which is totally miss-leading: /github. com/openstack/ nova/blob/ master/ nova/conf/ api.py# L48
https:/
We do now have this shared secret checking feature, that the neutron proxy uses: /github. com/openstack/ nova/blob/ 2a0fce7a44d4050 e112a6b987f2423 6627632d2c/ nova/api/ metadata/ handler. py#L259
https:/
I believe the proxy uses OVS (et al) protections to ensure only the correct VMs can talk to their proxy, then shared secret sent to the load balanced nova metadata api server, or something like that.
@tonyb, I think the issue with your extra option is that with spoofing the source IP, or similar, it doesn't really give us any more security, unless I am missing something? In reality folks really should consider carefully about securing this channel, via some other means they can trust within the context of their network.
What about beefing up the documentation, issuing a security advisory? I think we could also deprecate the proxy feature, telling users to configure a proxy to use the above shared secret system? Does that sound practical?
FWIW, I know many users worry about instance traffic being routed into the control plane, so tend to only deploy with Configuration Drive.
PS
Having access does also allow you to write passwords into the database, blocking the user generating a password, if you time it correctly, if my memory servers me correctly.