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:
- 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.
- 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.
- 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,
permerrorhatası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
- 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).
- DNS sunucusunda doğru alan adını kullanıp kullanmadığınızı kontrol edin (örneğin,
- SPF
permerrorhatası alınıyorsa:- Birden fazla
v=spf1içeren TXT kaydı olup olmadığını kontrol edin ve bunları birleştirin. - DNS sorgulama terimlerinin sayısını (örneğin,
includeiçindeki terimler dahil) 10'un altında tutun.
- Birden fazla
- 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
- 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ı).
- DKIM
body hash mismatchhatası 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
- DMARC raporları eksikse:
ruaadresinin doğru olup olmadığını kontrol edin.- DMARC raporlarını işlemek için bir hizmet (örneğin, DMARC Analyzer) kullanın.
- SPF/DKIM doğrulanmasına rağmen DMARC başarısız oluyorsa:
Authentication-Resultsbaş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.

