Microsoft 365 kullanan bir alan adında mail kimlik doğrulaması üç DNS kaydıyla kurulur: SPF için include:spf.protection.outlook.com içeren bir TXT kaydı, DKIM için selector1._domainkey ve selector2._domainkey adlı iki CNAME kaydı ve DMARC için _dmarc adlı bir TXT kaydı. Kayıtların içeriğini Microsoft 365 belirler; kayıtların nereye ve nasıl yazılacağını ise alan adınızın DNS barındırma sağlayıcısı belirler.
Bu yazı üç kaydı sırasıyla kurmayı ve aynı işi Azure DNS, Cloudflare ve Natro gibi bir kayıt firması panelinde nasıl yapacağınızı anlatır. Kavramların ayrıntısı için SPF, DKIM ve DMARC yazılarına bakın.
DNS'im nerede, nasıl öğrenirim?
DNS kayıtlarını, alan adınızın ad sunucularını (NS) işleten yerde değiştirirsiniz. Bu her zaman alan adını satın aldığınız firma değildir. Öğrenmek için:
nslookup -type=NS ornek.com.tr
| Ad sunucusu biçimi | DNS sağlayıcısı |
|---|---|
ns1-01.azure-dns.com gibi, azure-dns.com/.net/.org/.info ile biten | Azure DNS |
<ad>.ns.cloudflare.com | Cloudflare |
<ad>.natrohost.com | Natro |
Ad sunucuları birden fazla sağlayıcıya dağılmışsa (ör. taşıma sırasında) değişikliği yalnız birinde yapmak yarım kalır; önce hangisinin yetkili olduğunu netleştirin.
Adım 1: SPF kaydı nasıl eklenir?
Alan adının kendisine (@) şu TXT kaydı yazılır:
ornek.com.tr. IN TXT "v=spf1 include:spf.protection.outlook.com -all"
Microsoft 365 dışında mail gönderen bir sistem varsa (CRM, bülten servisi, tarayıcı) onun include: ya da ip4: değerini aynı kayda ekleyin. Alan adında zaten v=spf1 ile başlayan bir kayıt varsa yanına ikincisini eklemeyin, mevcut kaydı düzenleyin: iki SPF kaydı geçersizdir ve alıcılar SPF'yi yok sayar.
Adım 2: Microsoft 365'te DKIM nasıl açılır?
Microsoft 365, siz DKIM'i açana kadar özel alan adınızın mailini sizin alan adınızla imzalamaz; bazı kiracılarda onmicrosoft.com imzası görülebilir ama From alan adınızla hizalı değildir ve DMARC'a katkı sağlamaz. Kendi alan adınız için:
- CNAME değerlerini alın. Microsoft Defender portalı › E-posta ve işbirliği › İlkeler ve kurallar › Tehdit ilkeleri › E-posta kimlik doğrulama ayarları › DKIM sekmesinde (doğrudan adres: https://security.microsoft.com/authentication?viewid=DKIM) alan adınızı seçin. Portal yayınlamanız gereken iki CNAME hedefini gösterir. Hedefler Microsoft'un yönettiği, kiracınıza ve alan adınıza özel adreslerdir;
onmicrosoft.comya dadkim.mail.microsoftile biten farklı biçimler görülebilir. Tahmin etmeyin, portalın gösterdiğini kopyalayın. - İki CNAME kaydını DNS'e ekleyin:
selector1._domainkey.ornek.com.tr. IN CNAME <Selector1CNAME-degeri>
selector2._domainkey.ornek.com.tr. IN CNAME <Selector2CNAME-degeri>
- Kayıtlar dışarıdan görünür olunca DKIM'i etkinleştirin. Aynı DKIM sayfasında alan adının imzalamasını açın.
Aynı iş Exchange Online PowerShell ile de yapılabilir (komutları kiracınızın yöneticisi çalıştırır). Alan adı için henüz DKIM yapılandırması yoksa önce kapalı olarak oluşturulur, ardından CNAME değerleri okunur:
New-DkimSigningConfig -DomainName ornek.com.tr -KeySize 2048 -Enabled $false
Get-DkimSigningConfig -Identity ornek.com.tr | Format-List Selector1CNAME,Selector2CNAME
CNAME kayıtları yayınlandıktan sonra:
Set-DkimSigningConfig -Identity ornek.com.tr -Enabled $true
Adım 3: DMARC kaydı nasıl eklenir?
DMARC her zaman izleme modunda başlar:
_dmarc.ornek.com.tr. IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@ornek.com.tr"
rua adresine gelen raporlarda Microsoft 365 ve diğer meşru göndericiler SPF ya da DKIM ile hizalı geçiyorsa politikayı p=quarantine, birkaç hafta sorunsuz geçerse p=reject yapın. pct= eklemeyin; eklerseniz politika maillerin yalnız bir kısmına uygulanır.
Azure DNS'te kayıtlar nasıl eklenir?
Portal: DNS bölgeleri (DNS zones) › ornek.com.tr › Kayıt kümeleri (Recordsets) › + Ekle (Add). Her kayıt için Ad, Tür ve Değer girin; tepe kaydının adı @ olur. Ad ve türü aynı olan bir küme zaten varsa yeni küme açmayın; o kümeyi açıp değeri ekleyin ya da düzenleyin.
Azure CLI (Cloud Shell ya da az login sonrası; bash ve PowerShell'de aynı). <kaynak-grubu>, DNS bölgesinin bulunduğu kaynak grubudur ve bölgenin Genel bakış (Overview) sayfasında yazar:
az network dns record-set txt add-record --resource-group "<kaynak-grubu>" --zone-name "ornek.com.tr" --record-set-name "@" --value "v=spf1 include:spf.protection.outlook.com -all"
az network dns record-set cname set-record --resource-group "<kaynak-grubu>" --zone-name "ornek.com.tr" --record-set-name "selector1._domainkey" --cname "<Selector1CNAME-degeri>"
az network dns record-set cname set-record --resource-group "<kaynak-grubu>" --zone-name "ornek.com.tr" --record-set-name "selector2._domainkey" --cname "<Selector2CNAME-degeri>"
az network dns record-set txt add-record --resource-group "<kaynak-grubu>" --zone-name "ornek.com.tr" --record-set-name "_dmarc" --value "v=DMARC1; p=none; rua=mailto:dmarc@ornek.com.tr"
Mevcut bir SPF kaydını değiştiriyorsanız önce kümeyi görün, eski değeri çıkarın, sonra yenisini ekleyin:
az network dns record-set txt show --resource-group "<kaynak-grubu>" --zone-name "ornek.com.tr" --name "@"
az network dns record-set txt remove-record --resource-group "<kaynak-grubu>" --zone-name "ornek.com.tr" --record-set-name "@" --value "<mevcut-spf-kaydi>" --keep-empty-record-set
<...> yer tutucularını doldurmadan çalıştırmayın.
Cloudflare'de kayıtlar nasıl eklenir?
Cloudflare panosu › ornek.com.tr › DNS › Records › Add record:
| Tür | Ad | İçerik / Hedef |
|---|---|---|
| TXT | @ | v=spf1 include:spf.protection.outlook.com -all |
| CNAME | selector1._domainkey | <Selector1CNAME-degeri> |
| CNAME | selector2._domainkey | <Selector2CNAME-degeri> |
| TXT | _dmarc | v=DMARC1; p=none; rua=mailto:dmarc@ornek.com.tr |
CNAME kayıtlarında Proxy status DNS only (gri bulut) olmalıdır. Proxy açık kalırsa sorgu CNAME hedefi yerine Cloudflare IP'si döner ve DKIM doğrulaması başarısız olur; yeni kayıtta proxy varsayılan olarak açık gelebilir.
Natro ya da başka bir kayıt firması panelinde nasıl eklenir?
Natro müşteri paneli › ornek.com.tr › DNS yönetimi. Diğer kayıt firmalarında da yol benzerdir: alan adını seçin, DNS yönetimi ya da DNS kayıtları bölümüne girin. Yukarıdaki tablodaki Tür, Ad ve Değer üçlüsü her panelde aynıdır. Dikkat edilecekler:
- Tepe kaydı: Ad alanına
@yazılır; bazı paneller boş bırakmanızı ister. - Çift ad: Panel alan adını ada kendisi ekliyorsa yalnız
_dmarcyazın._dmarc.ornek.com.tryazarsanız kayıt_dmarc.ornek.com.tr.ornek.com.tradında oluşabilir. - Tırnak: Bazı paneller TXT değerine tırnağı kendisi ekler; değeri tırnaksız girin ve sonucu sorguyla kontrol edin.
Kurulumu nasıl doğrularım?
nslookup -type=TXT ornek.com.tr
nslookup -type=CNAME selector1._domainkey.ornek.com.tr
nslookup -type=TXT _dmarc.ornek.com.tr
Ardından alan adınızdan dışarıya bir mail gönderin ve alıcı tarafta başlıklardaki Authentication-Results satırında spf=pass, dkim=pass (header.d=ornek.com.tr) ve dmarc=pass görün.
Üç kayıttan sonra sırada ne var?
SPF, DKIM ve DMARC sahte göndericiyi ayırt eder ama iletimin şifreli olmasını zorunlu kılmaz. Bunun için iki standart vardır: MTA-STS (RFC 8461), size mail gönderen sunuculardan MX'inize yalnız doğrulanmış TLS ile bağlanmalarını ister; DANE (RFC 7672) ise MX sunucusunun sertifikasını DNSSEC ile imzalı bir TLSA kaydına bağlar. Denetta bunları ayrıca değerlendirir (ör. MAIL-014 MTA-STS, MAIL-029 DANE).
Denetta bu kurulumda neyi kontrol eder?
Denetta'nın Alan Adı ve E-posta Güvenliği modülü mail sağlayıcısını MX kayıtlarından, DNS barındırma sağlayıcısını ad sunucularından tanır. Bulgunun düzeltme metninde kaydın içeriği Microsoft 365'e göre (ör. include:spf.protection.outlook.com, selector1/selector2 CNAME'leri), yazım biçimi DNS sağlayıcısına göre (Azure Portal adımları ve az komutu, Cloudflare ya da Natro panel yolu) gelir. Tanınmayan ya da karışık ad sunucularında genel metin gösterilir. İlgili kural kodları arasında MAIL-001 (SPF yok), MAIL-010 (DKIM yok), MAIL-006 (DMARC yok) ve MAIL-007 (p=none) bulunur.
Düzeltme metni yalnız gösterilir; Denetta hiçbir DNS kaydını değiştirmez ve komut çalıştırmaz. Durumunuzu alan adı kontrolüyle görebilirsiniz: kontrol yalnız DNS kayıtlarını okur ve 21 kuralla bir ön kontrol puanı üretir; modülün tamamı 31 kuraldan oluşur.
Sıkça sorulan sorular
Microsoft 365'te DKIM varsayılan olarak açık değil mi?
Microsoft 365, siz DKIM'i açana kadar özel alan adınızın mailini sizin alan adınızla imzalamaz; bazı kiracılarda onmicrosoft.com imzası görülebilir ama From alan adınızla hizalı değildir ve DMARC'a katkı sağlamaz. Kendi alan adınız için DKIM'i ayrıca açmanız gerekir.
DKIM CNAME değerlerini nereden alırım?
Microsoft Defender portalında E-posta kimlik doğrulama ayarları sayfasındaki DKIM sekmesinden (https://security.microsoft.com/authentication?viewid=DKIM) ya da Exchange Online PowerShell'de Get-DkimSigningConfig komutunun Selector1CNAME ve Selector2CNAME alanlarından. Değerler kiracıya ve alan adına özeldir; tahmin etmeyin, kopyalayın.
DNS'im Microsoft 365'te değil, başka bir yerde. Kayıtları kim ekler?
Kayıtlar alan adınızın ad sunucularını (NS) işleten yerde eklenir: Azure DNS, Cloudflare, kayıt firmanızın paneli ya da kendi DNS sunucunuz. Mail sağlayıcısı kaydın içeriğini belirler, DNS sağlayıcısı nereye ve nasıl yazılacağını.
Kayıtları ekledim, ne zaman etkinleşir?
Kaydın TTL değerine ve önbelleklere bağlı olarak birkaç dakika ile birkaç saat arasında. DKIM'i Defender portalında, CNAME kayıtları dışarıdan görünür olduktan sonra açabilirsiniz.