Is AWS X-Ray traffic encrypted in transit?

0

We're evaluating running instrumenting docker containers running on a third-party hosting service with X-Ray. To do that, it seems like we will need to add the X-Ray SDK, and run an additional container with the X-Ray demon that proxies traces to AWS.

The documentation isn't clear whether sent are encrypted in transit to the demon, and then on to AWS. Is traffic encrypted on both legs in some way, and if so how?

https://docs.aws.amazon.com/xray/latest/devguide/xray-console-encryption.html

asked a year ago375 views
2 Answers
1
Accepted Answer

Hi,

API calls from the X-Ray daemon to the X-Ray service are encrypted in transit, since Transport Layer Security (TLS) 1.0 or later is required (but TLS 1.2 or later recommended) by the backend.

However, after analysing the source code from the Github repository, it seems that the communication between your applications X-Ray SDK and the X-Ray daemon is not encrypted. I have not found official documentation that confirms or denies it, but the daemon instantiates a UDP server instead of a DTLS (TLS for UDP) or similar.

// New returns new instance of UDP.
func New(udpAddress string) socketconn.SocketConn {
	log.Debugf("Listening on UDP %v", udpAddress)
	addr, err := net.ResolveUDPAddr("udp", udpAddress)
	if err != nil {
		log.Errorf("%v", err)
		os.Exit(1)
	}
	sock, err := net.ListenUDP("udp", addr)
	if err != nil {
		log.Errorf("%v", err)
		os.Exit(1)
	}
	return UDP{
		socket: sock,
	}
}

I guess it's because it's designed to be deployed in the same execution environment as the application and communicate locally (See Lambda, ECS or EKS), and thus improve performance.

profile picture
EXPERT
answered a year ago
1

Hello,

Greetings for the day!!

To answer your query, X-ray sends encrypted communication from AWS X-ray API to X-ray service, please refer this documentation[1] for more information.

However X-ray does not encrypt traffic on UDP. Please refer this github snippet[2] for insight.

Have a fantastic day ahead!!

Reference:

[1] https://docs.aws.amazon.com/xray/latest/devguide/xray-daemon.html.

[2] https://github.com/aws/aws-xray-sdk-python/blob/master/aws_xray_sdk/core/emitters/udp_emitter.py#L28-L43

AWS
answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions