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

Encrypt and authenticate communication between nodes #44

Open
mattbostock opened this issue May 28, 2017 · 2 comments
Open

Encrypt and authenticate communication between nodes #44

mattbostock opened this issue May 28, 2017 · 2 comments

Comments

@mattbostock
Copy link
Owner

While we can reasonably expect a user to configure a reverse HTTP proxy to add encryption and authentication between client and server, doing so for internal communication between nodes in a cluster could be a considered an unnecessary operational burden.

The aim of this issue is to determine how to best secure internal communication while avoiding:

  • making it difficult for people wishing to try out the database
  • making it difficult to develop and test the database
  • adding a plethora of configuration options

The solution should be simple.

Some background reading:

@mattbostock
Copy link
Owner Author

I considered using TLS with a pre-shared key for encryption, which would be relatively simple to configure.

The Go TLS library does not yet support TLS-PSK, however.

@mattbostock mattbostock self-assigned this Jul 11, 2017
@mattbostock
Copy link
Owner Author

mattbostock commented Sep 8, 2017

There are a lot of good reverse proxies that do TLS termination well and I don't want to complicate the codebase with configuration for TLS. For example:

  • some folks may want to use client authentication
  • some folks may want to use LetsEncrypt
  • support for TLS needs additional configuration and associated tests

I think a better solution is for users to use a sidecar proxy such as Envoy or Nginx Unit which can handle TLS on behalf of Timbala.

Remaining tasks left before this can be closed:

  • Document this decision
  • Raise an issue to add example config for using Timbala with Envoy/Istio

@mattbostock mattbostock added this to the Version 1.0 milestone Sep 16, 2017
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

1 participant