DMARC nedir?
DMARC (Domain-based Message Authentication, Reporting & Conformance), SPF ve DKIM üzerine kurulan bir e-posta kimlik doğrulama protokolüdür. Alan adı sahiplerinin, kimlik doğrulama denetiminden geçemeyen iletilerin alıcı sunucular tarafından nasıl ele alınacağını belirleyen bir politika yayımlamasını ve e-posta kimlik doğrulamasını raporlarla izlemesini sağlar.
DMARC neden gereklidir?
SPF ve DKIM tek başına önemli bir boşluk bırakır: başarısız iletiler için alıcıya ne yapacağını söylemez. Saldırganlar SPF/DKIM olmadan sahte e-posta gönderebilir ve alıcının uygulayacağı politika belirsiz kalır.
DMARC bu sorunu şu yollarla çözer:
- Politika tanımlama: Başarısız iletileri reddetme, karantinaya alma veya kabul etme
- Hizalama gerektirme: From üstbilgisinin SPF/DKIM alan adlarıyla eşleşmesi
- Raporlama sağlama: Toplu ve adli raporlarla kimlik doğrulama sonuçlarını gösterme
DMARC nasıl çalışır?
1. Gönderen yayımlar DMARC politikasını DNS'te yayımlar (_dmarc.domain.com adresinde TXT kaydı)
2. E-posta gönderilir From: [email protected] ile
3. Alıcı denetler SPF ve DKIM'i
4. Alıcı hizalamayı denetler: Kimliği doğrulanan alan adı From üstbilgisiyle eşleşiyor mu?
5. Politika uygulanır: DMARC kaydına göre (none, quarantine, reject)
6. Raporlar gönderilir: Toplu raporlar belirtilen adreslere iletilir
DMARC hizalaması
DMARC, From üstbilgisindeki alan adının aşağıdakilerden biriyle eşleşmesini gerektirir:
- SPF hizalaması: Zarf göndereninin (MAIL FROM) alan adı
- DKIM hizalaması: DKIM imzasındaki d= alan adı
Hizalama yoksa SPF/DKIM geçse bile DMARC başarısız olur.
DMARC kayıt biçimi
DMARC kayıtları _dmarc.yourdomain.com adresinde TXT kaydıdır:
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:[email protected]"
DMARC etiketleri
| Etiket | Zorunlu | Açıklama | Örnek |
|---|---|---|---|
| v | Evet | Sürüm | v=DMARC1 |
| p | Evet | Politika | p=none/quarantine/reject |
| rua | Hayır | Toplu rapor URI'si | rua=mailto:[email protected] |
| ruf | Hayır | Adli rapor URI'si | ruf=mailto:[email protected] |
| pct | Hayır | Politika yüzdesi | pct=100 |
| sp | Hayır | Alt alan adı politikası | sp=reject |
| adkim | Hayır | DKIM hizalama modu | adkim=s (strict) veya adkim=r (relaxed) |
| aspf | Hayır | SPF hizalama modu | aspf=s veya aspf=r |
DMARC politikaları
p=none: Yalnızca izleme, başarısız iletiler için işlem yapma.v=DMARC1; p=none; rua=mailto:[email protected]
p=quarantine: Başarısız iletileri spam veya gereksiz posta klasörüne gönderme.
v=DMARC1; p=quarantine; rua=mailto:[email protected]
p=reject: Başarısız iletileri tamamen reddetme.
v=DMARC1; p=reject; rua=mailto:[email protected]
DMARC uygulama yolu
Aşama 1: İzleme (p=none)
E-posta ekosisteminizi anlamak için izlemeyle başlayın:
v=DMARC1; p=none; rua=mailto:[email protected]
2-4 hafta boyunca raporları inceleyerek şunları belirleyin:
- SPF/DKIM'i eksik olan meşru gönderim hizmetleri
- Yetkisiz gönderenler (sahtecilik)
- Hizalama sorunları
Aşama 2: Karantina (p=quarantine)
Meşru kaynakların kimliği doğrulandıktan sonra:
v=DMARC1; p=quarantine; pct=10; rua=mailto:[email protected]
Başlangıçta yalnızca %10'u karantinaya almak için pct=10 kullanın ve oranı kademeli artırın.
Aşama 3: Reddet (p=reject)
Tam koruma için:
v=DMARC1; p=reject; rua=mailto:[email protected]
DMARC raporları
Toplu raporlar (rua)
E-postanızın tamamındaki kimlik doğrulama sonuçlarını gösteren günlük XML raporları şunları içerebilir:
- E-posta hacmi
- SPF, DKIM ve DMARC geçme/başarısızlık oranları
- Gönderen IP adresleri
- Alıcı kuruluşlar
Adli raporlar (ruf)
Gizlilik nedeniyle her alıcı bu raporları göndermese de tek tek başarısızlık raporları şunları içerebilir:
- Tam ileti üstbilgileri
- Kimlik doğrulama hatası ayrıntıları
Rapor işleme
Ham DMARC raporları XML biçimindedir ve okunmaları zordur. Şu tür hizmetleri kullanın:
- DMARC rapor analiz hizmetleri
- E-posta güvenlik platformları
- Kendi XML ayrıştırma ve izleme araçlarınız
DMARC denetimi
_dmarc alanındaki TXT kaydını sorgulayın, politikanın ve rapor hedeflerinin beklediğiniz gibi olduğunu doğrulayın. Geçerli bir kayıt, her iletinin teslim edileceğini garanti etmez; SPF, DKIM ve hizalama sonuçlarını gerçek gönderimlerle birlikte inceleyin.
dig _dmarc.example.com TXT
curl "https://domscan.net/v1/health?domain=example.com"
# Returns hasDMARC status
Yaygın DMARC sorunları
Birden fazla DMARC kaydı, yanlış rua veya ruf adresi, üçüncü taraf göndericiler için eksik SPF yetkilendirmesi, DKIM imza hataları ve politikanın çok erken sertleştirilmesi yaygın sorunlardır. DNS TTL'sini, rapor gecikmesini ve alıcıların politika desteğini de hesaba katın.