I'm on a killing spree of BS technology giant companies force on us. For weeks I've been "cleaning up CSS" by simply using flexbox and CSS grids for layout. Today, I want to rant about DMARC, DKIM, and BIMI as my next BS standards topic:
I recently had Sendgrid shutdown my email for a week without telling me because one single "malicious email" apparently went through their servers, even though they couldn't prove it or provide any logs. I then tried SocketLabs, and they went down for a whole day for no reason.
That means I'm going to now try to do my own email hosting and comply with all the following standards as best I can:
1. SPF 2. DMARC 3. DKIM 4. BIMI .... whatever that is.
I'm using the tool mxtoolbox.com to help me diagnose the configuration.
MxToolBox has a very clunky UI, but it does actually work. It's pricey, but in theory if I get everything fixed then I don't have to keep paying them money unless I want their monitoring. What they do is fairly simple:
You add a CNAME record to one of their DMARC enforcement servers, they then collect all of the failure emails and report back to you what's failing. They also give you diagnostic tools with *real DNS* record changes to make, not suggestions. You copy-paste the SPF/TXT straight.
This one feature is huge because the #1 reason why all of these standards are so difficult to implement is it's impossible to find out what is failing, why it's failing, and how to fix it. I'd say the only reason SPF/DMARC aren't used is just debugging them is impossible.
What I couldn't understand though is why DMARC and DKIM exist at all of we have SPF. I tried *real hard* to find a legit reason that explained the security advantage and it's usually a tautology of "people get SPF wrong" or "SPF doesn't work with forwarding". What?
You see, debugging SPF is nearly impossible without something like what MXToolBox is doing. You need an email address where failures go and a way to report on them with what to set in the SPF. People get SPF wrong b/c GMail won't tell you how to fix it.
SPF is a simple TXT record in your DNS that basically says "the only IPs allowed to send email from X domain are Y, J, K". It's not technically that difficult.
DMARC though, is nearly the same thing with more requirements, so ... it doesn't solve the problem of "SPF too hard".
Not to mention, getting DKIM to work is also nearly impossible without a lot of debugging help. There's no way TWO more complicated solutions to SPF solves the """problem""" of "SPF is too hard". What's the real reason then?
That little thing "forwarding".
I read that at first to mean "I send an email to Mary and she forwards it to Joe? WAT? That doesn't require SPF check. It's from the other server as a forwarded MIME message with attachment or inline."
Hahaha, no no no silly dude, they mean GSuite handling your email for you.
You see, DMARC and DKIM make it so that that GSuite can do the email for your domain without Google having to also manage your DNS, and provides GSuite with vendor lock-in since the configuration is a pain and changing email providers can be devastating to delivery.
When they say "fowarding" they man that GSuite can take over your email, and using DKIM and DMARC, blast emails on a randomly supplied set of IPs that Goggle administers. Without this they would have to update your SPF/TXT record, and I suspect open them up to *you* spamming.
DMARC/DKIM seem to really only exist for two purposes:
1. It allows a hosting provider to masquerade as another domain and send their emails, without the other domain utilizing their resources.
2. Adds complexity that keeps out competitors and restricts small server setups.
For example, I have one postfix server that handles the email for one of my domains. If I set the SPF record to say only that server sends email, and GMail confirms this, then that should be the end. No need for anything else as to spoof that someone would have to hack DNS.
If you think "hacking DNS is easy", remember that DMARC also uses DNS, so it gives no security advantage over SPF.
SPF could also easily have added the "report abuse here" parts of DMARC and we'd then be done.
Buuuuuuut, Google and friends don't like this.
By adding *THREE* whole technical standards and *not* providing any diagnostic tools, you are very motivated to use a service that handles these for you. I was. It's nearly impossible to get all three right without some help. Here's an example about why:
All of my machines have IP4 and IP6 addresses. I setup my email servers to bind to the IP4 port, BUT, everyone who writes network software is a corporate tool, so they will randomly use both addresses to send. I now have to add 2 addresses per host to my SPF...oh but..wait..
IP6 machines randomly have two IP addresses or more. Link/Local, Link/Global, older machines list one, some name them differently. It's incredibly difficult to figure out what IP6 address postfix will use too. I was seeing all of them at random *after* I enabled mxtoolbox.
That's just a small problem with just IP addresses. Then throw in DNS issues, off-brand cryptography, attempting to sign email contents and headers which get modified in transit, and multiply by 3 ... oh 4 now that BIMI is a thing, and you get $$$$$ for email providers.
I'm going to bet you hard cash money that Google and friends had these solutions already written, then went in and just got the standards written to match their tech without sharing any of it. Hmmmm, this sounds familiar....
WebDRM has a similar story of Google and a few players already having DRM technology (Widevine), and writing a half-assed standard to force on everyone so that basically we all have to use 1 of 3 already working technologies.
But as I do this I'm totally thinking there needs to be a simple SPF/DMARC/DKIM manager/tester you can add to any email server. Think "spamassassin milter for DMARC".
In my fantasy, you'd do this:
1. Setup your mail server 2. Setup DMARC-DEBUG milter. 3. It grabs failed emails and generates reports for your web server. 4. You copy-paste and follow the report's advice until DMARC-DEBUG stops complaining. 5. It notifies you when things change.
Finally, what is BIMI? I think all you need to know is these companies are behind it, so it's all about grabbing more of your email dollars, and not about stopping the marketing email you irrationally hate while you happily scroll through Twitter/Facebook/Insta ads all day.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
And "all day" means "12 hours non-stop". I'm just going to say all these OpenWorld Crafting Survival games are research. Uhhhh yeah, research 'cause I have no idea how they are so addicting. Some ideas:
So far I've played hundreds of hours in:
Subnautica (both versions)
The Forest
Windbound
Breathedge
No Man's Sky
Subsistence
Stranded Deep
Grounded
They all have particular elements that make them nearly impossible to stop playing which are very similar to gambling.
I'd say the three elements that make the games appealing--not necessarily addicting--are:
1. Open World allows for adventure and exploration plus an amount of fear. 2. Survival adds a game mechanic that doesn't require complex or many enemies. 3. Crafting gives leveling up.
It's *almost* the CSS debugging tool I want, except for one glaringly obvious flaw.
First, here's a demo of me using it to analyze and mess with my Twitter page:
Now, I'm going to try to adjust the padding on some elements. Notice how it seems like I'm having trouble getting anything to move, and then the page reloads and goes somewhere weird? That's because it uses the keyboard for adjustment.
I started playing Stranded Deep a few days ago and it's a really nice survival simulation, but suffers from the same clunky joystick controls that Subnautica, Windbound, and Astroneer all have. I think I've pinned down what's going on with these games and mouse vs. joystick.
When they develop the controls for the mouse they treat the "scene" as simply a flat projection, so whatever you can see can be picked up. I've picked up things an estimated 4m away with my hand using the mouse, and I can grab things when the mouse is nowhere near the object.
Meanwhile, with a joystick, I have to be within a realistic 1m range of the item, and put the tiny little dot exactly on it or nothing. This means it's entirely the programmers penalizing the joystick with "realism" and nothing to do with the joystick's motion abilities.
Continuing my self-eduction on using just flexbox/grid to do layouts, I did a quick replica of Google's main page. It's the simplest one. Here's the outcome, the tags, and the CSS. But wait, there's more!
You think, "So what, you replicated the simplest page possible." Yes, but, that single .svelte file's layout adapts so that it works as either a full page, or *a panel component* without modification. Flexbox allows you to make adaptable components much more easily.
All I did to make that work is this code. Import the Google.svelte, put the <Google/> tag, and done. That entire page flexes right into the space I gave it in the grid layout without modification.
Not sure how useful that is for a whole page, but great for other things.
They can't explain to me exactly how my account was accessed without 2FA being bypassed. I changed the password and delete all the API keys just to make this dude shut up about it and finally tell me, but here's what they're saying and why it's weird:
1. A single "malicious" email was sent from one of my servers to Sendgrid's servers. They want me to rotate my API keys, but, if the email came from my server, then rotating the key won't matter because that means the server was hacked.
2. They seem to be confused about how their own API keys work. They are saying someone got my API key, and sent a malicious email. Then...it would come from a different IP and not my server. If they say it's from my server, then...my server has been compromised?
I'm going to show you a technique I've been using to help with CSS work. I put a <nav> in the footer so that I can make the icons on the right in this screenshot go full to the right, just like in the header. It's currently not doing that, but why?
The main difficulty with CSS development is the tools for seeing the shapes of things are too hard to access. A better solution is just add a 1px red border:
Easy, now I see that it's just not full width, so add in width:100%, but keep that red border because that might not work because it's CSS and there's always a 48.5% chance nothing you do works.