E-posta Doğrulama: SPF, DKIM ve DMARC Kılavuzu

E-posta doğrulama mekanizmaları olan SPF, DKIM ve DMARC'ın ne olduğunu, nasıl çalıştığını ve DNS kayıtlarınızı nasıl doğrulayacağınızı öğrenin.

I
ITWISE
2 görüntülenme
E-posta Doğrulama: SPF, DKIM ve DMARC Kılavuzu

E-posta Doğrulama Neden Gereklidir?

SMTP protokolü, e-posta gönderimi sırasında gönderici doğrulamasını içermez. Bu nedenle, herhangi bir sunucu example.com gibi bir alan adından e-posta gönderebilir. Bu durum, spam ve phishing saldırılarının yaygınlaşmasına yol açmaktadır.

Önemli: SPF, DKIM ve DMARC, e-posta göndericisini doğrulamak için DNS tabanlı mekanizmalar kullanır. Bu sayede, alan adınızın kimliğini koruyabilir ve sahte e-postaların önüne geçebilirsiniz.

SPF, DKIM ve DMARC Nasıl Birlikte Çalışır?

Bu üç mekanizma, e-posta teslimatının farklı aşamalarında devreye girer:

  1. SPF (Sender Policy Framework):
    • Alan adınızdan e-posta gönderebilecek sunucuların IP adreslerini belirler.
    • Alıcı sunucular, bağlantı kuran IP adresini SPF kaydındaki listeyle karşılaştırır.
  2. DKIM (DomainKeys Identified Mail):
    • Her e-postaya dijital imza ekler ve bu imza, alıcı tarafından DNS üzerinden doğrulanır.
    • İmza, e-postanın içeriğinin ve başlıklarının değiştirilmediğini garanti eder.
  3. DMARC (Domain-Based Message Authentication, Reporting & Conformance):
    • SPF veya DKIM doğrulamasının, e-postanın görünen "From" alanındaki alan adıyla uyumlu olup olmadığını kontrol eder.
    • Doğrulama başarısız olduğunda uygulanacak politikalara (örneğin, spam klasörüne taşıma) karar verir.

SPF: Gönderici Sunucuları Yetkilendirme

SPF, alan adınızın DNS kayıtlarında yer alan bir TXT kaydıdır. Bu kayıt, hangi sunucuların alan adınızdan e-posta gönderebileceğini belirtir.

Örnek SPF Kaydı:

example.com. 3600 IN TXT "v=spf1 mx ip4:203.0.113.10 include:_spf.google.com -all"

Bu kayıtta yer alan bileşenler:

  • v=spf1: SPF kaydını tanımlar.
  • mx: Alan adının MX kayıtlarında belirtilen sunucuların yetkilendirilmesini sağlar.
  • ip4:203.0.113.10: Belirli bir IP adresinin yetkilendirilmesini sağlar.
  • include:_spf.google.com: Google Workspace gibi bir sağlayıcıya e-posta gönderme yetkisi verir.
  • -all: Yetkilendirilmeyen tüm sunucular için "fail" sonucunu döndürür.

Uyarı: Birden fazla SPF kaydı oluşturmak, permerror hatasına neden olur. Ayrıca, SPF kaydında yer alan DNS sorgulama terimleri (örneğin, include, mx) sayısı 10'u geçmemelidir.

SPF Sorunlarını Giderme

  1. Yeni TXT kaydı görünmüyorsa:
    • DNS sunucusunda doğru alan adını kullanıp kullanmadığınızı kontrol edin (örneğin, @ veya alan adının kendisi).
    • DNS önbelleğinin temizlenmesi için bekleyin (TTL süresi kadar).
  2. SPF permerror hatası alınıyorsa:
    • Birden fazla v=spf1 içeren TXT kaydı olup olmadığını kontrol edin ve bunları birleştirin.
    • DNS sorgulama terimlerinin sayısını (örneğin, include içindeki terimler dahil) 10'un altında tutun.
  3. SPF doğrulanmasına rağmen DMARC başarısız oluyorsa:
    • SPF doğrulamasının, e-postanın görünen "From" alanındaki alan adıyla uyumlu olup olmadığını kontrol edin.
    • Gönderici alanını (Return-Path) veya DKIM imzalama alanını özelleştirin.

DKIM: E-postaları İmzalama

DKIM, e-postalara dijital imza eklemek için açık anahtar kriptografisini kullanır. İmza, e-postanın içeriğinin ve başlıklarının değiştirilmediğini garanti eder.

Örnek DKIM Kaydı:

default._domainkey.example.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A..."

Bu kayıtta yer alan bileşenler:

  • default: Seçici adıdır. İmzalayan sunucu, her imzada bu seçiciyi kullanır.
  • v=DKIM1: DKIM versiyonunu tanımlar.
  • k=rsa: İmzalama algoritmasını belirtir (genellikle RSA).
  • p=...: Açık anahtarın base64 kodlu değeri.

Not: DKIM, e-postaları imzalamak için sunucuda özel yazılıma ihtiyaç duyar. Örneğin, Postfix için OpenDKIM veya Rspamd kullanılabilir. Hosted sağlayıcılar, genellikle size gerekli kayıtları ve anahtarları sağlar.

DKIM Sorunlarını Giderme

  1. DKIM imzası doğrulanmıyorsa:
    • Yayınlanan seçici ve açık anahtarın, aktif imzalama sunucusuyla eşleştiğinden emin olun.
    • E-postanın gövdesinde veya başlıklarında değişiklik olup olmadığını kontrol edin (örneğin, mailing list footer'ları).
  2. DKIM body hash mismatch hatası alınıyorsa:
    • E-postanın gövdesinde değişiklik yapıldığını tespit edin (örneğin, güvenlik geçidi veya forwarding hizmeti).
    • Doğrudan teslim edilen bir e-posta ile karşılaştırın ve yayınlanan kayıtların doğru olduğundan emin olun.

DMARC: Politika ve Raporlama

DMARC, SPF veya DKIM doğrulamasının, e-postanın görünen "From" alanındaki alan adıyla uyumlu olup olmadığını kontrol eder. Ayrıca, doğrulama başarısız olduğunda uygulanacak politikalara karar verir.

Örnek DMARC Kaydı:

_dmarc.example.com. 3600 IN TXT "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com"

Bu kayıtta yer alan bileşenler:

  • v=DMARC1: DMARC versiyonunu tanımlar.
  • p=none: Doğrulama başarısız olduğunda herhangi bir eylem uygulanmaz (yalnızca raporlama için kullanılır).
  • p=quarantine: Doğrulama başarısız olduğunda e-postalar spam klasörüne taşınabilir.
  • p=reject: Doğrulama başarısız olduğunda e-postalar reddedilebilir.
  • rua=mailto:...: Raporların gönderileceği e-posta adresini belirtir.

Not: DMARC politikalrı, alıcı sunucular tarafından zorunlu olarak uygulanmaz. Alıcı sunucular, diğer faktörleri de dikkate alabilir.

DMARC Sorunlarını Giderme

  1. DMARC raporları eksikse:
    • rua adresinin doğru olup olmadığını kontrol edin.
    • DMARC raporlarını işlemek için bir hizmet (örneğin, DMARC Analyzer) kullanın.
  2. SPF/DKIM doğrulanmasına rağmen DMARC başarısız oluyorsa:
    • Authentication-Results başlığında yer alan SPF ve DKIM doğrulama sonuçlarını inceleyin.
    • Gönderici alanını (Return-Path) veya imzalama alanını özelleştirin.

DNS Kayıtlarınızı Doğrulama

SPF, DKIM ve DMARC kayıtlarınızın doğru şekilde yayınlandığından emin olmak için dig komutunu kullanabilirsiniz.

SPF Kaydını Kontrol Etme

dig +short example.com TXT

Çıktıda yalnızca bir v=spf1 başlayan kayıt olup olmadığını doğrulayın.

DKIM Kaydını Kontrol Etme

dig +short default._domainkey.example.com TXT

Uzun açık anahtarlar, birden fazla tırnak içine alınmış dize olarak görünebilir. Bunlar birleştirilerek tek bir kayıt oluşturulur.

DMARC Kaydını Kontrol Etme

dig +short _dmarc.example.com TXT

İpucu: E-posta doğrulamalarını son olarak Gmail'e gönderilen bir e-postanın "Show original" (Orijinali göster) seçeneğiyle inceleyebilirsiniz. Bu seçenek, SPF, DKIM ve DMARC sonuçlarını görüntüler.

Hızlı Başvuru Tablosu

Mekanizma Alıcı Tarafından Kontrol Edilen DNS Kayıt Konumu Örnek Değer
SPF Bağlantı kuran IP adresinin yetkilendirilmesi TXT kaydı (örneğin, example.com) v=spf1 mx -all
DKIM Seçiciye ait açık anahtarla imzanın doğrulanması TXT kaydı (örneğin, default._domainkey.example.com) v=DKIM1; k=rsa; p=
DMARC SPF veya DKIM doğrulamasının "From" alanındaki alan adıyla uyumu TXT kaydı (örneğin, _dmarc.example.com) v=DMARC1; p=none; rua=mailto:...

Sonuç

SPF, DKIM ve DMARC, e-posta göndericisini doğrulamak ve alan adınızın kimliğini korumak için birlikte çalışır. Bu mekanizmaları doğru şekilde yapılandırarak, e-postalarınızın spam klasörüne düşmesini ve sahte e-postaların yayılmasını önleyebilirsiniz.

Kaynaklar: Bu makale, Linuxize ve Google belgelerinden derlenmiştir.

Kaynak

Linuxize