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

All secrets for all products are available on the internet to unauthenticated users #64

Closed
gozer opened this issue Aug 21, 2015 · 2 comments
Labels
Milestone

Comments

@gozer
Copy link
Contributor

gozer commented Aug 21, 2015

From https://mana.mozilla.org/wiki/display/SECURITY/Nubis#Nubis-#insecureconsulaccess

All secrets for all products are available on the internet to unauthenticated users

Consul's method of controlling access to the secrets which it stores is by requiring that clients requesting secrets authenticate themselves with a x509 keypair signed request. The request must be signed by a x509 keypair which has been signed by a predefined certificate authority. The consul server has the public key of this certificate authority set so that only clients with certs signed by that CA can request secrets.

A planned mitigation for this issue is to enable jenkins to provision an ACL token from Consul and inject it into a stack via CloudFormation and then into the ec2 instance via user_data

This security control will reduce this risk but it will remain significant. In a model with this security control, the ACL token and by extension all secrets which that instance has access to (or all secrets if there is no ACL differentiation) are available to all users with the ability to read CloudFormation stack outputs or to read instance user_data (which is currently planned to be all Mozilla employees).

Recommendations :

  • Create a bootstrap process so that fetching the secrets is an authenticated process. For example Jenkins generates and signes an x509 key pair which it distributes to the instances in the stack using KMS for encryption and DynamoDB for storage (e.g. credstash) during instance creation.
  • Consul web ui access should use LDAP and MFA (or Okta)
@gozer gozer added the security label Aug 21, 2015
@gozer
Copy link
Contributor Author

gozer commented Aug 21, 2015

This will be resolved once #28 is closed

@gozer gozer added this to the v1.0.0 milestone Aug 21, 2015
@gozer
Copy link
Contributor Author

gozer commented Aug 25, 2015

resolved via #28

@gozer gozer closed this as completed Aug 25, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant