DNSSEC quietly changes the behavior of resolvers even before we get to signature checking — they stop honoring CNAMEs at zone apexes. Even before you push the DS record that “links” your zone to the USG’s PKI. Of course! Who would think otherwise.
Does that DS record get cached by resolvers or not? Who knows! Nobody uses DNSSEC, so if you’re Slack, you have the fun project of being the one of the first serious sites with a modern DNS configuration to actually turn it on. Whee!
What would a 1990s crypto protocol be without several different types of keys each with different key storage? You thought the KSKs and ZSKs were both recoverable, so you could re-sign after pulling your DS? Nah.
My favorite bit here is the hour(s) during which the Slack DNS team is trying to figure out whether pushing a new DS to link Slack.com back to the USG PKI will mitigate the disaster or prolong it. NOBODY KNOWS.
Oh, and apparently Slack is the first company ever to attempt DNSSEC on AWS with wildcard records, which we surmise from the fact that wildcard records break when DNSSEC is enabled at AWS.
A day-long outage, and why? Because a USG FedRAMP document suggests it’s required. Meanwhile here’s what Cloud.gov has to say about DNSSEC (tl;dr: don’t): cloud.gov/docs/complianc…
Coda: they still haven’t re-enabled DNSSEC.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Back in the late 1990s when I was writing the OpenBSD security advisories, I used to include a line that said “The OpenBSD Project would like to thank Perry Metzger for his steadfast support of our work”, until he threatened to sue me.
Today is the deadline for questions to be added to the 2021 Oak Park village ballot and one of our anti-defund trustees just slipped a resolution to add “Should Oak Park defund its police department” to the ballot.
If that question hits the ballot it will almost certainly fail _dramatically_, so the pro-defund trustees basically have to vote against it. It’s probably too late for them to introduce a competing resolution with friendlier wording, too.
I don’t like the trustee that did this but I have to concede this was well played: defund supporters are going to end up voting against a measure to put the question to the voters in plain language, thus effectively conceding the unpopularity of the slogan.
Why does the Go standard library think an rcode of REFUSED is a temporary error of “server misbehaving”? I just REFUSED you.
(The Go stdlib appears to reconnect a _bunch_ of times on REFUSED, is why we noticed; switching REFUSED to NXDOMAIN fixes that problem.)
Another weird thing is that the Go stdlib flips out if there’s no Question record in an error response — it claims not to be able to unmarshal the message, doesn’t show the rcode, and reconnects.
This is extremely cool. The basic idea: WireGuard is just a network protocol, like any other, and you can drive it from unprivileged userland code… which means you can drive all of TCP/IP from unprivileged userland code, through WireGuard.
Why would you ever want to do that? Well, we expose services on Fly.io over WireGuard (and, for security, over no other interfaces) but not all of our users are going to install OS WireGuard.
But: all of our users have our (Golang) `flyctl` installed, and flyctl can do WireGuard via wireguard-go, and then userland TCP/IP, to be a client of a network service exposed over WireGuard, without installing WireGuard itself.
Illinois makes it super easy to send FOIA requests to any municipality (just look up their FOIA officer’s email); it’s free, and they get just 5 days to respond (10 with a written extension) before you can sue and have them pay your legal costs if you win.
What I’m saying is, not a crazy project to just come up with every police officer in all of Chicagoland who took PTO during the riots in DC.