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

Secure tracing data to Jaeger backend #8897

Closed
fmhwong opened this issue Sep 9, 2019 · 9 comments
Closed

Secure tracing data to Jaeger backend #8897

fmhwong opened this issue Sep 9, 2019 · 9 comments

Comments

@fmhwong
Copy link
Member

fmhwong commented Sep 9, 2019

Jim Mulvey, Ajay Reddy, Chunlong Liang and Felix Wong had a meeting on 9/09/2019 to discuss how to secure the tracing data from Jaeger Client to Jaeger backend.

Since the data transfer between Jaeger Client and Agent is using unsecure UDP, we agreed this is acceptable to go out as is as a beta.

For GA, we need to find a more secure solution.

Jim found a git issue on Jaeger security:
jaegertracing/jaeger#1718

And it has a link to this article.
https://medium.com/@larsmilland01/secure-architecture-for-jaeger-with-apache-httpd-reverse-proxy-on-openshift-f31983fad400

@fmhwong
Copy link
Member Author

fmhwong commented Sep 10, 2019

Copy and paste Jim's comment from email:

To summarize, we agreed to going ahead with UDP for the beta but before we approve this for GA, we need to look at securing this better. Two options we discussed:

  1. using the option to configure it so the Jaeger client calls over HTTPS out to the Jaeger Collector (skipping the Agent). We could also implement an oauth proxy in front for the Jaeger Collector. Someone needs to investigate whether the Jaeger client can be configured to call out over HTTPS- if not we need to make this happen.
    or
  2. implementing encryption of trace data/Jaeger propagated credentials inside Liberty on the call to the Jaeger client -for this we'd need a way to provide a secret to the Jaeger agent so that it can decrypt the payload before sending it over gRPC or TLS to the Jaeger Collector. I expect this means adding this support to the Jaeger agent.

Jim

@yurishkuro
Copy link

(1) yes, but varies by language
(2) agent->collector over gRPC supports TLS with client cert authentication

@fmhwong
Copy link
Member Author

fmhwong commented Sep 20, 2019

@yurishkuro We are having concerns on the unsecured connection between client and agent. Does the Java client support https calls to the collector?

@yurishkuro
Copy link

(1) yes, but varies by language

@fmhwong
Copy link
Member Author

fmhwong commented Sep 23, 2019

@yurishkuro Does it work for Java? If yes, do you have pointers to the documentation?

@yurishkuro
Copy link

I assume you can specify https as JAEGER_URL. But collector itself doesn't run https server iirc so you'd need to put a proxy in front of it.

@fmhwong
Copy link
Member Author

fmhwong commented Sep 25, 2019

jaegertracing/jaeger-client-java#602 hasn't been merged yet so I guess the client can't send https directly to collector yet.

@yurishkuro
Copy link

That PR adds client cert validation, if you need it for client auth. If you're only concerned with transport security, then https should already be supported.

@fmhwong
Copy link
Member Author

fmhwong commented Oct 9, 2019

Successfully setup a nginx https reverse proxy in front of jaeger-controller and I was able to use a https endpoint in jaeger-client.

@fmhwong fmhwong closed this as completed Oct 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants