SPF nedir?
SPF (Sender Policy Framework), alan adı sahiplerinin kendi adlarına e-posta göndermeye yetkili posta sunucularını belirtmesini sağlayan bir e-posta kimlik doğrulama yöntemidir. Alıcı posta sunucuları, gelen e-postanın yetkili bir kaynaktan gelip gelmediğini doğrulamak için alan adının SPF kayıtlarını kontrol eder.SPF neden önemlidir?
SPF olmadan herkes alan adınızdan geliyormuş gibi görünen e-postalar gönderebilir (sahtecilik). SPF şunlara yardımcı olur:
- Kimlik avını önleme: Saldırganların alan adınızı taklit etmesini zorlaştırır
- Teslim edilebilirliği iyileştirme: E-posta sağlayıcıları kimliği doğrulanmış iletilere daha çok güvenir
- İtibarı koruma: Sahte spam iletilerinin alan adı itibarınıza zarar vermesini önler
- DMARC'ı etkinleştirme: SPF, DMARC politikalarının temel yapı taşlarından biridir
SPF nasıl çalışır?
1. Alan adı sahibi yayımlar: DNS'te bir SPF kaydı (TXT) yayımlar
2. Gönderenin posta sunucusu gönderir: @example.com adresinden geldiğini belirten e-posta gönderir
3. Alıcının posta sunucusu arar: example.com alan adının SPF kaydını sorgular
4. Sunucu kontrol eder: Gönderen IP adresinin yetkili olup olmadığını denetler
5. Sonuç uygulanır: Pass, fail, softfail veya neutral sonucu uygulanır
SPF kayıt sözdizimi
SPF kaydı, belirli bir biçime sahip bir TXT kaydıdır:
v=spf1 [mechanisms] [qualifier]all
Örnek SPF kayıtları
Temel (tek posta sunucusu):v=spf1 ip4:203.0.113.50 -all
Google Workspace:
v=spf1 include:_spf.google.com ~all
Birden çok hizmet:
v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.50 -all
SPF mekanizmaları
| Mekanizma | Açıklama | Örnek |
|---|---|---|
| ip4 | IPv4 adresi veya aralığı | ip4:203.0.113.0/24 |
| ip6 | IPv6 adresi veya aralığı | ip6:2001:db8::/32 |
| include | Başka bir alan adının SPF'sini dahil eder | include:_spf.google.com |
| a | Alan adının A kaydı IP adresleri | a:mail.example.com |
| mx | Alan adının MX sunucusu IP adresleri | mx |
| all | Tümüyle eşleşir (genellikle son sırada) | -all, ~all, ?all |
Niteleyiciler
| Niteleyici | Sonuç | Anlamı |
|---|---|---|
| + (varsayılan) | Pass | Yetkili gönderici |
| - | Fail | Yetkisiz, reddet |
| ~ | SoftFail | Muhtemelen yetkisiz, kabul et fakat işaretle |
| ? | Neutral | Politika beyanı yok |
SPF uygulaması için en iyi uygulamalar
SoftFail ile başlayın
SPF'yi ilk kez uygularken meşru e-postaları reddetmemek için ~all kullanın:
v=spf1 include:_spf.google.com ~all
Fail'e geçin
Çalıştığı doğrulandıktan sonra katı uygulama için -all kullanın:
v=spf1 include:_spf.google.com -all
DNS aramalarını 10'un altında tutun
SPF en fazla 10 DNS aramasına izin verir (include, a, mx, redirect, exists). Bu sınırın aşılması SPF hatalarına neden olur.
# Counts as DNS lookups:
include:_spf.google.com # 1 (plus nested includes)
a:mail.example.com # 1
mx # 1
# Does NOT count:
ip4:203.0.113.50 # 0
ip6:2001:db8::1 # 0
Yalnızca bir SPF kaydı kullanın
Birden çok SPF kaydı doğrulama hatalarına neden olur. Tüm mekanizmaları tek bir kayıtta birleştirin:
# Wrong - two SPF records
v=spf1 include:_spf.google.com ~all
v=spf1 include:sendgrid.net ~all
# Correct - combined
v=spf1 include:_spf.google.com include:sendgrid.net ~all
SPF kayıtlarını kontrol etme
dig kullanarak:dig example.com TXT | grep spf
DomScan kullanarak:
curl "https://domscan.net/v1/health?domain=example.com"
# Returns hasSPF status
Çevrim içi doğrulayıcılar: MXToolbox, mail-tester.com
Yaygın SPF sorunları
Çok fazla DNS araması
Belirti: SPF permerror
Çözüm: include kayıtlarını düzleştirin veya daha az harici hizmet kullanın
Eksik üçüncü taraf hizmetleri
Belirti: Meşru e-posta SPF doğrulamasından geçemiyor
Çözüm: Tüm gönderim hizmetleri (pazarlama araçları, CRM ve diğerleri) için include/ip4 ekleyin
Fazla izin veren SPF
Belirti: Sahte e-posta SPF doğrulamasından geçiyor
Sorun: +all kullanılması veya çok fazla hizmetin dahil edilmesi
Çözüm: Yetkili göndericileri denetleyip kısıtlayın
SPF, e-posta kimlik doğrulaması için gereklidir; kapsamlı koruma sağlamak için DKIM ve DMARC ile birlikte en iyi şekilde çalışır.