Something new ... again ;-)
I'm currently playing around a bit to optimize my setups. On the catch with 100% scores (minimum, at Mozilla Observatory I was able to catch 125%^^) and getting more and more green on Hardenize (I will post my experiences on my private blog once I have spare time, but I may prio to create my Advancing PMG repository first) I just considered to activate DKIM and together with SPF DMARC as well. It also came similar to my first steps with MTA-STS to improve my setup, that I read about it (again).
My personal opinion on DKIM (and DMARC) is somehow the same as SPF. It's broken by design (and I really don't understand, why the RFC authors make failures again and again) and ARC seems to try to patch the failures again similar as SRS tries to do. As recently also attending IETF meetings, also the promotion of DMARC is deceptive (similar to DANE). DKIM and DMARC doesn't help anything against spam. We all know the typical viagra, you won a million, I will send you another as well as hi my dear, want to get in love with you mails and they come from free mailers with valid SPF and DKIM, we all know the typical purchase this or that attendee or user list, they come from well setup (with valid SPF and DKIM) mail systems, so it's no sign for spam or no spam. Same for identity validation, which is done by DKIM and DMARC, for sure, you will know, that the sender is the real sender and for worse made phishing that's great, but if someone purchase a similar mail domain and using DKIM and DMARC, the signature will be valid again. However, S/MIME and PGP are still not widely spread, PGP always requires some additional or special tools, Web of Trust is also broken with the new key servers, and S/MIME still cost a few dollars for commercial usage, so many users are still not willing to use it, although they help for privacy (GDPR) or confidentiality (Trade Secrets Directive and others).
However, back on how I implemented. I currently run two setups of DKIM, one with my hosted exchange at QualityHosting, so I was just required by them to set a CNAME record, that the Hornet Security solution at them could be enabled for DKIM. DKIM allows to have parallel DKIM setups running, e.g. on branch offices, e.g. on periodical rotations (monthly, yearly, ...), e.g. on servers (mx1, mx2, ...), e.g. on additional services (zen desk, mail chimp, ...), they call it selectors. So my first step was really easy, if you're at QualityHosting, you just need to set the following record and ask them to activate DKIM signing:
Code:
hse._domainkey IN CNAME hse._domainkey.hornetsecurity.com.
But I also want to enable DKIM on my Plesk installation for all outgoing mails from my Plesk server. So I disabled the local DNS zones as I use an external DNS server, enabled DKIM in my mail server settings and in the mail settings for my domain. I then extracted the public key via command line on the plesk server:
Code:
openssl rsa -in /etc/domainkeys/heutger.net/default -pubout
and added it to my DKIM record for the plesk selector default:
Code:
default._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD5swJ11LaZrNz02ebzlyblOthx7IafmMS628ElP70Ht3NlamqLR0XXId3S9yLxwRIHBxAubG2Jxg5S6Xs5J7gRJT2EuNFST7lXHOfHWFpoIHdoAT84bCGWdp0+vRTq7NixwtDXF/FHKGy6JrDA9m17N/5vCKtjTTxaaexXyeGKqwIDAQAB"
Last step was to setup my DMARC policy. I set up a free account with Postmark for the XML aggregated report to be processed for better interpretation (because of privacy don't use external services for detailed reports) at
https://dmarc.postmarkapp.com and added the following to my DNS records:
Code:
_dmarc IN TXT "v=DMARC1; p=quarantine; rua=mailto:xxx@dmarc.postmarkapp.com"
I then tested my setup with my other PMG gateway as well via
https://www.port25.com/authentication-checker/