E-posta & SMTP Sunucu

    DMARC Raporu Toplama Araçları Karşılaştırması

    Gelen DMARC XML raporlarını okunabilir hâle getiren açık kaynak ve bulut araçların karşılaştırması.

    11 dk okuma Güncellendi: 25 Ağustos 2026

    DMARC kaydınızı yayınladınız, rua adresini de yazdınız ve birkaç gün sonra o adrese sıkıştırılmış XML dosyaları düşmeye başladı. Şimdi ne olacak? Tek bir alan adı için bile günde onlarca rapor gelir; her biri farklı sağlayıcıdan, farklı biçimde adlandırılmış, elle okunması neredeyse imkânsız XML dosyalarıdır. DMARC raporu toplama araçları tam bu noktada devreye girer: raporları posta kutusundan alır, açar, ayrıştırır ve size "geçen hafta 4.812 mesajın 47'si doğrulamadan geçemedi ve bunların hepsi şu IP'den geldi" diyebilen bir tablo üretir.

    Bu yazıda araçları isim isim sıralamak yerine önce kategorilere ayıracağım — kendi sunucunuzda barındırdığınız açık kaynak çözümler, ücretsiz bulut servisleri ve ticari izleme platformları — ve her kategorinin hangi ölçekte doğru cevap olduğunu göstereceğim. Ardından açık kaynak tarafın fiili standardı olan parsedmarc'ı örnek bir kurulumla ele alacağım, rua ile ruf arasındaki kritik farkı ve harici raporlayıcı kullanırken herkesin düştüğü doğrulama tuzağını anlatacağım.

    Raporlar Neden Elle Okunamıyor#

    Bir DMARC toplu raporu (aggregate report), alıcı sunucunun sizin alan adınız adına gelen mesajlar hakkında tuttuğu istatistiğin XML halidir. Dosya adı genellikle alici!sizinalanadi!baslangic!bitis.xml.gz kalıbındadır ve içi şuna benzer:

    ; Ornek DMARC kaydi — raporlarin nereye gidecegini belirler
    _dmarc.firmaniz.com. 3600 IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1; ri=86400; pct=100"
    

    Kayıttaki her etiketin bir karşılığı var ve hangi aracı seçeceğiniz de kısmen bunlara bağlıdır:

    EtiketAnlamıPratik not
    ruaToplu rapor adresiAsıl işi gören budur, günlük gelir
    rufHata (forensic) rapor adresiBüyük sağlayıcıların çoğu göndermez
    riRapor aralığı, saniye86400 dışında bir değere çoğu uyulmaz
    foHangi durumda hata raporu üretilsin1 = SPF veya DKIM'den biri bile başarısızsa
    pctPolitikanın uygulanacağı mesaj yüzdesiKademeli geçişte kullanılır
    pPolitika: none, quarantine, rejectRaporlama none iken de çalışır

    Raporların içeriğinde her gönderen IP için bir satır bulunur: kaç mesaj gönderilmiş, SPF ve DKIM sonuçları ne olmuş, alıcı bu mesajlara ne yapmış. Tek bir dosyayı elle açıp okumak mümkündür ve nasıl yapılacağını DMARC raporu nasıl okunur yazısında anlattım. Ama gerçek hayatta on farklı sağlayıcıdan gelen haftalık 70 dosyayı elle okuyamazsınız; asıl değer, tüm raporların birleştirilip zaman içindeki eğilimin görülmesindedir.

    rua ve ruf: Hangisini Beklemelisiniz#

    Burada beklenti yönetimi gerekiyor, çünkü ruf konusunda çok sık hayal kırıklığı yaşanır. Toplu raporlar (rua) kişisel veri içermez, sadece IP ve sayılardan oluşur ve neredeyse tüm büyük sağlayıcılar bunları düzenli gönderir. Hata raporları (ruf) ise başarısız olan tek bir mesajın başlıklarını, bazen gövdesinin bir kısmını içerir; bu doğrudan kişisel veri anlamına geldiği için Gmail, Outlook ve benzeri sağlayıcıların büyük bölümü bunları hiç göndermez.

    Pratik sonuç: aracınızı ruf raporları üzerine kurgulamayın. ruf adresini tanımlamak zararsızdır ve bazı küçük sağlayıcılardan veri gelir, ancak analiz stratejinizin merkezinde rua olmalıdır. Ayrıca ruf adresine gelen mesajlar üçüncü kişilerin verisini içerebileceği için, o kutuya erişimi kısıtlayın ve saklama süresi belirleyin.

    Bir uyarı daha: raporları başka bir alan adındaki bir adrese yönlendiriyorsanız (örneğin bir izleme servisinin adresine), o alan adının bunu kabul ettiğini kanıtlayan bir DNS kaydı gerekir. Bu kayıt olmadan çoğu sağlayıcı rapor göndermeyi reddeder ve siz "araç kurdum ama hiç veri gelmiyor" diye günlerce arar durursunuz:

    ; firmaniz.com adina gelen raporlar raporlayici.com adresine gidebilsin diye
    ; raporlayici.com TARAFINDA su kayit bulunmalidir:
    firmaniz.com._report._dmarc.raporlayici.com. 3600 IN TXT "v=DMARC1"
    

    Ticari servisler bu kaydı kendi tarafında hazır tutar; kendi ikinci alan adınıza rapor topluyorsanız kaydı sizin oluşturmanız gerekir.

    Araç Kategorileri ve Karşılaştırma#

    Piyasadaki seçenekleri üç kategoriye ayırmak, karar vermeyi kolaylaştırır:

    Kendi barındırdığınız açık kaynak araçlar. parsedmarc bu grubun fiili standardıdır: Python ile yazılmış, raporları IMAP kutusundan ya da dosya dizininden okuyup ayrıştıran, sonucu Elasticsearch/OpenSearch'e yazıp Kibana veya Grafana panolarında gösteren bir araçtır. OpenDMARC ise hem doğrulama hem raporlama tarafı olan bir MTA eklentisidir ve kendi rapor üretiminizi de yapmanızı sağlar. Bu grubun avantajı verinin sizde kalması ve maliyetin yalnızca sunucu olması; dezavantajı kurulumun ve bakımın size ait olmasıdır.

    Ücretsiz bulut servisleri. Bazı e-posta altyapı sağlayıcıları ve güvenlik firmaları, raporları kendi adreslerine yönlendirmeniz karşılığında ücretsiz özet paneller ya da haftalık e-posta digest'leri sunar. Küçük ölçekte, tek alan adı için hızlı ve yeterli bir başlangıçtır. Sınırları genellikle geçmiş veri saklama süresi, alan adı sayısı ve uyarı özelliklerinde ortaya çıkar.

    Ticari izleme platformları. dmarcian, EasyDMARC, Valimail, URIports gibi platformlar rapor analizinin yanında gönderen kaynak tespiti, SPF kaydı yönetimi, politika yükseltme rehberliği ve uyarı mekanizmaları sunar. Çok sayıda alan adı yöneten ajanslar ve kurumsal BT ekipleri için zaman tasarrufu ciddi olur.

    ÖlçütAçık kaynak (parsedmarc)Ücretsiz bulutTicari platform
    MaliyetSunucu maliyetiYokAlan adı başına abonelik
    Veri nerede dururSizdeSağlayıcıdaSağlayıcıda
    Kurulum eforuYüksekÇok düşükDüşük
    Geçmiş veri saklamaSınırsız (diskiniz kadar)Genelde kısıtlıPlana göre
    Çoklu alan adıSınırsızGenelde 1-2Plan bazlı
    Uyarı ve bildirimKendiniz kurarsınızSınırlıHazır
    Gönderen kaynağı tanımaIP bazlı, elle yorumKısmiOtomatik etiketleme
    KVKK / veri egemenliğiTam kontrolSözleşmeye bağlıSözleşmeye bağlı

    Karar için pratik kural: tek alan adınız varsa ve DMARC'a yeni başlıyorsanız ücretsiz bir bulut servisiyle başlayın, ilk üç ayda gönderen envanterinizi çıkarın. Beşten fazla alan adı yönetiyorsanız ticari bir platformun zaman tasarrufu abonelik bedelini kısa sürede karşılar. Veriyi dışarı çıkaramıyorsanız ya da zaten bir log altyapınız varsa parsedmarc doğru tercihtir.

    parsedmarc ile Kendi Kurulumunuz#

    Kendi kurulumunuzu yapacaksanız akış şöyledir: raporlar bir posta kutusuna düşer, parsedmarc o kutuyu IMAP ile okur, XML'i ayrıştırır ve sonucu bir arama motoruna yazar; panolar oradan beslenir.

    # Python ortami ve kurulum
    sudo apt install -y python3-pip python3-venv
    python3 -m venv /opt/parsedmarc
    /opt/parsedmarc/bin/pip install parsedmarc
    
    /opt/parsedmarc/bin/parsedmarc --version
    

    Yapılandırma tek bir ini dosyasında toplanır:

    # /etc/parsedmarc.ini
    [general]
    save_aggregate = True
    save_forensic = True
    output = /var/lib/parsedmarc/output
    
    [imap]
    host = mail.firmaniz.com
    user = [email protected]
    password = SIFRE
    watch = True
    
    [mailbox]
    reports_folder = INBOX
    archive_folder = Archive
    delete = False
    
    [elasticsearch]
    hosts = http://127.0.0.1:9200
    ssl = False
    

    Tek seferlik bir dosyayı elle ayrıştırıp çıktıyı görmek isterseniz — kurulumun doğru çalıştığını anlamanın en hızlı yolu budur:

    # Tek bir rapor dosyasini JSON olarak coz
    /opt/parsedmarc/bin/parsedmarc -o /tmp/cikti \
      ~/indirilenler/google.com\!firmaniz.com\!1756080000\!1756166400.xml.gz
    
    # Uretilen JSON'a bakin
    head -40 /tmp/cikti/aggregate.json
    

    Çıktı JSON'unu okunabilir hâle getirmek için JSON formatlayıcı aracını kullanabilirsiniz; hangi alanların ne anlama geldiğini görmek, panoları kurmadan önce veriyi anlamanın en iyi yoludur. Servis olarak sürekli çalıştırmak için basit bir systemd birimi yeterlidir:

    # /etc/systemd/system/parsedmarc.service
    [Unit]
    Description=parsedmarc DMARC rapor isleyici
    After=network-online.target
    
    [Service]
    ExecStart=/opt/parsedmarc/bin/parsedmarc -c /etc/parsedmarc.ini
    Restart=always
    User=parsedmarc
    
    [Install]
    WantedBy=multi-user.target
    
    sudo systemctl daemon-reload
    sudo systemctl enable --now parsedmarc
    sudo journalctl -u parsedmarc -f
    

    Bu yığın Elasticsearch/OpenSearch ve bir pano aracı gerektirdiği için en az 4 GB bellekli bir makine ister; küçük bir kutuda çalıştırmaya kalkarsanız arama motoru başlamaz. Böyle bir izleme sunucusunu ayrı tutmak istiyorsanız VDS paketleri uygun bir temel sağlar.

    Aracın Verdiği Sonuçla Ne Yapacaksınız#

    Araç seçimi kadar önemli olan, çıkan veriyi doğru okumaktır. Panoda göreceğiniz ilk şey, sizin adınıza mail gönderen tüm kaynakların listesi olacaktır ve bu liste hemen her zaman beklediğinizden uzundur: kendi posta sunucunuz, web sitenizin iletişim formu, muhasebe yazılımınız, bülten aracınız, CRM'iniz, bir de tanımadığınız IP'ler. İşin özü şudur:

    1. Kendi kaynaklarınızı tanıyın ve doğrulanmalarını sağlayın. Her meşru kaynağın ya SPF'te yer alması ya da DKIM ile imzalaması gerekir. İmza doğrulaması takılıyorsa DKIM doğrulaması başarısız yazısındaki nedenler listesi neredeyse her vakayı kapsar.
    2. Yanlış hizalanma (alignment) sorunlarını ayıklayın. SPF geçti ama DMARC başarısız olduysa sebep genellikle hizalama farkıdır: zarf gönderen alan adı ile başlıktaki From alan adı farklıdır. Bu, üçüncü parti gönderim servislerinde çok yaygındır.
    3. Politikayı kademeli yükseltin. p=none ile başlayın, envanter tamamlanınca p=quarantine ve pct değeriyle kısmi uygulamaya geçin, kararlı sonuç alınca p=reject yapın.
    4. Sonrasında da izlemeyi bırakmayın. Yeni bir pazarlama aracı satın alındığında ilk gönderim DMARC'tan düşer ve bunu yalnız raporlardan görürsünüz.

    Bu döngünün tamamı, alan adınızın adına sahte mail gönderilmesini engelleme hedefine hizmet eder; konunun bütününü e-posta spoofing önleme yazısında ele aldım. Teslimat tarafındaki eğilimi görmek için DMARC raporlarını Gmail Postmaster Tools kullanımı verileriyle birlikte okumak, tek başına her ikisinden de fazlasını söyler.

    Sık Yapılan Hatalar#

    Birinci hata, rua adresini kendi ana posta kutunuza vermektir. Raporlar günde onlarca ekli mesaj olarak gelir ve gelen kutunuzu boğar; bir süre sonra insanlar onları silmeye başlar. [email protected] gibi ayrı bir kutu açın ve yalnızca aracınız oraya erişsin.

    İkinci hata, harici raporlayıcı için gereken _report._dmarc doğrulama kaydını atlamaktır. Bunun belirtisi çok kafa karıştırıcıdır: bazı sağlayıcılardan rapor gelir, çoğundan gelmez, siz de aracın bozuk olduğunu sanırsınız. Kayıt eksikse rapor hiç gönderilmez.

    Üçüncü hata, ruf raporlarının gelmemesini bir arıza sanmaktır. Yukarıda anlattığım gibi bu bir gizlilik tercihidir, sizin yapılandırmanızla ilgisi yoktur. Analizinizi rua üzerine kurun.

    Dördüncü hata, raporlara bakıp yalnızca "başarısız" sayısına odaklanmaktır. Başarısız satırların bir bölümü meşru posta listelerinin mesajı değiştirmesinden kaynaklanır (liste sunucusu konuya etiket ekler, DKIM imzası bozulur). Bunları saldırı sanıp politikayı sıkarsanız kendi kullanıcılarınızın liste maillerini engellersiniz. Kaynağı tanımlamadan politika değiştirmeyin.

    Beşinci hata, kurulumu yapıp panoyu bir daha açmamaktır. DMARC izleme bir proje değil bir alışkanlıktır; ayda bir kez on dakika ayırıp yeni kaynakları gözden geçirmek, yılda bir kez panik yaşamaktan çok daha ucuzdur.

    Sıkça Sorulan Sorular#

    DMARC raporu toplama aracı ücretsiz mi#

    Kategoriye göre değişir. parsedmarc gibi açık kaynak araçlar yazılım olarak tamamen ücretsizdir, maliyeti yalnızca çalıştıracağınız sunucudur ve pratikte küçük bir sanal makine yeterli olmaz — arama motoru ve panolar için birkaç GB bellek gerekir. Bulut tarafında birçok sağlayıcı tek alan adı için ücretsiz özet paneli sunar; ücret genellikle alan adı sayısı, geçmiş veri saklama süresi ve uyarı özellikleriyle birlikte başlar.

    Raporlar ne sıklıkla gelir#

    Toplu raporlar tipik olarak günde bir kez gönderilir; DMARC kaydındaki ri etiketiyle farklı bir aralık isteyebilirsiniz ama sağlayıcıların çoğu bunu dikkate almaz ve günlük periyodu kullanır. Bu yüzden yeni bir kayıt yayınladıktan sonra ilk raporun gelmesi 24 saati bulabilir, tüm sağlayıcılardan düzenli akış başlaması ise birkaç gün sürer. Hiç rapor gelmiyorsa önce kaydınızın DNS'te doğru yayınlandığını kontrol edin.

    Kendi kurulumum mu bulut servisi mi daha iyi#

    Ölçeğinize ve veri politikanıza bağlıdır. Tek alan adı yönetiyor ve hızlı sonuç istiyorsanız bulut servisi net biçimde daha verimlidir; kurulum yükü yoktur ve gönderen kaynaklarını otomatik etiketler. Çok sayıda alan adınız varsa, verinin kurum dışına çıkmasını istemiyorsanız ya da zaten bir log/pano altyapınız varsa parsedmarc ile kendi kurulumunuz daha mantıklıdır. İkisini birlikte kullanmak da mümkündür, çünkü rua etiketine virgülle ayırarak birden fazla adres yazabilirsiniz.

    Aynı raporu iki ayrı araca gönderebilir miyim#

    Evet. DMARC kaydında rua etiketine virgülle ayrılmış birden çok mailto: adresi yazabilirsiniz ve sağlayıcılar raporu her adrese ayrı ayrı gönderir. Bu, bir bulut servisinden kendi kurulumunuza geçerken kesintisiz bir geçiş sağlamanın en kolay yoludur. Yalnız her harici adres için _report._dmarc doğrulama kaydının ilgili tarafta bulunması gerektiğini unutmayın.

    Rapor geliyor ama hiçbir şey anlamıyorum, nereden başlamalıyım#

    En anlamlı ilk adım, raporlardaki gönderen IP listesini çıkarıp her birini tanımaya çalışmaktır. Kendi posta sunucunuz, web siteniz ve kullandığınız üçüncü parti servisler dışında kalan IP'ler dikkat etmeniz gerekenlerdir. İkinci adım, "SPF geçti ama DMARC başarısız" satırlarına bakmaktır; bunlar neredeyse her zaman hizalama sorunudur ve düzeltilmesi kolaydır. Sayıları değil kaynakları takip edin.

    DMARC politikam none iken de rapor gelir mi#

    Evet ve zaten doğru başlangıç budur. p=none politikası alıcıya "başarısız mesajlara özel bir şey yapma, ama bana rapor gönder" der. Bu sayede hiçbir meşru mailinizi riske atmadan tam bir gönderen envanteri çıkarabilirsiniz. Envanter tamamlanıp tüm meşru kaynaklarınız doğrulanır hâle geldikten sonra politikayı kademeli olarak sıkmanız gerekir; none kalıcı bir hedef değildir.

    Raporları ne kadar süre saklamalıyım#

    Toplu raporlar için 12 ay makul bir hedeftir; mevsimsel gönderim değişimlerini ve yıllık eğilimi görebilmek için bu süre yeterlidir. Hata raporları üçüncü kişilerin mesaj içeriğini barındırabildiği için çok daha kısa saklanmalı ve erişimi kısıtlanmalıdır. Kendi kurulumunuzu yapıyorsanız arama motorunda yaşam döngüsü politikası tanımlayarak eski indeksleri otomatik silin; aksi hâlde disk zamanla dolar.

    Kapanış#

    DMARC raporlarını toplamak, DMARC'ı yayınlamanın yarısıdır; ikinci yarısı raporları gerçekten okumaktır. Aklınızda dört şey kalsın: rua adresini ayrı bir kutuya verin, harici bir raporlayıcı kullanıyorsanız _report._dmarc doğrulama kaydını mutlaka kurun, analizinizi ruf üzerine değil rua üzerine kurgulayın, ve politikayı ancak gönderen envanteriniz tamamlandıktan sonra sıkın. Araç seçiminde ölçeğinize bakın: tek alan adında bulut servisi, çok alan adında ticari platform, veri egemenliği gerektiğinde kendi parsedmarc kurulumunuz.

    Bu izlemeyi kurmak yerine posta altyapınızın tamamını hazır ve doğru yapılandırılmış almak isterseniz e-posta çözümlerimizde SPF, DKIM ve DMARC kayıtları kurulum sırasında tanımlanır. Kendi izleme yığınınızı çalıştıracaksanız VDS paketleri, kurulum ve bakımı devretmek isterseniz sunucu yönetimi hizmetimiz uygun seçeneklerdir; yüksek hacimli kampanya gönderimlerinde raporların temiz görünmesi için e-posta pazarlama tarafında ayrılmış bir gönderim altyapısı kullanmak da işinizi kolaylaştırır.

    DMARCRaporlamaE-posta Güvenliği

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.