Last week one of the known load balancer company send me an email where sender and recipient email address were my domain’s email addresses on my office 3 65. In the post incident RCA Microsoft told that SPF is not enough for this incident and we should have DKIM enabled for our domains.
Microsoft recommends to create DKIM DNS record along with SPF which adds the digital signature. Check Microsoft TechNet Blog here to learn more.
Overall it is a 2 step process. First is the creation of 2 CNAME records and second is Enabling DKIM in office 365 which will create 2 DKIM TXT record. The key here is learning how to create Cname record.
Gmail generates the domain key and adds it to your domain's DNS records. Turn on DKIM signing. Important: After you create your G Suite account and turn on Gmail, you must wait 24–72 hours before you can generate a DKIM key. Generate the domain key for outgoing email. You must be signed in as a super administrator for this task. Mar 28, 2019 Clear 3-step instructions for implementing DKIM. We explain how to create the public / private key pair, configure the DNS record, generate and save the DKIM signature. Get the details here (including instructions for 15 DNS providers).
I am sharing the following steps to enable DKIM record in Office 365.
- Create 2 CNAME record else you will see the below warning:CNAME record does not exist for this config. Please publish the following two CNAME records first.selector1-emaildomainname._domainkey.Tenantename.onmicrosoft.comselector2-emaildomainname._domainkey.Tenantename.onmicrosoft.com
- Login to your office 365 tenant
- Open the Exchange Admin Center à Protection à DKIM à Select the domain and click Enable
Or
- Click on Security Policies à DKIM à Select the domain and click Enable
We do not need to rotate the Key. Microsoft does it for us.
For the verification, I had sent an email to MSExchangeGuru.com email address and the successful DKIM validation.
This is how my previous email used to look like.
Even though my sender domain is not onmirosoft.com, it used to pick up our tenant domain. This means it was using the default signature created by Microsoft but it is not 100 secure so you should configure DKIM for your domain.
Now the question is where are my DKIM record. It is simple logic. We created 2 Cname record which are the alias records so it will go to the pointers under Tenantename.onmicrosoft.com which is owned by Microsoft so you can’t see it in your DNS provider list.
There are couple of ways to check them
- Login to your office 365 à Settings à Domains à Select your domain à Additional Office 365 records.
Or
- Open command prompt à Nslookupà Set q=txtà Then type the pointer and enter
- We can also test the DKIM record working here. http://dkimcore.org/tools/keycheck.html
Just fill like this and click check
YAY! This is a valid DKIM key record
We are done DKIM for Office 365 here. I know some of you will ask to provide a blog for on premise, expect it sooner.
I am also sharing couple of reference here.
How anti spoofing protection works in Office 365 Mail http://aka.ms/AntiSpoofingInOffice365
https://blogs.msdn.microsoft.com/tzink/2016/03/07/a-powershell-script-to-help-you-validate-your-dkim-config-in-office-365/
Prabhat Nigam
Microsoft MVP | CTO @ Golden Five
Team@MSExchangeGuru
From lxadm | Linux administration tips, tutorials, HOWTOs and articles
Jump to: navigation, search
Generating 1024 bit DKIM key
To generate a DKIM key with openssl, do the following - this will generate you a 1024 bit DKIM key:
Your generated public key will remind something like below:
If you need to supply the public.key in the DNS record as follows, you have to 'convert' it manually to be in one line, i.e.:
In bind/named compatible format, it will look like below TXT record:
Symmetric Key
Generating 2048 bit DKIM key
Please note that you may want to use a 2048 bit DKIM key - in this case, use the following openssl commands:
However, 2048 bit public DKIM key is too long to fit into one single TXT record - which can be up to 255 characters. Assuming your full public key is as follows:
Dkim Key Dns
...you need to split the text field into parts having 255 characters or less:
There are several limitations to 2048 bit DKIM records:
- While bind/named supports TXT fields being split into several parts, some DNS hostings may still not support it.
- If the total size of the DNS record is larger than 512 bytes, it will be sent over TCP, not UDP. Some buggy firewalls may not permit DNS packets over TCP.
Create Dkim Keys
Retrieved from 'https://lxadm.com/index.php?title=Generating_DKIM_key_with_openssl&oldid=437'