X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe)
X
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe)
X
🔥 Türkiye Lokasyon VDS & VPS sunucularında %20 indirim! Kupon Kodu: Türkiye'de %20 İndirim! Kod: DATA20
Şirketimizdeki KALİTEYİ Yakından Tanıyın!

SPF, DKIM ve DMARC Nedir, Nasıl Kurulur?

SPF, DKIM ve DMARC Nedir, Nasıl Kurulur?

Gönderdiğiniz e-postalar spam klasörüne düşüyorsa veya alan adınız adına başkalarının sahte e-posta gönderdiğinden şüpheleniyorsanız, ilk kontrol etmeniz gereken üçlü SPF, DKIM ve DMARC kayıtlarıdır. Bu üç mekanizma, alıcı sunucuların bir e-postanın gerçekten sizin alan adınızdan gelip gelmediğini doğrulamasını sağlar. Bu yazıda her birinin nasıl çalıştığını, doğru DNS kaydı söz dizimini ve güvenli bir kurulum sırasını örneklerle anlatıyoruz.

Neden Bu Üç Kayda İhtiyaç Var?

E-postanın temel protokolü olan SMTP, gönderenin kimliğini doğrulamak üzere tasarlanmamıştır. Herhangi bir sunucu, "Kimden" alanına istediği adresi yazabilir. Oltalama (phishing) saldırıları ve sahte faturalar bu zayıflıktan yararlanır.

SPF, DKIM ve DMARC bu açığı katman katman kapatır:

  • SPF: Bu alan adı adına hangi sunucular e-posta gönderebilir?
  • DKIM: E-posta yolda değiştirilmedi mi ve gerçekten bu alan adının anahtarıyla imzalandı mı?
  • DMARC: SPF veya DKIM doğrulaması başarısız olursa alıcı ne yapmalı ve sonuçlar kime raporlanmalı?

Büyük e-posta sağlayıcıları, özellikle yüksek hacimli gönderim yapanlardan bu üç kaydın eksiksiz olmasını beklemektedir. Toplu gönderim yapmasanız bile bu kayıtlar teslim edilebilirliğinizi doğrudan etkiler.

SPF Nedir, Nasıl Yazılır?

SPF (Sender Policy Framework), alan adınızın kökünde yayınlanan bir TXT kaydıdır. Alıcı sunucu, e-postayı getiren sunucunun IP adresini bu listeyle karşılaştırır. SPF kontrolü, görünen "Kimden" adresine değil, SMTP oturumundaki zarf göndereni (Return-Path) alan adına göre yapılır.

example.com.  3600  IN  TXT  "v=spf1 ip4:203.0.113.20 mx include:_spf.saglayici.example.net -all"

SPF mekanizmaları

  • ip4: ve ip6: — Belirli bir IP adresi veya blok (ör. ip4:203.0.113.0/28)
  • a — Alan adının A kaydındaki IP
  • mx — Alan adının MX sunucularının IP'leri
  • include: — Başka bir alan adının SPF kaydını dahil eder (e-posta servis sağlayıcıları için)

Sondaki niteleyici

  • -all (hardfail): Listede olmayan sunucular yetkisizdir.
  • ~all (softfail): Listede olmayanlar şüphelidir, genellikle kabul edilip işaretlenir.
  • ?all (neutral): Hiçbir şey söylemez; koruma sağlamaz.
  • +all: Herkese izin verir. Asla kullanmayın.

SPF'te sık yapılan hatalar

  1. Birden fazla SPF kaydı: Alan adında yalnızca bir v=spf1 kaydı olmalıdır. Yeni bir servis eklediğinizde mevcut kayda include ekleyin, ikinci kayıt oluşturmayın.
  2. 10 DNS sorgusu sınırı: include, a, mx, exists ve redirect mekanizmaları DNS sorgusu gerektirir ve toplamı 10'u aşmamalıdır. Aşılırsa SPF "permerror" verir. ip4 ve ip6 sorgu sayısına dahil değildir.
  3. Unutulan gönderim kaynakları: Web sitenizin iletişim formu, fatura yazılımınız veya bülten servisiniz de alan adınız adına e-posta gönderiyorsa SPF'e eklenmelidir.

DKIM Nedir, Nasıl Kurulur?

DKIM (DomainKeys Identified Mail), giden e-postaya kriptografik bir imza ekler. Gönderen sunucu özel anahtarla imzalar; alıcı sunucu açık anahtarı DNS'ten alarak imzayı doğrular. İmza, e-postanın başlıklarının ve gövdesinin yolda değiştirilmediğini kanıtlar.

Açık anahtar, bir seçici (selector) adı altında yayınlanır. Seçici, aynı alan adı için birden fazla anahtar kullanabilmenizi sağlar:

mail._domainkey.example.com.  3600  IN  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA..."

Bu örnekte seçici mail'dir. E-posta başlığındaki DKIM-Signature alanında s=mail; d=example.com değerleri bulunur ve alıcı sunucu mail._domainkey.example.com adresini sorgular.

DKIM anahtarı oluşturma

cPanel, Plesk ve kurumsal e-posta hizmetleri DKIM anahtarını genellikle otomatik üretir; size yalnızca DNS kaydını eklemek kalır. Kendi Postfix sunucunuzda OpenDKIM kullanıyorsanız anahtarı şu şekilde oluşturabilirsiniz:

sudo mkdir -p /etc/opendkim/keys/example.com
sudo opendkim-genkey -b 2048 -d example.com -s mail -D /etc/opendkim/keys/example.com
sudo cat /etc/opendkim/keys/example.com/mail.txt

mail.txt dosyası DNS'e eklenecek kaydı içerir. 2048 bit RSA anahtar günümüzün önerilen değeridir. 2048 bitlik anahtar 255 karakteri aştığı için TXT kaydı birden fazla tırnaklı parçaya bölünebilir; çoğu DNS paneli bunu otomatik yapar.

DMARC Nedir, Nasıl Yazılır?

DMARC (Domain-based Message Authentication, Reporting and Conformance), SPF ve DKIM'in üzerine iki şey ekler: hizalama (alignment) ve politika.

Hizalama, doğrulanan alan adının kullanıcının gördüğü "Kimden" adresindeki alan adıyla eşleşmesi demektir. Bir e-postanın DMARC'tan geçmesi için SPF veya DKIM'den en az birinin hem başarılı hem de hizalı olması gerekir.

_dmarc.example.com.  3600  IN  TXT  "v=DMARC1; p=none; rua=mailto:[email protected]; adkim=r; aspf=r"

DMARC etiketleri

EtiketAnlamıÖrnek
vSürüm, her zaman ilk etiketv=DMARC1
pPolitika: none, quarantine veya rejectp=quarantine
ruaToplu (aggregate) raporların gönderileceği adresrua=mailto:[email protected]
spAlt alan adları için ayrı politikasp=reject
adkim / aspfHizalama modu: r (gevşek) veya s (katı)adkim=s
pctPolitikanın uygulanacağı e-posta yüzdesipct=50

Politika değerleri

  • p=none: Yalnızca izleme. E-postalar etkilenmez, raporlar gelir.
  • p=quarantine: Doğrulamayı geçemeyen e-postalar spam klasörüne yönlendirilir.
  • p=reject: Doğrulamayı geçemeyen e-postalar reddedilir.

Örnek: Birden Fazla Servis Kullanan Bir Şirket

Teoriyi somutlaştırmak için şu senaryoyu düşünelim: example.com alan adına sahip bir şirket, çalışan e-postaları için kurumsal bir e-posta servisi, web sitesindeki iletişim formu için kendi sunucusu (203.0.113.20) ve bülten gönderimi için ayrı bir pazarlama servisi kullanıyor. Doğru yapılandırma şu şekilde olur:

; Tek SPF kaydı, tüm kaynaklar birlikte
example.com.  IN  TXT  "v=spf1 ip4:203.0.113.20 include:_spf.eposta.example.net include:spf.bulten.example.org -all"

; Her servis kendi seçicisiyle DKIM yayınlar
kurumsal._domainkey.example.com.  IN  TXT  "v=DKIM1; k=rsa; p=..."
web._domainkey.example.com.       IN  TXT  "v=DKIM1; k=rsa; p=..."
bulten._domainkey.example.com.    IN  CNAME  bulten.dkim.example.org.

; Tek DMARC kaydı
_dmarc.example.com.  IN  TXT  "v=DMARC1; p=quarantine; rua=mailto:[email protected]"

Bazı servisler DKIM anahtarını doğrudan TXT yerine kendi alan adlarına işaret eden bir CNAME kaydıyla yayınlamanızı ister; böylece anahtar rotasyonunu servis kendisi yönetir. Hangi yöntemin kullanılacağını servisin kurulum ekranı belirtir. Kayıt türlerinin genel mantığını DNS kayıtları rehberimizde bulabilirsiniz.

Yönlendirme ve E-posta Listelerinde Ne Olur?

Bir e-posta otomatik yönlendirmeyle başka bir adrese iletildiğinde, son alıcı sunucu e-postayı yönlendiren sunucudan alır. Bu sunucu orijinal alan adının SPF listesinde olmadığı için SPF doğrulaması genellikle başarısız olur. DKIM imzası ise ileti değiştirilmediği sürece yönlendirmeden sağ çıkar. Bu nedenle DMARC'ın yönlendirilen e-postalarda sağlıklı çalışması büyük ölçüde DKIM'e bağlıdır; DKIM'i atlamamanızın en önemli nedenlerinden biri budur.

E-posta listeleri ise konu satırına etiket veya gövdeye alt bilgi ekleyerek DKIM imzasını bozabilir. Modern liste yazılımları bu sorunu "Kimden" adresini yeniden yazarak veya ARC (Authenticated Received Chain) başlıkları ekleyerek hafifletir.

Güvenli Kurulum Sırası

Doğrudan p=reject ile başlamak, unuttuğunuz meşru bir gönderim kaynağının (ör. fatura sistemi) tüm e-postalarının reddedilmesine yol açabilir. Önerilen sıra şudur:

  1. Gönderim kaynaklarını listeleyin: E-posta sunucunuz, web sitesi, CRM, bülten aracı, fatura yazılımı.
  2. SPF kaydını oluşturun ve tüm kaynakları tek kayıtta toplayın. Başlangıçta ~all kullanabilirsiniz.
  3. DKIM'i her gönderim kaynağı için etkinleştirin ve DNS kayıtlarını ekleyin.
  4. DMARC'ı p=none ile yayınlayın ve birkaç hafta raporları izleyin.
  5. Raporlarda bilinmeyen meşru kaynak kalmadığında p=quarantine'e, ardından p=reject'e geçin. Geçişi pct etiketiyle kademeli yapabilirsiniz.

DMARC raporları XML formatında ve sıkıştırılmış olarak gelir. Raporlar için ayrı bir posta kutusu kullanmanız ve bir rapor analiz aracıyla okumanız işinizi kolaylaştırır.

Kayıtları Doğrulamak

Kayıtları ekledikten sonra DNS'te doğru yayınlandığını komut satırından kontrol edin:

dig +short TXT example.com
dig +short TXT mail._domainkey.example.com
dig +short TXT _dmarc.example.com

Daha pratik bir yol olarak DNS sorgulama aracımız ile TXT kayıtlarını görüntüleyebilir, e-posta doğrulama aracımız ile alan adınızın e-posta yapılandırmasını kontrol edebilirsiniz.

Son adım gerçek bir test e-postasıdır. Kendinize, farklı bir e-posta sağlayıcısındaki bir adrese e-posta gönderip ileti başlıklarını (orijinali göster / ham ileti) açın. Authentication-Results başlığında şu satırları görmelisiniz:

spf=pass smtp.mailfrom=example.com
dkim=pass header.d=example.com
dmarc=pass header.from=example.com

SPF, DKIM ve DMARC Yetmiyorsa

Üç kayıt da doğru olduğu halde e-postalarınız spama düşüyorsa sorun başka katmanlardadır:

  • Ters DNS (PTR): Gönderen IP'nin PTR kaydı sunucunun ana makine adını göstermeli ve bu ad aynı IP'ye çözülmelidir. Ayrıntılar için PTR kaydı yazımıza bakın.
  • IP itibarı: Gönderen IP bir kara listedeyse doğrulama kayıtları tek başına yetmez.
  • İçerik ve gönderim davranışı: Yalnızca görselden oluşan e-postalar, kısaltılmış bağlantılar ve izinsiz listelere toplu gönderim spam puanını artırır.

Kendi sunucunuzdan e-posta göndermeyi planlıyorsanız bu konuları VDS üzerinde mail sunucusu kurmadan önce bilmeniz gerekenler yazımızda ayrıntılı ele aldık.

Sık Sorulan Sorular

SPF'te -all mı ~all mı kullanmalıyım?

Tüm gönderim kaynaklarınızı listelediğinizden eminseniz -all daha net bir politikadır. Emin değilseniz ~all ile başlayıp DMARC raporlarını inceledikten sonra -all'a geçebilirsiniz.

DMARC kaydı olmadan DKIM işe yarar mı?

Evet, DKIM tek başına da imza doğrulaması sağlar ve itibar değerlendirmesinde kullanılır. Ancak doğrulama başarısız olduğunda ne yapılacağını belirten ve raporlama sağlayan DMARC'tır.

Hiç e-posta göndermeyen bir alan adı için ne yapmalıyım?

Sahte gönderimleri engellemek için v=spf1 -all SPF kaydı ve v=DMARC1; p=reject DMARC kaydı yayınlayın. Böylece alan adınız adına gönderilen e-postalar reddedilir.

Kayıtları ekledim, ne zaman etkili olur?

Kayıtlar, DNS TTL süresine bağlı olarak genellikle dakikalar ile birkaç saat içinde etkili olur. Yeni eklenen kayıtlar önbellekte eski bir değer olmadığı için çoğunlukla hızlı görünür.

Alt alan adları için ayrı kayıt gerekir mi?

Alt alan adından e-posta gönderiyorsanız o alt alan adı için ayrı SPF ve DKIM kaydı gerekir. DMARC'ta sp etiketiyle alt alan adlarına ayrı politika tanımlanabilir.

SPF, DKIM ve DMARC birlikte doğru kurulduğunda hem e-postalarınızın teslim oranı artar hem de alan adınız sahte gönderimlere karşı korunur. Bu kayıtları sizin yerinize hazır yapılandıran, doğrulama kayıtlarını kurulumla birlikte sunan bir çözüm istiyorsanız kurumsal e-posta hizmetimizi inceleyebilir, web siteniz ve e-postanız için kurumsal hosting paketlerini değerlendirebilirsiniz.

VDS Sanal Sunucu
TÜRKİYE / ANKARA
₺139 /ay'dan başlayan
Paketleri İncele
  •  NVMe SSD Disk
  •  DDoS Koruması Dahil
  •  Limitsiz Trafik
  •  0–15 Dakikada Kurulum
  •  Windows - Linux
  •  7/24 Destek
Top
Destek Hattı0850 840 90 28

DNS Adresleri

ns1.datahost.net.tr
ns2.datahost.net.tr
DataHost Destek Çevrimiçi

Satış öncesi tüm sorularınız için WhatsApp hattımıza yazın; size hızlıca yardımcı olalım.

WhatsApp'tan Yaz