Skip to content
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

Egress support #661

Open
valerauko opened this issue Jul 7, 2020 · 4 comments
Open

Egress support #661

valerauko opened this issue Jul 7, 2020 · 4 comments
Labels
kind/enhancement a new or improved feature.

Comments

@valerauko
Copy link
Contributor

valerauko commented Jul 7, 2020

Feature Request

Egress support. Some means to monitor and control outgoing traffic.

Proposal

I don't know what's an ideal way to handle this.

Background

Many of my services regularly communicate with external services ad-hoc. Meaning I can't know beforehand what external services may appear as servers join and leave the network. (So I don't think ExternalServices as proposed by #622 would solve this)

Workarounds

I log outgoing requests at the application level.

@SantoDE
Copy link
Contributor

SantoDE commented Jul 7, 2020

Hello @valerauko,

thanks for your interest in the project.

I'm not sure Maesh can handle that request tough. As we're non invassive, we don't have control over all outgoing connections.

We'll keep the issue tough, let's see where we end :)

@SantoDE SantoDE added kind/enhancement a new or improved feature. and removed status/0-needs-triage labels Jul 7, 2020
@valerauko
Copy link
Contributor Author

I understand that. I was thinking of blocking all non-maesh traffic using k8s network policies. It'd be nice if there was a way to pass egress traffic through maesh.

@devopstales
Copy link

@SantoDE Any update on this ?

@ollytheninja
Copy link

Old issue but I think still relevant. As far as I'm aware, at the moment the only "mature" solution for cluster-native egress management is Istio's Egress Gateway.
From a security perspective, being able to create domain (rather than IP) level allow-lists for resources / APIs an application needs to access on the internet is a beautiful thing.
Just as in the Istio instance, it would not be up to the service mesh to ensure traffic goes through the mesh proxy - that would be for network policies to handle. The mesh is only responsible for enforcing policy on requests that do come through it.

Important to the original issue is the ability to monitor external traffic and then have the ability to create specific allow or deny rules.

You may for example monitor the traffic on a test application and use that to explicitly allow-list in production.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement a new or improved feature.
Projects
None yet
Development

No branches or pull requests

5 participants