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

Support HTTP filtering in TLS traffic #2771

Open
aviramha opened this issue Sep 21, 2024 · 1 comment
Open

Support HTTP filtering in TLS traffic #2771

aviramha opened this issue Sep 21, 2024 · 1 comment

Comments

@aviramha
Copy link
Member

aviramha commented Sep 21, 2024

Today, we require traffic to be plaintext HTTP to apply http filter to it.
This makes sense, as in many cases where TLS is on the pod level, it is done by a side car (mesh/nginx/etc) that terminates the TLS - but in some cases it is still the application doing the TLS.
For those cases, we can support by having the user configure the TLS settings (usually file settings to where to load certificates from, which should be available in the target pod anyway)- - the issue is that it's more diverse - certificate types, tls, and mTLS.

For example, in Goland we just need cert file + key

    err := http.ListenAndServeTLS(":443", "server.crt", "server.key", nil)

Then we can have

{
  "feature": {
    "network": {
      "incoming": {
        "http_filter": {
          "path_filter": "/api",
          "tls": {
            "ports": [443, 8443],
            "certificate": "/etc/app.crt",
            "key": "/etc/app.key"
          }
        }
      }
    }
  }
}

The agent would steal that traffic, and retransmit bypass traffic as TLS - problem is mTLS ofc (also, how do we trust application? do we not verify? shouldn't be the worst but need to have this as a known thing)
For mTLS we can also specify the client certificate to use, but I'd put it as another step, and develop as needed.

Also, do we transmit to local application TLS or HTTP? Probably need to support both but should develop based on what users would want.

This issue is for brainstorming and collecting use cases, and should create smaller issues that are more specific.

Copy link

linear bot commented Sep 21, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant