Diogo Monica
diogomonica.com · Personal blog · on HN since 2013
Diogo Monica is a security engineer who writes about secrets management, infrastructure security, CSP, and passwords.
What HN saysHN commenters cite his post against storing secrets in environment variables as the standard explanation, and link it when others ask why that is a bad idea.
24HN people shared it
9linked it in comments
24stories submitted
950story points
4 years agolast shared
2013people per year2026
Most-shared posts
- 1Don't use ENV variables for secret data (2017)9 people · 125 points · first shared 2017 · 140 comments on HN
- 2Bot wars - The arms race of restaurant reservations in SF3 people · 166 points · first shared 2013 · 159 comments on HN
- 3Crypto Anchors: Exfiltration Resistant Infrastructure3 people · 142 points · first shared 2017 · 57 comments on HN
- 4A Pirate's Take on Strategy vs. Tactics2 people · 155 points · first shared 2018 · 43 comments on HN
- 5Creating a CSP Policy from Scratch2 people · 6 points · first shared 2015 · discussion on HN
- 6Build once run where? Migrating my blog to hyper.sh2 people · 1 points · first shared 2016 · discussion on HN
- 7Increasing Attacker Cost Using Immutable Infrastructure1 people · 110 points · first shared 2016 · 36 comments on HN
- 8Password Security: Why the horse battery staple is not correct1 people · 89 points · first shared 2014 · 90 comments on HN
- 9Hitless TLS Certificate Rotation in Go1 people · 84 points · first shared 2017 · 10 comments on HN
- 10Why should hard be secure enough? Information and non-invertibility1 people · 58 points · first shared 2017 · 46 comments on HN
- 11A Pirate's Take on Command vs. Leadership1 people · 6 points · first shared 2019 · discussion on HN
- 12From F to A+: Getting Good Grades on Website Security Evaluations1 people · 3 points · first shared 2015 · discussion on HN
- 13Password Security: Why the XKCD horse battery staple password is not correct1 people · 2 points · first shared 2018 · 2 comments on HN
- 14Skynet (beta): The rise of the Beam robot1 people · 2 points · first shared 2013 · discussion on HN
- 15The Two Metrics That Matter for Host Security1 people · 1 points · first shared 2017 · discussion on HN
What HN people wrote when they linked it
digisign · 2022-06-24
Some reasons:
- https://diogomonica.com/2017/03/27/why-you-shouldnt-use-env-variables-…
- https://blog.forcesunseen.com/stop-storing-secrets-in-environment-vari…
They both recommend mounting them into a tmpfs, and then unmounting, but I've not yet tried this.
xyzzy123 · 2021-04-03
To protect "sensitive, low-entropy data", the main things I've seen people do are encryption, tokenizing, or anchored hashing. I'm certain there's a bunch of academic work out there I'm not across so I'm writing from the limited perspective of "things I've seen people do in industry".
The best thing to do tends to depend on how you need to use the data, exactly.
With hashing alone there's just no reasonable cost function that will provide (say) 1 year of security in the event of database exfil, but also not DoS your service computing it :/ The problem is being offline-attackable.
Encryption is one possible answer and I think most HNers understand the tradeoffs. Generally the less transparent it is, the more effective it is. Volume encryption or transparent database encryption are good to turn on, but don't protect you much. Keys available at application level only (let's say some fields are KMS'd) are better and will be of use under common failure scenarios (SQLi / DB exfil). You still have to get key management and application security right though and it turns out those are hard to do at scale. Your encrypted fields will also not be efficiently searchable unless you are using deterministic encryption.
The tokenize pattern replaces sensitive data with a random value which is mastered in a centralised, controlled service. This really only makes sense if you can set things up so that almost all operations can be performed using the token.If you allow too many things to…
Ardeof · 2014-10-12
"we just can't memorize unique, strong passwords, for every single on-line service out there"
... right. Apparently we don't speak in a language with an absurd amount of subtle differences that need to be remembered (one example is punctuation, and all the subtle rules with punctuation as well). We also apparently don't memorize other things such as face recognition, navigation, mathematics, physics, x amount of movies, actors, actresses, favourite foods.
Unfortunately, according to the article, we can't remember around 50 to 100 twenty digit passwords with pieces of singular information we already have memorized.
The article looked promising, oh well.
Also, the article is supporting password managers. Which is the equivalent of thinking that a smart idea would be to basically archive all of the password information into one tiny little hackable program.
Yeah, great plan. Is this really coming from someone with these kind of credentials?
https://diogomonica.com/about/
malandrew · 2013-08-05
This blog posts offers absolutely nothing new relative to what was in Diogo's original post [0] and accompanying previous discussion [1]. In fact it offers less since it doesn't include the original scripts Diogo used.
I (and I'm sure many others) would love it if there were some way for moderators to aggregate all upvotes for related articles that don't offer substantial new information or commentary on the original article instead.
It's pretty clear that a lot of journalists troll HN and related sites, find human interest stories that strike a nerve with the HN community, then write a blog post rehashing the same content without really adding anything new. It's a simple recipe for getting karma and page views that cheapens the experience here on HN. This type of journalistic pablum should not be rewarded with karma or attention.
[0] https://diogomonica.com/bot-wars-the-arms-race-of-restaurant-reservati…
[1] https://news.ycombinator.com/item?id=6101161
b0afc375b5 · 2021-04-01
Oops, I've been putting secrets in environment variables since I can remember. Your comment piqued my curiousity on why this is a bad idea.
Found this:
https://diogomonica.com/2017/03/27/why-you-shouldnt-use-env-variables-…
https://security.stackexchange.com/questions/197784/is-it-unsafe-to-us…
insomniacity · 2018-03-17
You can get most of the way there though: https://diogomonica.com/2017/10/08/crypto-anchors-exfiltration-resista…
mrmrcoleman · 2017-02-19
TL;DR: Move from Digital Ocean to Hyper.sh and run the same blog in a container for $3.69 per month.
--
If you'd rather run you applications as Docker containers take a look at Hyper.sh.
Diogo Monica describes the process nicely here: https://diogomonica.com/2016/12/03/build-once-run-where-migrating-my-b…
Pricing details are here: https://hyper.sh/pricing.html
diogomonicapt · 2017-01-11
Author here, I actually added a footnote exactly because of that fact: https://diogomonica.com/2017/01/11/hitless-tls-certificate-rotation-in…
_delirium · 2013-08-05
Original source, from the previous discussion: https://diogomonica.com/bot-wars-the-arms-race-of-restaurant-reservati…
The siliconbeat.com article here just seems to be a reblog/summary.