-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature request] Implement a URI filter in the proxy #113
Comments
I find that interesting, not so much for security, because the overall security remains pretty much the same (the other modules are still accessible to application), but for usability. Restricting the modules visible to the proxy, would allow a nicer module view for the applications using the proxy. |
Hi @nmav, This is the same problem (but using conventional keys vs hw backed ones) that led to the creation of projects like ssh-ident in the first place. |
Right, this is what I had in mind. A compromise on the agent, would allow it to access any keys irrespective of the filter being in place or not. What you are suggesting is that a non-compromised agent, will be restricted to the keys available by the filter, which is a good thing. |
Although I guess the low-level implementation of this would be straightforward, I am wondering what would be the best way to expose such configuration to user. The current idea is to:
Would that work for you, or any better idea? |
Both would be useful as they would serve for different purposes:
In both cases, it would be useful to be able to specify more than one URL in case that you cannot get the right level of filtering with only one (e.g. maybe you want to include different keys in different HW tokens and you do not have enough control on the labels or any other property to do the right level of filtering). Thanks! |
Has this feature been developed? |
Not that I know of, other than #122. If anyone is interested in moving this forward, that would be awesome :-) |
Maybe it would make sense to have filtering via a module (shared object pointed to by an environment variable like ACCESS_FILTER_MODULE ). The access filters could be either be uri filters or anything else. Late on one could have another module on client side that adds "authentication payload" to each request written to the socket. |
When using a multi-slot token, there is no way to limit the access to some of the tokens when using an application like ssh or ssh-agent. Although, eventually, some of these applications might get native p11 support that would allow them to request for an specific URI, a much more straightforward approach would be to implement a URI filter feature in p11-proxy. The idea would be to retrieve the URI pattern from an environment variable and filter the result of the proxy according to that pattern.
If you use a project like ssh-ident (I am writing a patch for adding pkcs11 support), this would allow to have different ssh agents accessing different slots in a single token to enhance overall security.
The text was updated successfully, but these errors were encountered: