News for hackers. Stuff that matters.

drablyechoes

Re:Dockerfile Security Best Practices on Wednesday October 14, 2020 @11:36AM (#24777790)
We use `sops`[1] to do this and it works really well.

There is a Google Cloud KMS keyring (for typical usage) and a GPG key (for emergency/offline usage) set up to handle the encryption/decryption of files that store secrets for each application's deployment. I have some bash scripts that run on CI which are essentially just glorified wrappers to `sops` CLI to generate the appropriate `.env` file for the application, which is put into the container by the `Dockerfile`.

Applications are already configured to read configuration/secrets from a `.env` file (or YAML/JSON, depending on context), so this works pretty easily and avoids depending on secrets being set in the `ENV` at build time.

You can also, of course, pass any decrypted values from `sops` as arguments to your container deployment tool of choice (e.g. `helm deploy foo --set myapp.db.username=${decrypted_value_from_sops}`) and not bundle any secrets at build time at all.

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

Re:Adult site leaks data of cam models on Thursday January 16, 2020 @12:10PM (#22066493)
The moral, legal and technical imperative to protect this data is 100% on the company storing this data. Even if the onus of protecting sensitive personal information were passed on to the performers making a living from this site, they would still need to show their full legal name on a redacted ID (which makes finding the address trivial).

The owners of this site should be ordered to pay restitution for the damages it has caused to all the performers impacted by this leak. If there are no consequences for things like this, companies will continue to be poor custodians of sensitive data that we entrust to them. The most vulnerable people in society will, as usual, suffer the greatest harm.

Re:Why Didn't Plan 9 Succeed? on Thursday July 25, 2019 @03:02PM (#20528352)
A lot of concepts that originated in plan 9 have been widely adopted by modern unix-like operating systems, most notably the /proc file system, so in a certain sense I would say that it was a successful project.

Lack of applications, drivers and compelling use cases ultimately caused the project itself to fail. It was also competing against operating systems with huge commercial backing that already had deeply entrenched market share.

Presumably because they do not want huge segments of the human population to die because they are unable to afford access to the literally most basic necessity for life on this planet.
Maintaining your own email infrastructure is a security nightmare on its own right, you are probably better off using Gmail and just GPG encrypting everything unless you really know what you are doing and have a surplus of free time.
Re:How to lose $172k per second for 45 minutes (2013) on Monday April 01, 2019 @12:39PM (#19545190)
Way too common. So many clients I've dealt with have a deployment workflow that is some variation of this.
Re:Why are monoidal categories interesting? on Wednesday March 27, 2019 @03:38PM (#19505076)
Fun fact: a monoid is a category with one object.
Amphetamines (used to treat ADHD and narcolepsy) and Benzodiazepines (used to treat anxiety disorders) are both well-known to be addictive. Benzodiazepines in particular can have fatal withdrawal symptoms if a patient quits them cold turkey.

SSRIs and SNRIs both have horrible withdrawal symptoms and can take months for patients to taper off if they decide to quit or change their meds.

SSRIs and SNRIs do not really meet the threshold for being considered addictive, however, since they do not induce any kind of euorphia, intoxication or immediate relief of depressive/anxious feelings.

Amphetamines and Benzodiazepines have a much higher potential for abuse, which is why prescriptions for them are carefully monitored by drug enforcement agencies.

In my experience, the sense of "enlightenment" that came from experiments with psychedelic drugs arise from the realization that a very small quantity of chemicals (a dose of LSD is measured in millionths of a gram) can have such a profound effect on your perception of reality and sense of self-awareness.

That said, psychedelic drugs do not inherently bring the user to any kind of spiritual discovery or intellectual awakening. The path to enlightenment requires one to make the conscious choice to continue down it on a daily basis and the self-discipline to not get stuck in the murk and mire.

Drugs are just one of many tools available to facilitate meditations on the nature of being.

Unsurprisingly, however, hallucinogenic drugs are likely more often used as a distraction from reality. This is certainly a valid use-case for many people, but it does not have anything to do with enlightenment.

Some people have underlying neurological issues that can manifest in teenage/early adulthood years independently of drug use, although use of psychedelic drugs does tend to exacerbate such problems.

It is possible the drugs permanently changed this person. It is also possible the drugs merely accelerated what would have happened regardless.

For most people, psychedelics are indeed pretty harmless.

The real difference is that a cancer diagnosis is probative (based on measurable, detectable underlying physical pathology) whereas a psychiatric diagnosis is not.
I think a big part of "mathematical maturity" is knowing how important it is to have someone else look over your proofs.

Of course you can learn a ton on your own by reading and working exercises and doing research, but there is no substitute for collaboration.

Mathematics is inherently a social activity, even if the bulk of it can (counter-intuitively) be done in relative solitude.

It is really hard to truly self-study in mathematics. Going through the opencourseware and reading textbooks (working as many exercises as you can, of course) will get you only so far. It is important to have someone (ideally with a PhD-level education in mathematics) who you can meet with to guide your study, correct mistakes and answer questions.
Topics to study should include: Unix IPC, signals and syscalls, filesystem and kernel implementation details, and network/socket programming.

Being able to read and write C programs goes a really long way.

Beej's guides are a good resource. I learned a lot from them.

Guide to network programming: https://beej.us/guide/bgnet/html/multi/index.html

Guide to Unix IPC: https://beej.us/guide/bgipc/

The Unix Programming Environment (Kernighan & Pike) is also very good.

http://files.catwell.info/misc/mirror/the-unix-programming-e...

A good exercise would be to write a simple IRC-like chat server and client in C.

Re:Why We Need Dynamic Secrets on Wednesday September 12, 2018 @01:56PM (#17971278)
There are also excellent free and open source frontend interfaces for vault that are out there, such as vault-ui and goldfish. We have used both at my org, since the HashiCorp enterprise pricing is unfortunately not within our budget.
Re:Why We Need Dynamic Secrets on Wednesday September 12, 2018 @01:53PM (#17971239)
You can also set up vault to encrypt each shard of the root key with the GPG pubkey for each administrator before dumping them to output. This way, plaintext shards of the root key never even touch the disk or otherwise come into view of anybody other than the intended recipient.
> Users won't care whether or not they are using something decentralized

This is a good point, and it is demonstrably the case even among cryptocurrency users who have a coinbase wallet. Coinbase is not decentralized, and for a lot of users this is actually a nice feature because you can transfer BTC balance from one coinbase user to another without incurring any miner fee or waiting a long time for confirmations.

If most people who wanted to use bitcoin actually cared about decentralization, coinbase (and other similar services) would have virtually no users.

There is more than one way to construct a synthetic identity, but in most cases that I've been aware of, a stolen SSN is used to construct the totally fake identity.

Using a completely fake SSN instead of a stolen SSN is what distinguishes "synthetic identity theft" from "synthetic identity fraud".

The identities in both cases are completely fake, but only in the identity theft case is the synthetic identity backstopped by a legitimate SSN that belongs to a real person somewhere. If that real person is a child or "off the grid", then the CRAs have no idea who the real person is and their SSN is ripe for creating a synthetic identity that will probably go undetected for years.

The SSN of someone "off the grid" would actually be perfect for doing what is called synthetic identity fraud. If a given SSN has no credit history, you can make up a fictitious person and apply for a credit card with it. The application is probably declined, but a record of this SSN associated to a completely fictitious identity now exists in the credit reporting agencies databases, which makes it more likely that a future credit application will be approved.

If there is no other identity using this SSN, then the likelihood of the fraudulent activity being dectected is low.

This is why SSNs belonging to elderly people, children/teenagers, and the recently deceased are of relatively higher value for a lot of people out there doing identity fraud.

It is also worth noting that agriculture itself (especially in the developing world) is a major contributing factor to climate change. Governments in these countries are either unable or unwilling to protect their natural resources, huge patches of rainforest and jungle are being destroyed to make room for more farm land and/or harvested as timber.

So we are losing huge forests (which help to reduce carbon dioxide in the atmosphere by simply existing) at an unprecedented rate and we are producing more emissions by developing this land for agricultural use.

Re:JavaScript Isn't Scheme (2013) on Thursday April 26, 2018 @09:01AM (#16931454)
Heh, I have been writing "crappy scheme" in Perl (and more recently JS) for years. Perl is actually kind of nice to use as a functional programming language, once you get used to thinking of it as such.

"Higher Order Perl" is a great book and I still refer to it as a general reference for FP concepts and techniques.

The last time I used pine was sometime in 2012 or so, then I switched to mutt. This was how everybody was doing it in that particular organization, for some reason. The only way to check your mail was to ssh into some ancient centos server, and the only mail client available on it was pine.

Mutt is much better. If I did a lot of emailing, or needed to use gpg to sign/encrypt emails more often, I would probably still use it.

Re:The Makefile I use with JavaScript projects on Wednesday February 28, 2018 @03:49PM (#16486753)
I have used Makefiles for a lot of little things over the years. One of the latest things I have found it useful for is automating deployment of websites via Jenkins jobs.

It is a lot easier and more manageable if your Jenkins job is set up to just run a series of generic Make commands for a project, where any specific steps for a particular project are defined in the Makefile.

This way I do not need to know or care about how any particular project or site is built when configuring the job to deploy it. The Makefile takes care of all that.

Re:Men Are the New College Minority on Wednesday February 14, 2018 @02:27PM (#16378549)
Perhaps it is the case that women are just smarter and find education more appealing than their male peers, in aggregate.

Access to higher education for women is still a relatively new thing, historically speaking, so why is it even surprising that the demographics continue to change?

Re:Show HN: A site to look up DNS records on Thursday October 26, 2017 @07:03PM (#15564019)
There is even a tool for this called dnsxss.
Re:Show HN: A site to look up DNS records on Thursday October 26, 2017 @06:51PM (#15563936)
I suspect it would work the same if the script was stored in a TXT record for a domain being queried.
Re:Show HN: A site to look up DNS records on Thursday October 26, 2017 @05:11PM (#15563045)
Vulnerable to XSS.

<b onmouseover=alert('XSS')>click me!</b>