Add option to provide granular Access Control to multiple Ingresses on a single Ingress Control via OCI L7 #2077

Open
opened 2025-11-20 06:12:23 -05:00 by saavagebueno · 3 comments
Owner

Originally created by @rodion-serhieiev on GitHub (Jul 17, 2025).

Hi NetBird Team,
We need to use Ingress to terminate TLS because some of our pods, due to their current state, cannot process incoming TLS traffic, so we can't terminate TLS traffic on the pod/service. Due to this limitation, we are using Ingress with Nginx as an ingress controller. But then we are facing a possible issue because we have multiple Ingresses with different access level limitations on the same ingress controller, and we are not sure that this is a secure way because we do not see how to limit some users in the NetBird Application to some endpoints, like Allow access to Ingress-A but limit to Ingress-B. As I understand, NetBird, because it uses WireGuard, is working on OCI Level 4, so users have access to all services on the same IP:Port. There is no option to create a filter based on SNI because this is a different OCI Level.
Are there any alternatives to creating multiple Ingress Controllers for each Service, which would be a considerable overhead for us?

Originally created by @rodion-serhieiev on GitHub (Jul 17, 2025). Hi NetBird Team, We need to use Ingress to terminate TLS because some of our pods, due to their current state, cannot process incoming TLS traffic, so we can't terminate TLS traffic on the pod/service. Due to this limitation, we are using Ingress with Nginx as an ingress controller. But then we are facing a possible issue because we have multiple Ingresses with different access level limitations on the same ingress controller, and we are not sure that this is a secure way because we do not see how to limit some users in the NetBird Application to some endpoints, like Allow access to Ingress-A but limit to Ingress-B. As I understand, NetBird, because it uses WireGuard, is working on OCI Level 4, so users have access to all services on the same IP:Port. There is no option to create a filter based on SNI because this is a different OCI Level. Are there any alternatives to creating multiple Ingress Controllers for each Service, which would be a considerable overhead for us?
saavagebueno added the feature-requestquestion labels 2025-11-20 06:12:23 -05:00
Author
Owner

@nazarewk commented on GitHub (Jul 17, 2025):

You are correct, right now there is no way to discern different services running on the same IP:port combination. You can also inadvertently open up such ingress when using domain Resource: the IP address of the ingress will get routed, and somebody could theoretically send curl -H "Host: your-other.domain.com" https://<resolved-ip> to access other virtual hosts.

We are aware of the demand and were discussing introducing an internal L7 proxy (eg: embedding Caddy or something similar) for those cases a few months ago, but I don't know if we have a clear plan at this point in time.

@nazarewk commented on GitHub (Jul 17, 2025): You are correct, right now there is no way to discern different services running on the same `IP:port` combination. You can also inadvertently open up such ingress when using `domain` Resource: the IP address of the ingress will get routed, and somebody could theoretically send `curl -H "Host: your-other.domain.com" https://<resolved-ip>` to access other virtual hosts. We are aware of the demand and were discussing introducing an internal L7 proxy (eg: embedding Caddy or something similar) for those cases a few months ago, but I don't know if we have a clear plan at this point in time.
Author
Owner

@rodion-serhieiev commented on GitHub (Jul 17, 2025):

Hi @nazarewk,
Thank you for your reply.
Should I create a feature request, or could you share a link to the mentioned feature request so I could track the process?

@rodion-serhieiev commented on GitHub (Jul 17, 2025): Hi @nazarewk, Thank you for your reply. Should I create a feature request, or could you share a link to the mentioned feature request so I could track the process?
Author
Owner

@nazarewk commented on GitHub (Jul 17, 2025):

I don't think there is any public feature request yet, we can turn this Issue into one, I have labeled it as feature request. We could only adjust the title to mention support for L7 ACLs for more exposure.

@nazarewk commented on GitHub (Jul 17, 2025): I don't think there is any public feature request yet, we can turn this Issue into one, I have labeled it as feature request. We could only adjust the title to mention support for L7 ACLs for more exposure.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#2077