Protect domains that don’t send email
gov.uk
gov.uk
I generally try to make sure they all redirect back to my site, but I’ve never even thought to do anything with incoming mail and certainly never with outgoing. As soon as I read the title it clicked, it’s obvious, but it’s never occurred to me...
dmarcian does a great job of helping you make sense of these by grouping all of the traffic by sending source and then letting you drill down for more details. There's also a cool "TMI Mode" on the SPF checker if you have an account that will use the traffic from your DMARC reports to show you which parts of the record it's associated with.
Each sending source (Google, Sendgrid, Mailgun, Mailchimp, etc) needs to be verified for DMARC alignment. Alignment is important because you can pass DKIM using a domain that's totally different than the one that the message claims to be from. DMARC alignment addresses that gap.
* Disclosure, I work for dmarcian
We’d love to have you try us out again.
I wonder if the systems that generate the DMARC reports could be set up to keep historical data for domains with DMARC shut off. When DMARC is turned on, domain owners would be able to see what has been going on without them knowing.
It might be a bit of a shock to some. I learned a lot from my first report.
I don't work for them and am actually a new customer, but getting your domain safe from a DMARC perspective SOUNDS easy until you realize you do want SOME people "spoofing your emails". Mailgun, SendGrid, Greenhouse, Shopify, Google Calendar, etc.
We live in a world where our companies outsource a lot of the logic and many send emails on our behalf so to discern between that and "spoofing" takes some config that DMARCian was super helpful with.
I'm just a happy customer and wanted to share!
I also tried the Mimecast one but it was no better than MXToolbox and significantly more expensive.
A couple of years ago I pointed them at /dev/null. I considered rejecting them but that would not be compliant.
Certainly there are protocols where you might be required to accept an option or configuration value you can’t implement and so simply discard it. Perhaps some QoS request for example. Or termcap info for cursor movement when all you do is act like you’re talking to a printing terminal.
I've seen issues where people weren't able to communicate with customers because someone's running a mail server that rejects email based on the RFC-Clueless RBL or its predecessor, RFC-Ignorant[0].
I've never in history seen postmaster@domain every receive anything but spam, and I have seen it receive so much spam that I would never identify a legitimate email amongst the screens full of junk if one ever did arrive.
> ...organizations which support email exchanges with the Internet are encouraged to support AT LEAST each mailbox name
These recommendations are all for domains that don't run mail servers. If you do have a mail server, then yeah it is best practice to have those present but these recommendations won't apply to you.
EDIT: My reading of the RFC is that an absent DKIM record is a PERMFAIL [1], exactly the same result as a record with an empty p=. Exact quote:
"There is no defined semantic difference between a key that has been revoked and a key record that has been removed."
[1] https://www.ietf.org/rfc/rfc6376.txt, section 6.1.2
Registrars _should_ be doing this by default IMO.
Within a few years we've severely reworked how HTTPS certificates work (max validity period, signature algorithms, etc) and the world hasn't ended, so maybe mainstream e-mail providers should do the same with e-mail?
This would force everyone else into compliance, and unconfigured domains will no longer be a problem because the lack of SPF/DKIM would automatically fail any authentication across the board.
E.g., I don't think sendgrid/mailgun/gmail check that they are allowed by the SPF policy to send emails from a domain, when you add a sender address. Worse, some APIs don't require you to set up sender addresses ahead of time, you can just set it in the "send email" API call, which makes it easy to unknowingly send emails that are blocked by your own policy.
DMARC would allow you to find out, but I'm not sure how many people have configured reports, apart from those whose whole business is email.
I don't know what standard might be relevant, but the lack of SPF will kill your inbound reputation for gmail. You'll be lucky to even get beyond MAIL.
That's specifically why I wish registrars would do this because it's not a big deal for new domains with no existing real mail traffic.
DMARC enforcement is getting a lot more recent momentum toward becoming an expectation, it's just a long play.
The moment that Google or Microsoft decide to send any mail that doesn't pass DMARC to spam will be the moment where it's a defacto requirement.
Breaking them intentionally will definitely cause mail delivery problems for anyone trying to spoof emails coming from those domains.
P.S. There are also files for other services too, feel free to checkout. Some CF employees are also among stargazers, feel free to star if you like it too :)
1: https://github.com/irazasyed/dns-zone-files/blob/master/file...
I'm trying to understand how to implement DMARC SPF and DKIM myself but all I can find online is content marketing from SaaS services.
I only did find this on how to add DMARC SPF and DKIM to AWS SES: https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-e...
If we did make this "you don't intend to send email if you don't have the secure-origin records" assumption, how much would that break email as a system? What old email servers are sitting around sending unsigned mail, that we want to protect/preserve the functioning of (in the same way we keep Internet-realm HTTP transport around in browsers to preserve access to old HTTP-only Web1.0 servers?)
It may need to be in a few steps. The first step might be, for a 5 year period, mail clients display a warning saying the sending domain doesn't have the correct SPF records. Then after that, those mail clients dropped those emails.
Overall, the cleverness of the OP solution is that it uses to current system to make the next iterative step in solving the problem in a backwards compatible way.
If we could break backwards compatibility, I think we can solve a large number of issues with email wholesale.
forbid - all mail is forbidden regardless of DMARC alignment
I see a lot of broken SPF records where instead if ASCII hyphen (-) some other symbol is used e. g. en-dash (–) or em-dash (—). Probably admins just copy-paste an examples from a web pages like this.
However, I wish they went further to have none of this vague GCHQ cyber security nonsense but laws with teeth and a clued up police force so that the UK was a very attractive place to do business. If the UK was the best place to host your stuff because hackers got themselves prosecuted instead of let off then this would be a good thing.
This could also cut both ways so that if you didn't have things like DMARC for email then they would close you down.
I know this would not be for everyone but you could always host elsewhere. The internet could go the way of shipping where a 'Liberia' domain meant you didn't care whereas a '.co.uk' flag on the internet 'seas' meant you were afforded the protection of the 'Royal cyber force'.
Some additional helpful info in this answer: https://serverfault.com/a/714070/53160