|
|
|
|
|
by hbrn
1250 days ago
|
|
What's sad is that despite it's current state, secret management has still managed to turn into a cargo cult. It's a "best practice" that people blindly implement without thinking. But secrets are next to useless if they are: - not used to limit number of people that have access to them (it is quite typical in small teams to give everybody access to production, which essentially gives you access to keys) - not regularly rotated (at the very least when a person that had access to them leaves the company) And rotation is hard: a lot of systems still don't support multiple keys, so rotation has to be very carefully tied to some form of blue-green deployment, which is often not possible. |
|
To maximize security you need to treat secrets as being cheap. In fact they need to be disposable.
In theory any time a system needs access to that database you could have a process that creates an entirely new user just for that session, with a random password - and, bonus, only the permissions that that particular client needs.
If that secret gets compromised, no biggie - you can destroy that user account and the credential will never work again.
Secret rotation is a related approach, but again - if your rotation frequency is ‘quarterly’ rather than ‘hourly’, is there a good reason for that, or have you again just assumed secrets are expensive?