Replies: 5 comments 2 replies
|
I think between services, there should be encryption, one way or another. It can easily be the case that different services are on different machines. In this case it can be important not only for privacy, but for stopping someone from injecting spoofed messages between the two services. |
|
I have been able to show that using packet sniffing tools like tcpdump and Wireshark, the traffic between services does leak potentially private information such as data set names and contents. There is likely more, but I did not look for any more. In my case I had root access to the deployment to view the tcp communications, however as parshimers mentioned, you would not need root privileges to read these packets if services are spread out on multiple machines. In this setup you would only need a separate device on the same network as one of the services. |
|
Further looking into this, I believe that https is actually not what we are looking for here. The important features of https we need are:
While https provides all 3 of these, they are actually provided by TLS which https uses. For this reason we should be discussing providing TLS between containers instead. There are a few existing tools to do this (often called service meshes), however the most light weight and simple one I could find is linkerd which I will be looking into using. Note: Due to the proposal to utilize VMs #8430 for container runtimes, any solution we choose to use should utilize sidecars instead of the sidecar less modern approaches. This is due to the fact that vms use a separate kernel with a separate networking stack which can interfere with non sidecar approaches. |
|
I agree with Dylan's points about focusing on wrapping everything (TLS/mTLS) rather than focusing solely on HTTP. I think giving linkerd a detailed look is also great direction. The earlier we can get something to work the better; it is going from a 0 to a 1. |
|
@dzueck If you can include some diagram, that will be helpful. |
Uh oh!
There was an error while loading. Please reload this page.
There are many internal RESTful requests between micro services in the Texera system. We want to know whether we need to encrypt these requests to make them more secure.
@parshimers @madhusudancs and others: any thoughts?
All reactions