İçeriğe geç
  • Hafta içi 08:00 – 18:00 · Destek 7/24
  1. Ana Sayfa
  2. Blog
  3. Alan Adı ve E-posta

DMARC kaydı nedir, nasıl oluşturulur? p=none'dan p=reject'e güvenli geçiş

DMARC, SPF ve DKIM sonuçlarını "Kimden" adresine bağlar ve doğrulamadan geçemeyen iletiye ne olacağını söyler. Kaydın etiketleri, örnek kayıtlar, toplu raporların okunması ve none → quarantine → reject geçiş takvimi.

Doğrulanmış zarfların geçtiği, doğrulanmayanların ayrıldığı bir kontrol noktasını anlatan izometrik çizim

DMARC (Domain-based Message Authentication, Reporting and Conformance), alan adınızın DNS'ine eklenen bir TXT kaydıdır ve iki şey yapar: SPF ile DKIM sonuçlarını kullanıcının gördüğü "Kimden" adresine bağlar ve doğrulamadan geçemeyen iletiye ne yapılacağını alıcıya söyler. Üçüncü bir işlevi daha vardır ve çoğu zaman en değerlisi odur: alan adınız adına kimin e-posta gönderdiğini size rapor eder.

DMARC neden gerekli?

SPF iletinin zarf adresini, DKIM ise imzalayan alan adını doğrular. İkisi de kullanıcının e-posta programında gördüğü "Kimden" satırını tek başına korumaz: bir sahteci kendi alan adıyla SPF ve DKIM'den geçip "Kimden" satırına sizin adresinizi yazabilir. DMARC bu boşluğu hizalama (alignment) kuralıyla kapatır: SPF ya da DKIM'den geçen alan adı, "Kimden" adresindeki alan adıyla eşleşmelidir. SPF'nin ayrıntıları için SPF kaydı nasıl yapılır, üçünün genel resmi için SPF, DKIM ve DMARC yazımız.

DMARC kararı: SPF ya da DKIM hizalı geçerse ileti geçer, ikisi de geçmezse politika uygulanır Gelen iletiKimden: ornek.com.tr SPF geçti mi?ve zarf alanı = Kimden DKIM geçti mi?ve d= alanı = Kimden Biri hizalı geçerseDMARC: pass → teslim İkisi de geçmezsep=none / quarantine / reject Her iki durumda da sonuç, alıcının günlük toplu raporuna (rua) yazılır.
DMARC için SPF ve DKIM'den birinin hizalı geçmesi yeterlidir. Politika yalnız ikisi de geçemediğinde devreye girer.

Hizalama örnekleri

Hizalama kuralı somut örneklerle daha kolay anlaşılır. Aşağıdaki tabloda "Kimden" adresi her satırda [email protected]:

Doğrulanan alan adıGevşek hizalama (r, varsayılan)Sıkı hizalama (s)
ornek.com.trHizalıHizalı
bulten.ornek.com.trHizalı (aynı ana alan adı)Hizalı değil
gonderimhizmeti.comHizalı değilHizalı değil

Son satır, bir bülten ya da fatura hizmetinin iletiyi kendi alan adıyla imzaladığı durumdur: SPF ve DKIM "geçer" ama DMARC için sayılmaz. Bu hizmetlerin neredeyse hepsi, sizin alan adınızla DKIM imzalamak için DNS'inize eklemeniz gereken bir kayıt (genellikle bir CNAME ya da TXT) verir. Raporlarda gördüğünüz "DKIM pass ama DMARC fail" satırlarının çoğu bu ayarın yapılmamasından kaynaklanır.

DMARC kaydının yapısı

Kayıt her zaman _dmarc alt adında, TXT türünde yayımlanır: _dmarc.ornek.com.tr. İçeriği noktalı virgülle ayrılmış etiketlerdir:

EtiketAnlamıÖrnek
vSürüm; her zaman ilk etiketv=DMARC1
pDoğrulamadan geçemeyen iletiye politikanone, quarantine, reject
ruaGünlük toplu raporların gideceği adresmailto:[email protected]
rufTek tek başarısız ileti raporu (az sağlayıcı gönderir)mailto:[email protected]
pctPolitikanın uygulanacağı ileti yüzdesipct=25
spAlt alan adları için ayrı politikasp=reject
adkim / aspfHizalama sıkılığı: r gevşek (alt alan adı da eşleşir), s sıkı (birebir)adkim=r

Gerçek dünyadan örnek kayıtlar

Büyük sağlayıcıların yayımladığı kayıtlar iyi birer başvuru noktasıdır. Test sunucumuzdan okuduğumuz değerler:

$ dig +short TXT _dmarc.google.com
"v=DMARC1; p=reject; rua=mailto:[email protected]"
$ dig +short TXT _dmarc.microsoft.com
"v=DMARC1; p=reject; pct=100; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1"

Microsoft'un kaydındaki fo=1 etiketi, ayrıntılı hata raporunun SPF ya da DKIM'den herhangi biri başarısız olduğunda üretilmesini ister; varsayılan davranış (fo=0) yalnız ikisi birden başarısız olduğunda rapor üretmektir. Bu etiket yalnız ruf raporlarını etkiler ve toplu raporlara bir şey katmaz.

İkisi de en sıkı politikada: doğrulamadan geçemeyen ileti reddedilir. Bu noktaya bir günde gelinmez; aşağıdaki geçiş takvimi bunun içindir.

Adım adım DMARC kaydı oluşturma

  1. Önce SPF ve DKIM. DMARC onlara dayanır. Gönderim yapan her hizmetinizin SPF kaydında yer aldığından ve iletileri kendi alan adınızla DKIM imzaladığından emin olun.
  2. Rapor adresi açın. Raporlar her gün gelir; kişisel kutunuzu doldurmasın diye ayrı bir adres (ör. [email protected]) kullanın.
  3. İzleme modunda yayımlayın:
    Ad:    _dmarc
    Tür:   TXT
    Değer: v=DMARC1; p=none; rua=mailto:[email protected]
  4. Doğrulayın: dig +short TXT _dmarc.ornek.com.tr tek bir satır döndürmeli. Sözdizimini ve etiketleri kontrol etmek için DMARC kontrol aracı, etiketleri seçerek kayıt üretmek için DMARC oluşturucu.

Rapor başka bir alan adına gidecekse: rua=mailto:[email protected] yazdığınızda alıcılar, o alan adının bu raporları kabul ettiğini ornek.com.tr._report._dmarc.baska-alan.com adında bir TXT kaydı (v=DMARC1) ile doğrulamak ister. Kayıt yoksa raporlar gönderilmez.

Toplu raporları okumak

Raporlar sıkıştırılmış XML olarak gelir. Bir kaydın özü şöyledir (kısaltılmış örnek):

<record>
  <row>
    <source_ip>203.0.113.25</source_ip>
    <count>148</count>
    <policy_evaluated>
      <disposition>none</disposition>
      <dkim>pass</dkim>
      <spf>fail</spf>
    </policy_evaluated>
  </row>
  <identifiers><header_from>ornek.com.tr</header_from></identifiers>
</record>

Bu satır, 203.0.113.25 adresinden alan adınız adına 148 ileti gittiğini, DKIM'in hizalı geçtiğini, SPF'nin geçmediğini söyler. DMARC sonucu yine de pass'tir, çünkü biri yeterlidir. Raporlarda aradığınız üç şey:

  • Tanıdık ama başarısız kaynaklar: Fatura yazılımınız, bülten hizmetiniz. SPF'ye ekleyin ya da DKIM'i yapılandırın.
  • Tanımadığınız kaynaklar: Adınıza sahte gönderim. Politikayı sıkılaştırmanın gerekçesi tam olarak budur.
  • Yönlendirme ve posta listeleri: İletinizi başka adrese yönlendiren sunucularda SPF bozulur; DKIM bozulmadıkça sorun olmaz. DKIM'in neden şart olduğu buradan anlaşılır.

p=none'dan p=reject'e güvenli geçiş

AşamaKayıtNe zaman sonraki aşamaya geçilir
1. İzlemep=none; rua=…En az 2-4 hafta rapor toplandı, tüm meşru kaynaklar hizalı geçiyor
2. Kısmi karantinap=quarantine; pct=25; rua=…Bir-iki hafta şikâyet yok, raporlarda yeni meşru kaynak çıkmadı
3. Tam karantinap=quarantine; rua=…Birkaç hafta sorunsuz
4. Retp=reject; rua=…Hedef durum; raporları izlemeye devam edin

Takvim alan adınızdan ne kadar farklı hizmetin gönderim yaptığına bağlıdır. Tek bir e-posta sunucusu kullanan küçük bir işletme birkaç haftada reject'e gelebilir; onlarca SaaS aracının gönderim yaptığı bir şirkette bu aylar alabilir. Acele etmeyin: yanlış yapılandırılmış bir reject, faturalarınızın müşteriye hiç ulaşmaması demektir.

pct, sp ve ruf ne zaman kullanılır?

  • pct yalnız geçiş dönemi içindir: politikayı iletilerin bir yüzdesine uygulayarak riski sınırlar. Hedef duruma ulaştığınızda etiketi kaldırın; varsayılan değer zaten 100'dür.
  • sp alt alan adlarına ayrı politika verir. Hiç kullanmadığınız alt alan adlarının adına sahte gönderim yapılmasını engellemek için ana alan adı henüz p=none'dayken bile sp=reject yazabilirsiniz; ama gönderim yapan bir alt alan adınız varsa (ör. bulten.) önce onu doğrulayın.
  • ruf tek tek başarısız iletilerin ayrıntılı raporudur ve iletinin başlıklarını, bazen içeriğinden parçaları taşıyabilir. Bu raporlar kişisel veri içerebileceği için birçok büyük sağlayıcı göndermez; siz de kullanacaksanız raporların geldiği kutuya kimin eriştiğini ve ne kadar süre saklandığını KVKK açısından belirleyin.

Bir not daha: gelen kutusunda gönderenin logosunu gösteren BIMI standardı, alan adında p=quarantine ya da p=reject politikası ister. p=none ile BIMI çalışmaz.

Sık yapılan hatalar

  • Kaydı yanlış ada yazmak: Kayıt ornek.com.tr'ye değil _dmarc.ornek.com.tr'ye yazılır. Bazı paneller alan adını kendisi ekler; ad alanına yalnız _dmarc yazılmalıdır, aksi halde kayıt _dmarc.ornek.com.tr.ornek.com.tr olur.
  • İki DMARC kaydı: SPF'de olduğu gibi aynı adda ikinci bir v=DMARC1 kaydı politikanın tamamen yok sayılmasına yol açar.
  • Rapor adresini unutmak: rua olmadan p=none yazmak hiçbir şey ölçmeyen bir kayıttır; neden kurulduğunu unutturur.
  • Raporları hiç açmamak: İzleme moduna alınıp yıllarca orada bırakılan kayıt çok yaygındır. Takvime bir hatırlatma koyun.
  • DKIM'siz reject: Yalnız SPF'ye güvenerek reject'e geçmek, yönlendirilen iletilerin reddedilmesine yol açar.

Geçişin her aşamasında kaydı değiştirdikten sonra dig +short TXT _dmarc.ornek.com.tr ile yayımlandığını doğrulayın ve raporların gelmeye devam ettiğini kontrol edin.

E-posta göndermeyen alan adları

Yalnız web sitesi için kullanılan ya da park edilmiş alan adlarınız sahteciler için en kolay hedeftir; çünkü raporlarını kimse izlemez. Bu alan adlarında beklemeye gerek yoktur:

TXT  @       v=spf1 -all
TXT  _dmarc  v=DMARC1; p=reject

Kayıtlar doğru olduğu halde iletileriniz hâlâ reddediliyorsa sorun gönderen IP'nin itibarında olabilir: IP adresini kara listeden çıkarma.

Sık sorulan sorular

DMARC kaydı zorunlu mu?

Yasal bir zorunluluk değildir ama büyük posta sağlayıcıları giderek arar. Google ve Yahoo, 2024 başından itibaren kendi kullanıcılarına günde 5.000'den fazla ileti gönderen alan adlarından en azından p=none politikalı bir DMARC kaydı istiyor. Az gönderim yapan alan adları için de kayıt, sahte göndericilere karşı tek gerçek korumadır.

p=none ne işe yarar, bir şeyi engeller mi?

Hiçbir iletiyi engellemez; yalnız izleme modudur. Alıcılar raporları rua adresine gönderir ve siz adınıza kimin gönderim yaptığını görürsünüz. Asıl koruma quarantine ve reject politikalarıyla başlar.

DMARC raporlarını nasıl okurum?

Toplu raporlar sıkıştırılmış XML dosyalarıdır ve her biri bir alıcının bir günlük gözlemini içerir: hangi IP'den kaç ileti geldi, SPF ve DKIM sonucu ne oldu, hizalama tuttu mu. Az sayıda rapor için XML'i doğrudan okuyabilirsiniz; düzenli takip için raporları toplayıp tablo hâline getiren bir rapor çözümleyici kullanın.

DMARC kaydı alt alan adlarını da kapsar mı?

Evet; alt alan adının kendi _dmarc kaydı yoksa üst alan adının kaydı uygulanır. Alt alan adları için farklı politika istiyorsanız sp= etiketini kullanın.

p=quarantine ne demek?

Doğrulamadan geçemeyen iletinin alıcı tarafından şüpheli sayılmasını ister; uygulamada ileti genellikle spam ya da gereksiz klasörüne konur. İleti silinmez, kullanıcı görebilir. p=reject ise iletinin SMTP aşamasında reddedilmesini ister; ileti kullanıcıya hiç ulaşmaz ve gönderen sunucu bir geri dönüş iletisi alır.

  • #dmarc
  • #e-posta
  • #spf
  • #dkim
  • #dns

Alan adınızın e-postasını tek yerden yönetin. Web hosting paketlerimizde e-posta hesapları, SPF, DKIM ve DNS kayıtları panelden düzenlenir.

Hosting paketlerine bakın
Devamı

İlgili yazılar