HackerTrans
TopNewTrendsCommentsPastAskShowJobs

awulf

no profile record

Submissions

RFC 9989: What's New in the Latest DMARC Specification

dmarcchecker.app
4 points·by awulf·2 miesiące temu·0 comments

DNSSEC and Why It Matters for Email Security

dmarcchecker.app
2 points·by awulf·w zeszłym roku·0 comments

Cracking a 512-bit DKIM key for less than $8 in the cloud

dmarcchecker.app
799 points·by awulf·2 lata temu·408 comments

Most Common Errors in SPF Records

dmarcchecker.app
1 points·by awulf·2 lata temu·0 comments

SPF, DKIM, and DMARC in 2024: Analyzing the Top 1M Domains

dmarcchecker.app
3 points·by awulf·2 lata temu·0 comments

Show HN: DMARC Checker

dmarcchecker.app
70 points·by awulf·2 lata temu·21 comments

comments

awulf
·w zeszłym roku·discuss
I built a free DMARC/DKIM/SPF checker: https://dmarcchecker.app/. No usage limits, no ads—just a small footer link to one of my other projects. Made it for the exact reason you mentioned.
awulf
·2 lata temu·discuss
An easy way is to check the length of the p= value in the DKIM record. If it's around 216 characters, it's likely a 1024-bit key. A 2048-bit key usually has about 388 characters.
awulf
·2 lata temu·discuss
The DKIM verification failed with the result "dkim=policy (weak key)," as it should according to RFC 8301: "Verifiers MUST NOT consider signatures using RSA keys of less than 1024 bits as valid signatures."
awulf
·2 lata temu·discuss
I guess most of these keys are decades old and no longer in use. They're likely just sitting in the DNS because someone forgot to delete them. Now, no one's sure if they're still needed and is afraid to remove them in case it breaks something. Or maybe they're still used by a legacy system, and no one realizes the impact an old DKIM record could have.
awulf
·2 lata temu·discuss
I published the article today, though it was written a few months ago (when the DKIM record was still online).
awulf
·2 lata temu·discuss
I agree, but to be precise, it was 1,726 out of 476,617 DKIM keys found across those 1M domains, or about 0.36%. Since it's impossible to determine all DKIM records a domain might have from the outside, I used a list of commonly used selectors (e.g., "default' or 'key1") for the search. It's likely there are additional short keys under selectors I didn't check.
awulf
·2 lata temu·discuss
Shameless plug: My DMARC Checker at https://dmarcchecker.app/ displays a warning message if it encounters a DKIM signature header with an 'l=' tag:

"The 'l=' tag limits how many bytes of the email body are included in the body hash. This may allow an attacker to alter/expand the message in a way that it still passes DKIM validation."

Additionally, the tool alerts you to the use of weak RSA keys or SHA1.

By the way, less than 0.4% of all emails checked make use of the 'l=' tag.
awulf
·2 lata temu·discuss
You are correct, the mail server is currently configured to only receive emails via IPv4. This setup is not uncommon as most major email providers have IPv4-only MX records (with Gmail and Yandex Mail being rare exceptions that support IPv6).

It might be a good idea to provide a different email address whose mail server explicitly requires IPv6. I'll think about it. Thanks for bringing it up.
awulf
·2 lata temu·discuss
We've just launched the app this week. While white labeling is a possibility down the road, we're currently focused on refining it and gathering user feedback.
awulf
·2 lata temu·discuss
Thanks for the feedback, much appreciated! It looks like you've flattened your SPF record, causing a large number of log messages. I'll see what I can do to better highlight the line that produces the 'pass' result.
awulf
·2 lata temu·discuss
There was a small bug in our DMARC record parser (it didn't like the semicolon at the end of the record). Sorry for that. Your DMARC record is definitely correct. The issue should be fixed now.

Also, thanks for the idea about circumventing DNS caching. I'll look into adding that feature.
awulf
·2 lata temu·discuss
I'm really happy to read that the app was able to help! Thanks for sharing.