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

Protocol detection after terminating CONNECT #13981

Closed
mpuncel opened this issue Nov 11, 2020 · 7 comments
Closed

Protocol detection after terminating CONNECT #13981

mpuncel opened this issue Nov 11, 2020 · 7 comments
Labels
area/http stale stalebot believes this issue/PR has not been touched recently

Comments

@mpuncel
Copy link
Contributor

mpuncel commented Nov 11, 2020

Title: Protocol detection after terminating CONNECT

Description:
When using Envoy as an outbound CONNECT-terminating proxy, it forwards the payload of the HTTP request to the upstream as raw TCP. It would be useful to be able to detect the tunneled protocol for telemetry purposes, or even to block certain protocols (e.g. to block any plaintext traffic).

I'd guess the easiest way to accomplish this would be with upstream network filters, perhaps reusing a lot of code from listener filters such as TLS inspector?

@mpuncel mpuncel added enhancement Feature requests. Not bugs or questions. triage Issue requires triage labels Nov 11, 2020
@lizan
Copy link
Member

lizan commented Nov 12, 2020

Sounds like this is another use case of #11725. cc @lambdai

@mpuncel
Copy link
Contributor Author

mpuncel commented Nov 12, 2020

agreed, if we had a way of dispatching to an "internal listener" that would be even better so that all of the normal listener filters could be used

@lambdai
Copy link
Contributor

lambdai commented Nov 12, 2020

My experimental code at internal listener supports listener filter including tls inspector. It take time to land though

@mattklein123 mattklein123 added area/http and removed enhancement Feature requests. Not bugs or questions. triage Issue requires triage labels Nov 13, 2020
@mattklein123
Copy link
Member

cc @alyssawilk I think this has come up multiple times. I'm not sure if we are tracking all of these requests in some holistic way.

@alyssawilk
Copy link
Contributor

By this one do you mean protocol introspection, or for CONNECT specifically? I hadn't seen either so no tracking that I know of. I agree that while an HTTP filter inspecting data would be easiest, upstream TCP filters modeled off of the TLS inspector would be cleanest.

@github-actions
Copy link

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale stalebot believes this issue/PR has not been touched recently label Dec 17, 2020
@github-actions
Copy link

This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted" or "no stalebot". Thank you for your contributions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/http stale stalebot believes this issue/PR has not been touched recently
Projects
None yet
Development

No branches or pull requests

5 participants