Live data from Hacker News

Ask HN: Secure and simple way for secret/credential management in a startup?

news.ycombinator.com

21–30 of 34 posts

Re: Ask HN: Secure and simple way for secret/credential management in a startup?

#22
We use EnvKey - https://www.envkey.com - I can't recommend it highly enough - it's almost perfect. My only feature request would be for supporting scoped variables, even if it's just a veneer of grouping in the desktop app's UI - we end up with quite a lot of variables in there, some of it just for the CI to run, some for local dev only etc. and being able to thematically group variables would be really useful.

Re: Ask HN: Secure and simple way for secret/credential management in a startup?

#23
post #12
post #5

Hashicorp Vault. Checks all your boxes, I think. Or for something more lightweight (though it sounds like you're just about getting to the size where something more instrumented is worth it), you can have a git repo with secrets encrypted with individual keys. (git-secret and pass are two of the more popular ones here) > 8. Bonus: How to manage non-technical secrets, e.g. credentials for web shops to order supplies?…

Warning to anyone interested in Vault. Vault policies involve a learning curve. Maybe they have improved documentation and examples since I learned Vault management but I remember how complicated and time consuming it was.

This was the problem I found with Vault too - I ended up as the only person in the company that knew how to use it and therefore it became a burden very quickly. We switched to EnvKey which basically has zero learning curve.

Re: Ask HN: Secure and simple way for secret/credential management in a startup?

#24
There are several tools available for managing secrets and credentials in a small startup. Some popular options include:

LastPass, 1Password, Vault and Bitwarden, all these are cloud-based password manager that offers secure storage and sharing of login credentials. they also includes features like MFA and the ability to generate temporary tokens.

As for how to do it, I recommend evaluating each of these tools based on your specific needs and choosing the one that best fits your requirements. In general, you should look for a tool that offers strong security features, easy integration with your existing tools, and a user-friendly interface.

Re: Ask HN: Secure and simple way for secret/credential management in a startup?

#25
A few suggestion: - start with a password manager (I will suggest https://1password.com). For any service outside the cloud this should be fine

- Where possible enable SSO, even for AWS or other cloud services (https://blog.leapp.cloud/how-to-saml-federate-your-aws-accou...). Here an example on how to do it with GSuite and aws

- For all your employees I can advice you Leapp as open-source project (https://github.com/Noovolari/leapp). It solve mayor of the problem listed here:

. Responsable for the AWS infrastructure get the IAM Security standard on track (short-lived credentials, MFA, IAM Users secured, rotation of credentials and access to the console with a set of secured credentials, and generation of Azure ceredentials)

. temporary tokens are mandatory, so let a project like leapp locally manage IAC credentials for you.

- Is not too strictly to manage pipelines only after confirmation? You can create a specific role for managing a specific policy to deploy your pipelines. Here an article on how to start organizing your AWS account as a startup (https://blog.leapp.cloud/aws-multi-account-strategy-explaine...)

- "People work on their own devices.": that's why Leapp has been created, check it out.

- Optional: "It would be good if developers get credentials to setup small test environments in AWS." how anout creating a sandbox account for them? - "Bonus: How to manage non-technical secrets" even here, Leapp is a desktop app and is vastly used also for accessing to EC2 instances even for not technical people

I hope this guide can help you!

Re: Ask HN: Secure and simple way for secret/credential management in a startup?

#26
post #24

There are several tools available for managing secrets and credentials in a small startup. Some popular options include: LastPass, 1Password, Vault and Bitwarden, all these are cloud-based password manager that offers secure storage and sharing of login credentials. they also includes features like MFA and the ability to generate temporary tokens. As for how to do it, I recommend evaluating each of these tools based…

LastPass has a lot of egg on their face from a recent data breach.

I moved off of their service because I could no longer trust it.

Re: Ask HN: Secure and simple way for secret/credential management in a startup?

#27
You can check this articles that might be useful for your question:

1) Make the perfect pitch for your startup: https://www.ratherlabs.com/post/how-to-make-the-perfect-pitc...

2) Network Effects: https://www.ratherlabs.com/post/network-effects-how-can-it-i...

Re: Ask HN: Secure and simple way for secret/credential management in a startup?

#28
My experience is similar to the other comments here:

- A combination of sops[1] and AWS Parameter Store might be a good candidate for (4)

- (5) can be solved with AWS SSO / OIDC (also: platforms that offer OIDC, usually support that feature for free, and a variety of them can be configured via Terraform)

- For (6), there are solutions like Atlantis[2] for Terraform, but I am not familiar with alternatives for Pulumi and Ansible. Might be a good idea to spend some time and build a pipeline with whichever CI/CD platform you are using (bonus: GitHub Actions supports OIDC auth with AWS as an IAM role[3], no secrets nor credentials required!)

- For (7), you can create a separate AWS account and manage it with AWS Organizations (or not)

- For (8), 1pass[4] for any credentials that requires username/password combo (non-tech/breakglass account). Groups can be created to limit certain credentials to subsets of users

[1] https://github.com/mozilla/sops

[2] https://www.runatlantis.io/docs/repo-level-atlantis-yaml.htm...

[3] https://docs.github.com/en/actions/deployment/security-harde...

[4] https://support.1password.com/custom-groups/

Re: Ask HN: Secure and simple way for secret/credential management in a startup?

#29
Hello,

At my current gig we're using doppler[^1] (no affiliation) for application secrets. We're using doppler with their kubernetes operator which supports auto-rotation on secrets. Secrets are set as "env variables". So far, doppler has not suffer big outages or we did not notice, because the operator will keep working even if their API is down - of course you won't get updates. Access control could be more _fine grained_ and they added secret auto-rotation option recently[^2]. We don't use that yet.

I've been a happy 1Password user (no affiliation) and we use it company wide to share user secrets. 1Password support CI/CD integration IIRC, so in theory should cover most use cases.

If you can pay for AWS Vault, the terraform integration comes out of the box. However if you're a small team running vault might be a daunting task and you're inserting another SPoF.

There are many open source application secrets tools that you could check out though. In the past I had great experience with credstash[^3]. Credstash is a really simple and secure open source solution that is based on AWS KMS, IAM and DynamoDB. Costs pennies to run for medium size deployments. Once you setup and document the way to use it, it's really easy. The downside is that as a tool is pretty _raw_ you have to build things like "secret generators", etc. But combined with a slack bot can be a really powerful, secure, cost-effective self-hosted solution that doesn't require maintenance (as opposed to solutions like Vault).

If you have specific questions about any of the above tools feel free to drop an email. I'll happy to answer questions.

[^1]: https://www.doppler.com/

[^2]: Auto-rotation is complicated because you need to integrate the auto-rotation with external tools yourself most of the times. There are Hashi-Vault modules for SQL DBs but not for Mailgun or CloudFlare for example.

[^3]: https://github.com/fugue/credstash

Re: Ask HN: Secure and simple way for secret/credential management in a startup?

#30
post #12
post #5

Hashicorp Vault. Checks all your boxes, I think. Or for something more lightweight (though it sounds like you're just about getting to the size where something more instrumented is worth it), you can have a git repo with secrets encrypted with individual keys. (git-secret and pass are two of the more popular ones here) > 8. Bonus: How to manage non-technical secrets, e.g. credentials for web shops to order supplies?…

Warning to anyone interested in Vault. Vault policies involve a learning curve. Maybe they have improved documentation and examples since I learned Vault management but I remember how complicated and time consuming it was.

For a small team I wouldn't go there. Except if the product requires a higher level of security and we have no money to spend on the SaaS or self-hosting is a requirement.
Post reply on HN